DLL source code

Started by
5 comments, last by ryan009ryan 14 years, 1 month ago
Hi, I want to see source code storm.dll file from "war craft 3 Frozen Throne". But i have not respected storm.lib file. Can i see it source code ? Can i make respected LIB file ? Basically i want to track game data from game environment through this DLL file. I am looking how WAR CRAFT 3 maintain his database record for each player. Give me some technical stuffs regarding this DLL. Thanks
Advertisement
In a word, No.

Since you don't have the development experience neccesary to see why you can't (and shouldn't ask to) do what you are asking, you should go learn some fundamentals of how C/C++ compilers work, particularly how linking and dlls work.

Specifically, a DLL is already compiled to an executable file, so unless you happen to work at blizzard, it will be impossible to accurately recover the original C/C++ source code for that library. Some developers do this intentionally as one of several anti-modding and anti-cheating mechanisms in the game. If you would like to *learn* how a game like Warcraft III may be created, may I suggest downloading and compiling the source code to GLest, which is a damn good open-source 3D fantasy RTS.

You're asking about reverse engineering.
It's not possible to see the source code of a compiled DLL (in the general case), though you can attempt to decompile it and study the assembly, etc...
Some things you can do with a DLL:

- See a list of all the publically exported functions (difficulty: easy)
- See all the string literals (difficulty: easy)
- Figure out the types of the exported functions by examining how they use the stack (difficulty: medium)
- Figure out what it does by examining the machine code (difficulty: hard)

If I was going to reverse engineer a DLL, the first thing I would do is load it in Python with ctypes, and just try calling each exported function with plausible arguments.
ok.. I was also guessing same.

I have not source code of WC3 TFT. Can i track gaming data from game environment of WC3TFT like garena does. I want to know win/loss of player and their scores. That's why i guessed to go through storm.dll file. Plz never mind , this topic become out of his title. But this is my main concern. If u have any technical idea plz tell me.
People have already reverse engineered header files for storm.dll - you can find them with Google.

However, it probably won't help with what you're doing. Storm.dll is the code for Blizzard's file archiver - you can use it to look through saved games archives or .mpq resource archives, but it doesn't contain functionality to look at a running game environment or functionality to query a battle.net account for player statistics.


Quote:If I was going to reverse engineer a DLL, the first thing I would do is load it in Python with ctypes, and just try calling each exported function with plausible arguments.

storm.dll exports everything by ordinal, not name and contains code that corrupts the internal state if it's loaded using LoadLibrary.
Hi --Nitage--

It seems u know more thing about this.
Can u say what i should see. I have given much time for this track. I am seeing when i returned from game environment only one file is being modified this is inside of "multilayer" folder and this has ".w3z" format. I can't see its data format. How will i see record of player? I need help.

Thanks

This topic is closed to new replies.

Advertisement