0

I am reverse engineering a very old game and when I load up the executable in Ghidra, I see a handful of imported dlls

enter image description here

I do however not see one of the DLLs the game uses to wrap various client rendering Direct X 7 calls. I have loaded (and analyzed the separate dll) but can't seem to figure out how I can get the game exe to recognize the dll. My hope is (because the DLL has function names that I can see via Dependency Walker), that I can see the calls by name to the DLL. I am able to see them via ollydbg (possibly because the game is running).

Am I missing something?

I found this post here which looks relevant.

I do not see the EXTERNAL identifier, but instead something like this:

iVar3 = (*(code *)FLOAT_006e5188)(param_1[1],iVar3,&local_24);

This is a function pointer pointing towards the function in the DLL. How can I fix this?

1

You can specify external DLLs in the Import dialog when you first load the binary into Ghidra. There, click on the "Options..." button. Then, check "Load External Libraries" and make sure the Game's DLLs are a directory on the list that appears after clicking "Edit Paths".

Dialogs in Ghidra to add external libraries

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.