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!

Source Code of Load Map 99.60T+.IDB Research

Newbie Spellweaver
Joined
Sep 16, 2007
Messages
24
Reaction score
0
Hi everyone, I got a lil bored so I made this .asm code for 99.60T with new maps pushed in. all you need to do is save it as .asm format, save the text bellow in the php code box in notepad as mdll.asm. I only pushed new names into the dll, credit goes to Fen$X for map push tutorial I used to make this, took 15 mins total to plan project and complete.

PHP:
.386
.Model flat , StdCall
Option CaseMap:none
Include    \masm32\include\windows.inc
Include    \masm32\include\user32.inc
Include    \masm32\include\kernel32.inc
Include    \masm32\include\masm32.inc
IncludeLib    \masm32\lib\user32.lib
IncludeLib    \masm32\lib\kernel32.lib
IncludeLib    \masm32\lib\masm32.lib
.Const
MapObj DD 5777628h
DirPathObj DD 61D4FC0h
.Data
Exile DB "Exile.att"
Aida DB "Aida.att"
Crywolf DB "Crywolf.att"
IllusionTemple DB "IllusionTemple.att"
Kantru1 DB "Kantru1.att"
Kantru2 DB "Kantru2.att"
Kantru3 DB "Kantru3.att"
Silent DB "Silent.att"
Water DB "T42.att"
Fire DB "T43.att"
Air db "(null).att"
MapDefineItem DD 00403D05h
GetPathName DD 0040332Dh
LoadMap DD 004039D6h
AddMaps Proc
Local Counter:Dword
push ebx
push esi
push edi
mov Counter, 0
jmp LoadExile
Checker:
cmp Counter, 1
je LoadAida
cmp Counter, 2
je LoadDCrywolf
cmp Counter, 3
je LoadNIllusionTemple
cmp Counter, 4
je LoadKantru1
cmp Counter, 5
je LoadKantru2
cmp Counter, 6
je LoadKantru3
cmp Counter, 7
je LoadSilent
cmp Counter, 8
je LoadWater
cmp Counter, 9
je LoadFire
cmp Counter, 10
je LoadAir
LoadExile:
mov eax, Counter
imul eax, eax, 50698h
add eax, MapObj
call MapDefineItem
mov ecx, Counter
push ecx
lea edx, Exile
push edx
mov ecx, DirPathObj
call GetPathName
push eax
mov edx, Counter
imul edx, edx, 50698
add edx, MapObj
Call LoadMap
mov eax, Counter
add eax, 1
move Counter, eax
jmp Checker
LoadAida:
mov eax, Counter
imul eax, eax, 50698h
add eax, MapObj
call MapDefineItem
mov ecx, Counter
push ecx
lea edx, Aida
push edx
mov ecx, DirPathObj
call GetPathName
push eax
mov edx, Counter
imul edx, edx, 50698
add edx, MapObj
Call LoadMap
mov eax, Counter
add eax, 1
move Counter, eax
jmp Checker
LoadCrywolf:
mov eax, Counter
imul eax, eax, 50698h
add eax, MapObj
call MapDefineItem
mov ecx, Counter
push ecx
lea edx, Crywolf
push edx
mov ecx, DirPathObj
call GetPathName
push eax
mov edx, Counter
imul edx, edx, 50698
add edx, MapObj
Call LoadMap
mov eax, Counter
add eax, 1
move Counter, eax
jmp Checker
LoadIllusionTemple:
mov eax, Counter
imul eax, eax, 50698h
add eax, MapObj
call MapDefineItem
mov ecx, Counter
push ecx
lea edx, IllusionTemple
push edx
mov ecx, DirPathObj
call GetPathName
push eax
mov edx, Counter
imul edx, edx, 50698
add edx, MapObj
Call LoadMap
mov eax, Counter
add eax, 1
move Counter, eax
jmp Checker
LoadKantru1:
mov eax, Counter
imul eax, eax, 50698h
add eax, MapObj
call MapDefineItem
mov ecx, Counter
push ecx
lea edx, Kantru1
push edx
mov ecx, DirPathObj
call GetPathName
push eax
mov edx, Counter
imul edx, edx, 50698
add edx, MapObj
Call LoadMap
mov eax, Counter
add eax, 1
move Counter, eax
jmp Checker
LoadKantru2:
mov eax, Counter
imul eax, eax, 50698h
add eax, MapObj
call MapDefineItem
mov ecx, Counter
push ecx
lea edx, Kantru2
push edx
mov ecx, DirPathObj
call GetPathName
push eax
mov edx, Counter
imul edx, edx, 50698
add edx, MapObj
Call LoadMap
mov eax, Counter
add eax, 1
move Counter, eax
jmp Checker
LoadKantru3:
LoadAida:
mov eax, Counter
imul eax, eax, 50698h
add eax, MapObj
call MapDefineItem
mov ecx, Counter
push ecx
lea edx, Kantru3
push edx
mov ecx, DirPathObj
call GetPathName
push eax
mov edx, Counter
imul edx, edx, 50698
add edx, MapObj
Call LoadMap
mov eax, Counter
add eax, 1
move Counter, eax
jmp Checker
LoadSilent:
mov eax, Counter
imul eax, eax, 50698h
add eax, MapObj
call MapDefineItem
mov ecx, Counter
push ecx
lea edx, Silent
push edx
mov ecx, DirPathObj
call GetPathName
push eax
mov edx, Counter
imul edx, edx, 50698
add edx, MapObj
Call LoadMap
mov eax, Counter
add eax, 1
move Counter, eax
jmp Checker
LoadWater:
mov eax, Counter
imul eax, eax, 50698h
add eax, MapObj
call MapDefineItem
mov ecx, Counter
push ecx
lea edx, Water
push edx
mov ecx, DirPathObj
call GetPathName
push eax
mov edx, Counter
imul edx, edx, 50698
add edx, MapObj
Call LoadMap
mov eax, Counter
add eax, 1
move Counter, eax
jmp Checker
LoadFire:
mov eax, Counter
imul eax, eax, 50698h
add eax, MapObj
call MapDefineItem
mov ecx, Counter
push ecx
lea edx, Fire
push edx
mov ecx, DirPathObj
call GetPathName
push eax
mov edx, Counter
imul edx, edx, 50698
add edx, MapObj
Call LoadMap
mov eax, Counter
add eax, 1
move Counter, eax
jmp Checker
LoadAir:
mov eax, Counter
imul eax, eax, 50698h
add eax, MapObj
call MapDefineItem
mov ecx, Counter
push ecx
lea edx, Air
push edx
mov ecx, DirPathObj
call GetPathName
push eax
mov edx, Counter
imul edx, edx, 50698
add edx, MapObj
Call LoadMap
mov eax, Counter
add eax, 1
move Counter, eax
jmp Checker
Credits: FeN$X for the tut , NoobCode for pushing new maps.
any concerns please ask here, no flames please, this was my first time pushing maps on a older gameserver. Hope to learn much more asm to do further edits and configs on newer gameservers.


Edit: Added .IDB ,.PDB , and GameServer.exe for further research and understanding, with .IDB no need to load .pdb with olly, it shows asm pure code and offsets of anything UNPACKED. Make sure to use IDA on UNPACKED gameserver and dlls, IE fake DukeGR 99.96T Useless GS, only thing good was that it was unpacked.

DL Link For .IDB .PDB and GameServer.exe Hosted @ FileFront
 
Last edited:
Newbie Spellweaver
Joined
Dec 5, 2006
Messages
67
Reaction score
0
Re: [Release]Source Code of Load Map 99.60T+.IDB Research

Nice idea :) Try do it in c++.. will be more useful..
 
Newbie Spellweaver
Joined
Sep 16, 2007
Messages
24
Reaction score
0
Re: [Release]Source Code of Load Map 99.60T+.IDB Research

Example Work for ASM .IDB

Let's say I want to go and see the AMonsterAIRule.txt and how it is loaded into the GameServer of 99.96T. We simply just decompile the unpacked 99.96T Gameserver.exe, and then wait for it to finish searching for all possible asm code that is unpacked. Then we can go either to names or strings section, where we can find MonsterAIRule sticking out, so hmm we click on it to find a .text listing its offsets, which highlights to the pure asm code for 99.96T GS. Remember to look at pic to understand what I am trying to say, is easy to work on GS in ASM.

Pic Provided below

Dev-Star - Source Code of Load Map 99.60T+.IDB Research - RaGEZONE Forums
 
Back
Top