Jump to content
  • Advertisement
Sign in to follow this  
ryan009ryan

DLL source code

This topic is 3122 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

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

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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...

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!