Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

[Tutorial] Search EDF structures in IDA Pro 7.0

Newbie Spellweaver
Joined
Aug 16, 2017
Messages
84
Reaction score
34
After several weeks examining with IDA Pro the binary DBO.exe I have managed to find structures of the edf tables for the Taiwan client.I have done this tutorial using IDA Pro 7.0 with Hex RaysTo find them yourself follow these steps:

1) Open IDA Pro and when a window appears choose the option "New" and find your DBO.exe, choose it and click on open.
FrzpJyt - [Tutorial] Search EDF structures in IDA Pro 7.0 - RaGEZONE Forums
ivanlamega - [Tutorial] Search EDF structures in IDA Pro 7.0 - RaGEZONE Forums

2) The following window will appear and you should leave the data as you see it in the image and then click on Ok (if a warning message appears just press Ok):
urI0UcJ - [Tutorial] Search EDF structures in IDA Pro 7.0 - RaGEZONE Forums
IDA will start analyzing the binary, this may take a little time depending on your computer.You can see the progress here:
zyrli2Y - [Tutorial] Search EDF structures in IDA Pro 7.0 - RaGEZONE Forums
3) Once IDA finishes analyzing we can start looking for the structures

Let's look for the structure of "table_world_data"

4) We go to Search -> sequence of bytes ... and look for "worldtable" without quotes and give ok and then yes
e8VgcgF - [Tutorial] Search EDF structures in IDA Pro 7.0 - RaGEZONE Forums
5) Select the option that resembles the image and double click, this will lead to an address in memory:
w1MzOuh - [Tutorial] Search EDF structures in IDA Pro 7.0 - RaGEZONE Forums
We will arrive at a place like this
IaPLzL - [Tutorial] Search EDF structures in IDA Pro 7.0 - RaGEZONE Forums
6) If we read right just above there is a function that looks a lot like what we are looking for "WorldTable":
LzEMNz2 - [Tutorial] Search EDF structures in IDA Pro 7.0 - RaGEZONE Forums
7) We select it and press the X key on the keyboard and a window like this will appear:
msijTAo - [Tutorial] Search EDF structures in IDA Pro 7.0 - RaGEZONE Forums
8) In that same window we double-click the first option and it will take us to this address marked in gray:
9VWvQ7r - [Tutorial] Search EDF structures in IDA Pro 7.0 - RaGEZONE Forums
9) Select the option indicated by the red arrow and press the X key again:
9ZiJgn2 - [Tutorial] Search EDF structures in IDA Pro 7.0 - RaGEZONE Forums
10) We double click on the option that appears and will take us to the following address:
XFpTKlD - [Tutorial] Search EDF structures in IDA Pro 7.0 - RaGEZONE Forums
11) If we look above we will see the name of the structure:
dMqyMWY - [Tutorial] Search EDF structures in IDA Pro 7.0 - RaGEZONE Forums
12) If we look below we will see a list of dd offset...
7mYXaNF - [Tutorial] Search EDF structures in IDA Pro 7.0 - RaGEZONE Forums
13) If we count 5 from the bottom up, we will position ourselves in this function:
DH9dlOB - [Tutorial] Search EDF structures in IDA Pro 7.0 - RaGEZONE Forums
14) We double click on the selected function and it will take us to its definition:
tEImHz1 - [Tutorial] Search EDF structures in IDA Pro 7.0 - RaGEZONE Forums
15) Pressing F5 Hex rays will decompile the selected function:
krtR2KL - [Tutorial] Search EDF structures in IDA Pro 7.0 - RaGEZONE Forums
16) We will see a function automatically renamed by IDA and in it we will see its arguments, we select with a click the second argument (the one that indicates the red arrow in the image)we right click on the selected argument and click on Create new struct type
si6shnD - [Tutorial] Search EDF structures in IDA Pro 7.0 - RaGEZONE Forums
17) And by magic we will obtain the structure of the EDF:
1Z2CMaw - [Tutorial] Search EDF structures in IDA Pro 7.0 - RaGEZONE Forums

To find the rest of the structures, repeat the steps with a new table.

I hope you find it helpful, it took me a long time to find this, I hope you get the most out of it. If you learn something new by following the tutorial, be kind and share it here to continue learning.




Note: If we go to Search -> sequence of bytes ... and type "table_" without quotes and mark the following options
mQAFlC2 - [Tutorial] Search EDF structures in IDA Pro 7.0 - RaGEZONE Forums
and then we give Ok and then yes we can see all the names of tables that load the game
hNbnJkF - [Tutorial] Search EDF structures in IDA Pro 7.0 - RaGEZONE Forums
 

Attachments

You must be registered for see attachments list
Last edited:
Newbie Spellweaver
Joined
May 25, 2014
Messages
45
Reaction score
14
Just one thing, the images don't work xD

Regardless, this was a great tutorial! Keep it up! :D
 
Newbie Spellweaver
Joined
Aug 16, 2017
Messages
84
Reaction score
34
The images do work, you must click on the "show" button of the spoiler. :):
 
Newbie Spellweaver
Joined
May 25, 2014
Messages
45
Reaction score
14
One thing I noticed when using this method to get the EDF structures is that when you decompile the assembly to get the structure, the structure includes the padding inside the EDF.
 
Back
Top