Newbie Spellweaver
- Joined
- Jan 9, 2007
- Messages
- 19
- Reaction score
- 0
Hi to all, I want to share with you the following tutorial of like adding your own .ini to anyone GameServer, I Make this tutorial in another forum and today I share it with you.
I hope is easy to them to understand... consider that this can apply it to any GameServer.
First that we must have, they are offset of each function that we wish to include in our .ini file. It will let next small offset research to them of GS 1.00.16 to use like example.
Monster ELF ORB's:
Monster -----|------ Offset
**********************
Gobling -------|------4B368C
- -
Stone -------|------4B369B
- -
Assasin -------|------4B36AA
- -
Elite Yetti -----|-----4B36B9
- -
Dark Knigth ----|----4B36C8
- -
Bary-----------|-----4B3248
- -
Soldier --------|-----4B327C
(Note: The Name of "Monster" Represent the original Monster of the ORB Summon Elfs.)
Monster of Transformation Rings:
Monster ---------|-------- Offset
***************************
Dragon--------|-------- 4B472E
- -
Giant-------------|-------- 4B4737
- -
Skeleton----------|-------- 4B4740
- -
Poison------------|-------- 4B4749
- -
Thunder Linch-----|-------- 4B4752
- -
Death Cown-------|-------- 4B497A
(Nota: The Name of the "Monster" Represent the original Monster of the rings.)
Minimum Memmbers for Guild Alliance
OFFSET : 45537D
Chaos Castle Minimum member entrance
OFFSET : 53BC33
ChaosMachine Items +10
OFFSET : 49136F
ChaosMachine Items +11
OFFSET : 49139A
ChaosMachine Items +12
OFFSET : 4913C5
ChaosMachine Items +13
OFFSET : 4913F0
Price: Jewel of Chaos
OFFSET : 508489
% Chaos Drops
OFFSET : 405E7E
Price: Jewel of Life
OFFSET : 5084AB
% Lifes Drops
OFFSET : 405EAD
Price: Jewel of Creations
OFFSET : 5084CC
% Creations Drops
OFFSET : 405EDC
Price: Jewel of Bless
OFFSET : 508467
% Bless Drops
OFFSET : 405E20
Price: Jewel of Soul
OFFSET : 508446
% Soul Drops
OFFSET : 405E4F
~ % Books of Wizard Drops
OFFSET : 405F29
~ % Exellent Items Drops
OFFSET : 41A493
Ok, with that was enough to explain to them briefly :juggle:
Having you already them Offset of the functions that wish to add on your .ini we has left to begin to work in it.
In order to work in this you need the OllyDBG:
Once downloaded the OllyDBG, we'll load our GameServer.exe in Olly:
Now we needed to find free space on our GS to be able to inject our .ini
Ok, now that already we have offset and the free space on the GameServer only we must inject ours code to add our own .ini
This is of the following Form:
Explanation of exposed Editable Code:
PUSH XXXXX: XXXXX It represents a Offset with Free space where we wrote the Name of ours ini (In the example, Custom.ini)
PUSH YYYYY: YYYYY it represents a Offset with free space where we wrote the name of the function that we wished to add to ours .ini ( in the example I Add Assasin (Orb Elf))
MOV DWORD PTR DS:[4B36AA],EAX :
4B36AA = this is the offset to which we will move the value that we assign in ours INI, Remember that in my example we're adding the option to change the Monster "Assasin" of the Orb of the Elfs,therefore the offset that this position now is the one of the Assasin Orb. (Review the offset research)
Ready you already have added your first option to your own .ini file, Now you will have to repeat that step so many times As options want to add.
When you finish adding all the options that you want, you'll need to add 2 lines more to the code:
Your code when finalizing would have to be of the following way:
NOTE: Remember that the last 2 lines must add them AFTER adding all the options that you want !!!
Pic Example:
Ok, Now single we must save the changes. (Right Click --> Copy to Executable --> All Modifications (Click in Copy ALL) --> Soon They give right Click on the screen that will appear to them and click in Save File.
Once saved the changes, We pressed keys CTRL+F2 and we went to the Offset where we added our .INI there we'll see as left has our work
Soon we created a File ini that contains the following thing:
I hope is easy to them to understand... consider that this can apply it to any GameServer.
First that we must have, they are offset of each function that we wish to include in our .ini file. It will let next small offset research to them of GS 1.00.16 to use like example.
Monster ELF ORB's:
Monster -----|------ Offset
**********************
Gobling -------|------4B368C
- -
Stone -------|------4B369B
- -
Assasin -------|------4B36AA
- -
Elite Yetti -----|-----4B36B9
- -
Dark Knigth ----|----4B36C8
- -
Bary-----------|-----4B3248
- -
Soldier --------|-----4B327C
(Note: The Name of "Monster" Represent the original Monster of the ORB Summon Elfs.)
Monster of Transformation Rings:
Monster ---------|-------- Offset
***************************
Dragon--------|-------- 4B472E
- -
Giant-------------|-------- 4B4737
- -
Skeleton----------|-------- 4B4740
- -
Poison------------|-------- 4B4749
- -
Thunder Linch-----|-------- 4B4752
- -
Death Cown-------|-------- 4B497A
(Nota: The Name of the "Monster" Represent the original Monster of the rings.)
Minimum Memmbers for Guild Alliance
OFFSET : 45537D
Chaos Castle Minimum member entrance
OFFSET : 53BC33
ChaosMachine Items +10
OFFSET : 49136F
ChaosMachine Items +11
OFFSET : 49139A
ChaosMachine Items +12
OFFSET : 4913C5
ChaosMachine Items +13
OFFSET : 4913F0
Price: Jewel of Chaos
OFFSET : 508489
% Chaos Drops
OFFSET : 405E7E
Price: Jewel of Life
OFFSET : 5084AB
% Lifes Drops
OFFSET : 405EAD
Price: Jewel of Creations
OFFSET : 5084CC
% Creations Drops
OFFSET : 405EDC
Price: Jewel of Bless
OFFSET : 508467
% Bless Drops
OFFSET : 405E20
Price: Jewel of Soul
OFFSET : 508446
% Soul Drops
OFFSET : 405E4F
~ % Books of Wizard Drops
OFFSET : 405F29
~ % Exellent Items Drops
OFFSET : 41A493
Ok, with that was enough to explain to them briefly :juggle:
Having you already them Offset of the functions that wish to add on your .ini we has left to begin to work in it.
In order to work in this you need the OllyDBG:
You must be registered to see links
Once downloaded the OllyDBG, we'll load our GameServer.exe in Olly:
Now we needed to find free space on our GS to be able to inject our .ini
Ok, now that already we have offset and the free space on the GameServer only we must inject ours code to add our own .ini
This is of the following Form:
PHP:
PUSH XXXXX ; ASCII "Custom.ini"
MOV ECX,AC57B58
CALL 402F31
PUSH EAX
PUSH 0
PUSH YYYYY ; |Key = "Assasin"
PUSH ZZZZZ ; |Section =" CommonOptions"
CALL DWORD PTR DS:[C65CF08] ; \GetPrivateProfileIntA
MOV DWORD PTR DS:[4B36AA],EAX
Explanation of exposed Editable Code:
PUSH XXXXX: XXXXX It represents a Offset with Free space where we wrote the Name of ours ini (In the example, Custom.ini)
PUSH YYYYY: YYYYY it represents a Offset with free space where we wrote the name of the function that we wished to add to ours .ini ( in the example I Add Assasin (Orb Elf))
MOV DWORD PTR DS:[4B36AA],EAX :
4B36AA = this is the offset to which we will move the value that we assign in ours INI, Remember that in my example we're adding the option to change the Monster "Assasin" of the Orb of the Elfs,therefore the offset that this position now is the one of the Assasin Orb. (Review the offset research)
Ready you already have added your first option to your own .ini file, Now you will have to repeat that step so many times As options want to add.
When you finish adding all the options that you want, you'll need to add 2 lines more to the code:
Code:
PUSH 69E598 ; ASCII "commonserver.cfg"
JMP 521AD9
Your code when finalizing would have to be of the following way:
PHP:
PUSH XXXXX ; ASCII "Custom.ini"
MOV ECX,AC57B58
CALL 402F31
PUSH EAX
PUSH 0
PUSH YYYYY ; |Key = "Assasin"
PUSH ZZZZZ ; |Section =" CommonOptions"
CALL DWORD PTR DS:[C65CF08] ; \GetPrivateProfileIntA
MOV DWORD PTR DS:[4B36AA],EAX
PUSH 69E598 ; ASCII "commonserver.cfg"
JMP 521AD9
NOTE: Remember that the last 2 lines must add them AFTER adding all the options that you want !!!
Pic Example:
Ok, Now single we must save the changes. (Right Click --> Copy to Executable --> All Modifications (Click in Copy ALL) --> Soon They give right Click on the screen that will appear to them and click in Save File.
Once saved the changes, We pressed keys CTRL+F2 and we went to the Offset where we added our .INI there we'll see as left has our work
Soon we created a File ini that contains the following thing:
Code:
[CommonOptions]
Assasin = 14 ;N