1
- 1 . \` data .ini\`
1
+ # Data .ini
2
2
3
- ** DATA.INI** is a client-side file, which is used to specify multiple [ GRF] ( GRF " wikilink " ) archives to be loaded by the
4
- client. It is only supported by [ hexed] ( Hexing " wikilink " ) clients, which have been diffed with the option * \[ Data\]
5
- Enable Multiple GRFs* . Official clients for main servers and [ Sakray] ( Sakray " wikilink " ) read data.grf, and rdata.grf or
3
+ ** DATA.INI** is a client-side file, which is used to specify multiple [ GRF] ( ./grf.md ) archives to be loaded by the
4
+ client. It is only supported by [ hexed] ( ./hexing.md ) clients, which have been diffed with the option * \[ Data\]
5
+ Enable Multiple GRFs* . Official clients for main servers and [ Sakray] ( ../basics/sakray.md ) read data.grf, and rdata.grf or
6
6
sdata.grf respectively.
7
7
8
8
## File Format
@@ -12,19 +12,24 @@ The file follows default [INI file](https://en.wikipedia.org/wiki/INI_file) conv
12
12
the GRF archive name as value. The file is stored in the same folder as the client it is supposed to be used by. Typical
13
13
DATA.INI:
14
14
15
- ` [data] `
16
- ` 0=yourserver.grf `
17
- ` 1=rdata.grf `
18
- ` 2=data.grf `
15
+ ```
16
+ [data]
17
+ 0=yourserver.grf
18
+ 1=rdata.grf
19
+ 2=data.grf
20
+ ```
21
+
22
+ - ` yourserver.grf `
19
23
20
- yourserver.grf
21
24
Normally the archive of your server is on the position 0 to override all other archives.
22
25
23
- rdata.grf
26
+ - ` rdata.grf `
27
+
24
28
Contains data from the test server, before it gets into data.grf, allowing to use pre-release content. For old Sakray
25
29
clients this archive was called ** sdata.grf** .
26
30
27
- data.grf
31
+ - ` data.grf `
32
+
28
33
The official main archive, which hosts the most vital data for the client. If it is missing, the client is most likely
29
34
to crash during start-up.
30
35
@@ -33,7 +38,7 @@ Maximum amount of archives, that can be specified, is 10.
33
38
## Other Names
34
39
35
40
You can also rename the ** DATA.INI** file to any name that is 8 characters long (including the extension). Then, just
36
- edit your client with a [ Hex Editor] ( Hex_Editor " wikilink " ) . Find DATA.INI and replace with your new filename.
41
+ edit your client with a [ Hex Editor] ( ./hex-editor.md ) . Find DATA.INI and replace with your new filename.
37
42
38
43
### Advanced name modification
39
44
@@ -44,10 +49,7 @@ Start up OllyDbg, go to menu File -\> Open and find the client executable to pat
44
49
take a while, but once the progress bar on the button is gone, right click into the code window, choose "Search for" and
45
50
"All referenced text strings".
46
51
47
- <figure >
48
- <img src =" Datainiedit1.png " title =" Datainiedit1.png " />
49
- <figcaption >Datainiedit1.png</figcaption >
50
- </figure >
52
+ <center ></center >
51
53
52
54
After another short while, all found and referenced strings are shown, you are interested in "DATA.INI" of course. Press
53
55
"Home" key on your keyboard to get to the top of the list, then right click the list, and choose "Search for text". In
@@ -56,30 +58,21 @@ the popup window, enter "data.ini" (without quotes), uncheck case-sensitive, che
56
58
The selection inside the list should jump to a line with ".\data.ini" inside it (unless the diff has changed since I
57
59
last used diffs, a few years ago).
58
60
59
- <figure >
60
- <img src =" Datainiedit3.png " title =" Datainiedit3.png " />
61
- <figcaption >Datainiedit3.png</figcaption >
62
- </figure >
61
+ <center ></center >
63
62
64
63
Press "Enter" key on your keyboard while the entry is highlighted, which should move you to the code position, where the
65
64
string is used. Also as you could see in the list, the code shows, that there are two occurrences in the code, where
66
65
".\data.ini" is used.
67
66
68
- <figure >
69
- <img src =" Datainiedit4.png " title =" Datainiedit4.png " />
70
- <figcaption >Datainiedit4.png</figcaption >
71
- </figure >
67
+ <center ></center >
72
68
73
69
In my case, there is a lot of space after the text strings at offset 0x68dd38, so you just need to change the two
74
70
occurrences to point there. To do that, mark one of the lines, that refer to ".\data.ini" (PUSH 68DCF9 in this case) and
75
71
hit "Space" key on your keyboard, which opens a assembling line. All you have to do is to update the value (68DCF9), to
76
72
the offset, where you intend to place your new name (68DD38), after editing click "Assemble", then "Cancel". Repeat the
77
73
same for the other line as well. The edited lines should turn red.
78
74
79
- <figure >
80
- <img src =" Datainiedit5.png " title =" Datainiedit5.png " />
81
- <figcaption >Datainiedit5.png</figcaption >
82
- </figure >
75
+ <center ></center >
83
76
84
77
Now you could also add the string in there, but that can be done more easily inside the hex editor later. Note, that the
85
78
offset inside OllyDbg (and most of the assemblers) is actual offset +0x400000, so you need to subtract the value, to get
@@ -89,18 +82,12 @@ copy; unless you modified something else as well, clicking "Copy All" will do. A
89
82
modified file (title bar icon "D"). Right click it's contents and choose "Save file" and save the file under a name of
90
83
your choice.
91
84
92
- <figure >
93
- <img src =" Datainiedit6.png " title =" Datainiedit6.png " />
94
- <figcaption >Datainiedit6.png</figcaption >
95
- </figure >
85
+ <center ></center >
96
86
97
87
You can close OllyDbg now, remains setting the new name. As said before, you need to convert the disassembler offset, to
98
88
an absolute one and go to that offset on a hex editor of your choice.
99
89
100
- <figure >
101
- <img src =" Datainiedit7.png " title =" Datainiedit7.png " />
102
- <figcaption >Datainiedit7.png</figcaption >
103
- </figure >
90
+ <center ></center >
104
91
105
92
The first mark shows the old position of the name, which is no longer used, the second mark, is on the offset, where the
106
93
new name is read. As you seen in this case, you have plenty of space. Make sure, that the name ends with a zero byte
0 commit comments