Reverse engineering nvfbc.dll (Nvidia frame buffer capture)

Iran

New Member
Has anyone worked on reverse engineering this dll? It contains code for all the different Nvidia frame buffer capture modes, to system ram, cuda, directX, hardware accelerated h264 etc. It's used for capturing by ShadowPlay and the Nvidia GRID SDK.

I've been working on it for a couple of days just for fun and the DLL is just a wrapper around some internal functions from nvapi.dll. I managed to document quite a bit but some buffers still don't make much sense. There are 3-5 functions imported from nvapi.dll responsible for doing the whole process of doing a frame buffer capture to system RAM and it doesn't seem so hard to document it all and write your own clone.

My main problem is that I don't actually have a video card which supports Nvidia's frame buffer stuff (basically I'm missing a video card which can run ShadowPlay).

I have a lot of info mapped out but there isn't a point to writing it all out unless people are interested. I'm looking for a developer/programmer who has a card which supports ShadowPlay and knows how to debug a DLL/work with x86 asm.

So is anyone interested? Hopefully we'll be able to finally get rid of the FPS lag from the awful methods of hooking a game, would also force AMD and Intel to add their own exposed APIs for grabbing the frame buffer.

Here's a screenshot to show I'm not bullshitting: https://imgrush.com/1l3GnP27_BwP.png
 
Last edited:

Boildown

Active Member
Are you located in Iran? If not, the GTX750 is pretty cheap and does the NVEnc thing really well (it is Maxwell 1.0). If yes, might have to wait for the nuke deal and sanctions being lifted. :P
 
Top