-
Re: [Release] Adding New Option C++ Source Code + Full Tutorial [Updated & Fixed]
This was released becuz rz mu section is dieing :D.. btw soon you all will have 0 bug s2 with loads of options and some s3 stuff.
-
Re: [Release] Adding New Option C++ Source Code + Full Tutorial
Quote:
Originally Posted by
_RabbiT_
New Offset
.h
#define ChaosPrice 0x00508489
#define SoulPrice 0x00508446
#define BlessPrice 0x00508467
#define CreationPrice 0x005084CC
#define GuardianPrice 0x005085AA
#define LifePrice 0x005084AB
#define BlessPotionPrice 0x005085E1
#define SoulPotionPrice 0x00508607
Add credits RabbiT. :D
-
Re: [Release] Adding New Option C++ Source Code + Full Tutorial [Updated & Fixed]
does this will work???
.cpp
Code:
/* AddMU.cpp
made by: drakelv
Made for: AddictedMu
Visit: .: CoderZ Factory Network :.
*/
#include "AddMU.h"
//////////////////////////////////////////////////////////////////////
// Source Start
//////////////////////////////////////////////////////////////////////
#include <string.h>
#include <windows.h>
extern "C" __declspec(dllexport) void OptionAndBugFix();
// Fixing Potion Bug in GS
bool PotBugFix( char * inipath )
{
if (GetPrivateProfileInt("GameServerNormal" , "PotionBugFix" , 1 , "./Addicted.ini")){
memset((PBYTE) FixPotionBug1 ,0x90,8 ) ; //warehouse
memset((PBYTE) FixPotionBug2 ,0x90,8 ) ; //inventory
memset((PBYTE) FixPotionBug3 ,0x90,8 ) ;
return 1;
}
return 0;
}
// chaos price
bool ChaosPrice( char * inipath )
{
if (GetPrivateProfileInt("GameServerNormal" , "ChaosPrice" , 1 , "./adicted.ini")){
memset((PBYTE) ChaosPrice ,0xEB,8 )
return 1;
}
return 0;
}
// Fixing ID Code in GS for characters
bool NoIDChar( char * inipath)
{
if (GetPrivateProfileInt("GameServerNormal" , "DeleteCharWithoutID" , 1 , "./Addicted.ini")){
memset((PBYTE) FixDeleteChar, 0xEB , 1 ); //Dzēst čaru bez ID.
return 1;
}
return 0;
}
// Fixing ID Code in GS for Guilds
bool NoIDGuild( char * inipath )
{
if (GetPrivateProfileInt("GameServerNormal", "DeleteGuildWithoutID", 1, "./Addicted.ini")){
memset((PBYTE) FixDeleteGuild ,0x90 , 6 ); //Dzēst ģildi bez ID
memset((PBYTE) FixLeaveGuild ,0x90 , 2 ); //Pames ģildi bez ID
return 1;
}
return 0;
}
// Party Zen Bug Fix
// transformation ring change
bool TransRing( char * inipath ){
int TransformationRing = GetPrivateProfileInt("GameServerNormal", "TransformationRingInit", 0, "Addicted.ini");
DWORD dwTmp ;
dwTmp=GetPrivateProfileInt("GameServerNormal", "TransformationRing1",2, "Addicted.ini") ;
*(unsigned int *) TransformationRing1 = dwTmp ;
dwTmp=GetPrivateProfileInt("GameServerNormal", "TransformationRing2",7, "Addicted.ini") ;
*(unsigned int *) TransformationRing2 = dwTmp ;
dwTmp=GetPrivateProfileInt("GameServerNormal", "TransformationRing3",14, "Addicted.ini") ;
*(unsigned int *) TransformationRing3 = dwTmp ;
dwTmp=GetPrivateProfileInt("GameServerNormal", "TransformationRing4",8, "Addicted.ini") ;
*(unsigned int *) TransformationRing4 = dwTmp ;
dwTmp=GetPrivateProfileInt("GameServerNormal", "TransformationRing5",9, "Addicted.ini") ;
*(unsigned int *) TransformationRing5 = dwTmp ;
dwTmp=GetPrivateProfileInt("GameServerNormal", "TransformationRing6",41, "Addicted.ini") ;
*(unsigned int *) TransformationRing6 = dwTmp ;
return 1 ;
}
bool NotifyIfDllLoaded( char * inipath ){
if (GetPrivateProfileInt("GameServerNormal", "NotifyIfDllLoaded", 1, "./Addicted.ini") )
{
MessageBox ( 0 , "Addicted.Dll by drakelv has been successfully loaded. Enjoy the Game!" , "DLL Loaded!" , MB_OK );
return 1;
}
else return 0;
}
void OptionAndBugFix()
{
char inipath[] = "./Addicted.ini";
bool bResult ;
DWORD dwOld1,dwOld2;
LPVOID lpAddress1,lpAddress2 ;
lpAddress1 = (LPVOID) 0x00401000 ; //fix96
lpAddress2 = (LPVOID) 0x0C296000 ; //fix96
if ( VirtualProtect (lpAddress1,0x246000+0x1D000,PAGE_EXECUTE_READWRITE,&dwOld1 ) ) //fix96
{
if (VirtualProtect(lpAddress2,0x4000,PAGE_EXECUTE_READWRITE, &dwOld2) ) //fix96
{
bResult =FixPotionNumber( inipath );
bResult =NoIDChar( inipath );
bResult =NoIDGuild( inipath );
bResult =TransRing( inipath );
bResult =NotifyIfDllLoaded( inipath );
bResult =PartyZenFix( inipath );
}
// Gs is VirtualProtected so we need to use Vprotect function.
VirtualProtect (lpAddress1,0x246000+0x1D000,PAGE_EXECUTE_READ,&dwOld1 );
VirtualProtect (lpAddress2,0x4000 ,PAGE_EXECUTE_READ,&dwOld2 );
}
}
.h
Code:
#define FixDeleteGuild 0x004431CA
#define FixLeaveGuild 0x00443320
#define FixDeleteChar 0x004328E4
#define FixPotionBug1 0x00427A71
#define FixPotionBug3 0x004CD0FF
#define FixPotionBug2 0x004CD0AE
#define FixZenParty 0x004DD318
#define TransformationRing1 0x004B472E
#define TransformationRing2 0x004B4737
#define TransformationRing3 0x004B4740
#define TransformationRing4 0x004B4749
#define TransformationRing5 0x004B4752
#define TransformationRing6 0x004B475B
#define ChaosPrice 0x00508489
-
Re: [Release] Adding New Option C++ Source Code + Full Tutorial [Updated & Fixed]
No it wont work. And cahir the sources doesnot contain rabbits offsets, but i thank him for them. P.s sources wont be updated anymore
-
Re: [Release] Adding New Option C++ Source Code + Full Tutorial [Updated & Fixed]
can you answer me please :)
-
Re: [Release] Adding New Option C++ Source Code + Full Tutorial [Updated & Fixed]
-
Re: [Release] Adding New Option C++ Source Code + Full Tutorial [Updated & Fixed]
can you tell me what's wrong?
-
Re: [Release] Adding New Option C++ Source Code + Full Tutorial [Updated & Fixed]
Quote:
Originally Posted by
drakelv
No it wont work. And cahir the sources doesnot contain rabbits offsets, but i thank him for them. P.s sources wont be updated anymore
Heh, my post was for RabbiT. :) He has these offsets from me. ;P
PS. Few functions from me. :)
Code:
void ChaosBoxRate()
{
DWORD dwTemp ;
BYTE cTemp ;
dwTemp = GetPrivateProfileIntA("GameServerNormal", "ChaosMix10",50, "./DMT.ini") ;
*(unsigned int *) ChaosMix10 = dwTemp ;
dwTemp = GetPrivateProfileIntA("GameServerNormal", "ChaosMix11",45, "./DMT.ini") ;
*(unsigned int *) ChaosMix11 = dwTemp ;
dwTemp = GetPrivateProfileIntA("GameServerNormal", "ChaosMix12",45, "./DMT.ini") ;
*(unsigned int *) ChaosMix12 = dwTemp ;
dwTemp = GetPrivateProfileIntA("GameServerNormal", "ChaosMix13",45, "./DMT.ini") ;
*(unsigned int *) ChaosMix13 = dwTemp ;
}
void JewelSuccesRate()
{
BYTE cTemp ;
cTemp = GetPrivateProfileIntA("GameServerNormal", "SoulWithLuckSuccessRate",70, "./DMT.ini") ;
*(unsigned char *) SoulLuckRate = cTemp ;
cTemp = GetPrivateProfileIntA("GameServerNormal", "SoulNoLuckSuccessRate", 55, "./DMT.ini") ;
*(unsigned char *) SoulRate = cTemp ;
cTemp = GetPrivateProfileIntA("GameServerNormal", "LifeSuccessRate", 50, "./DMT.ini") ;
*(unsigned char *) LifeRate = 100 - cTemp ;
}
void JewelPrices()
{
DWORD dwTemp;
dwTemp = GetPrivateProfileIntA("GameServerNormal", "BlessiPrice", 9000000, "./DMT.ini") ;
*(unsigned int *) BlessPrice = dwTemp ;
dwTemp = GetPrivateProfileIntA("GameServerNormal", "SoulPrice", 6000000, "./DMT.ini") ;
*(unsigned int *) SoulPrice = dwTemp ;
dwTemp = GetPrivateProfileIntA("GameServerNormal", "ChaosPrice", 810000, "./DMT.ini") ;
*(unsigned int *) ChaosPrice = dwTemp ;
dwTemp = GetPrivateProfileIntA("GameServerNormal", "LifePrice", 45000000, "./DMT.ini") ;
*(unsigned int *) LifePrice = dwTemp ;
dwTemp = GetPrivateProfileIntA("GameServerNormal", "CreationPrice", 36000000, "./DMT.ini") ;
*(unsigned int *) CreationPrice = dwTemp ;
dwTemp = GetPrivateProfileIntA("GameServerNormal", "GuardianPrice", 60000000, "./DMT.ini") ;
*(unsigned int *) GuardianPrice = dwTemp ;
dwTemp = GetPrivateProfileIntA("GameServerNormal", "PotionOfBlessPrice", 900000, "./DMT.ini") ;
*(unsigned int *) BlessPotionPrice = dwTemp ;
dwTemp = GetPrivateProfileIntA("GameServerNormal", "PotionOfSoulPrice", 450000, "./DMT.ini") ;
*(unsigned int *) SoulPotionPrice = dwTemp ;
}
[CODE]//Ceny Jeweli
#define ChaosPrice 0x00508489
#define SoulPrice 0x00508446
#define BlessPrice 0x00508467
#define CreationPrice 0x005084CC
#define GuardianPrice 0x005085AA
#define LifePrice 0x005084AB
//Ceny potion
-
Re: [Release] Adding New Option C++ Source Code + Full Tutorial [Updated & Fixed]
Ill add them to first post tomorrow, thanks :)
-
Re: [Release] Adding New Option C++ Source Code + Full Tutorial [Updated & Fixed]
[quote=DMCahir;2731486]Heh, my post was for RabbiT. :) He has these offsets from me. ;P
PS. Few functions from me. :)
[code]//Ceny Jeweli
#define ChaosPrice 0x00508489
#define SoulPrice 0x00508446
#define BlessPrice 0x00508467
#define CreationPrice 0x005084CC
#define GuardianPrice 0x005085AA
#define LifePrice 0x005084AB
//Ceny potion
-
Re: [Release] Adding New Option C++ Source Code + Full Tutorial [Updated & Fixed]
mby ill post asm source code for protocol.. The gs 0.01 will be released in 3-4 days xD
-
Re: [Release] Adding New Option C++ Source Code + Full Tutorial [Updated & Fixed]
Quote:
Originally Posted by
drakelv
mby ill post asm source code for protocol.. The gs 0.01 will be released in 3-4 days xD
:drinks_noThanks man i'll wait for ur guide or release ^^ :drinks_no
-
Re: [Release] Adding New Option C++ Source Code + Full Tutorial [Updated & Fixed]
drakelv i don't no add dll to Gameserver
Gameserver not read my dll
how to Tutorial Add dll to Gameserver please
sory my bad english
-
Re: [Release] Adding New Option C++ Source Code + Full Tutorial [Updated & Fixed]
Quote:
Originally Posted by
mayojung
drakelv i don't no add dll to Gameserver
Gameserver not read my dll
how to Tutorial Add dll to Gameserver please
sory my bad english
SEARCH an YOU shaLL FinD ^_^
goto Guide section:drinks_no
-
Re: [Release] Adding New Option C++ Source Code + Full Tutorial [Updated & Fixed]
Quote:
Originally Posted by
emg13
SEARCH an YOU shaLL FinD ^_^
goto Guide section:drinks_no
i not understand
-
Re: [Release] Adding New Option C++ Source Code + Full Tutorial [Updated & Fixed]
Quote:
Originally Posted by
emg13
SEARCH an YOU shaLL FinD ^_^
goto Guide section:drinks_no
Just give me the time, and i can post here the how to for hooking dll inside gs.
-
Re: [Release] Adding New Option C++ Source Code + Full Tutorial [Updated & Fixed]
Quote:
Originally Posted by
mayojung
i not understand
Look in the guides section "Hooking your Dll to the Gameserver", i Think thats the title for that.
-
Re: [Release] Adding New Option C++ Source Code + Full Tutorial [Updated & Fixed]
P.S. i'm italian, sorry for bad english!
link for pictures : HOOK DLL IN UN FILE EXE
Tools Needed:
OllyDbg (Olly Debugger)
LordPE (Portable Executable Editor)
This is the fastest way to hook your dll into an exe file.
(yes without check etc etc.. i don't have time now)
Let's GO:
Open your exe in ollydbg (in this sample i show u my gs_cs)
When olly have finished to analyze the code u are on the OPE of your file.
In my case is : 005B63C1 (take note of it)
Now its time to search codecave point to inject our code.
scroll down and find some "DB 00" like in the picture 01.
Ok select some of this lines like in the picture 02
click with your dx mouse button and select "Binary->Edit"
or press "CTRL+E"
Write your dll name (for me is "VcorpCS.dll") then press "OK".
Now its time to reanalyze your code press "CTRL+A" and wait.
Now do the same for your Procedure name . (i have called it InitDLL)
in the source sample in this thread the name is: OptionAndBugFix
Ok it's time to write our code to load and initialize our dll.
Select the line where u want start ( i'm start writing from 005EFD1A )
P.S. Keep in your mind the line from u start write your code.
Ok pres SPACE or double click to Assemble the code necessary like in the picture 06:
PUSH 005EFCF6
CALL LoadLibraryA
TEST EAX,EAX
MOV DWORD PTR DS:[5EFCF2],EAX
PUSH 005EFD07
PUSH EAX
CALL GetProcAddress
TEST EAX,EAX
CALL EAX
JMP 005B63C1
Code:
============THIS IS WHAT U GET AFTER REANALIZYNG YOUR CODE (CTRL+A)================================
005EFD1A > . 68 F6FC5E00 PUSH 005EFCF6 ; /FileName = "VcorpCS.dll" New OEP
005EFD1F . E8 5320217C CALL LoadLibraryA ; \LoadLibraryA
005EFD24 . 85C0 TEST EAX,EAX
005EFD26 . A3 F2FC5E00 MOV DWORD PTR DS:[5EFCF2],EAX
005EFD2B . 68 07FD5E00 PUSH 005EFD07 ; /ProcNameOrOrdinal = "InitDLL"
005EFD30 . 50 PUSH EAX ; |hModule
005EFD31 . E8 6AB0217C CALL GetProcAddress ; \GetProcAddress
005EFD36 . 85C0 TEST EAX,EAX
005EFD38 . FFD0 CALL EAX
005EFD3A .^E9 8266FCFF JMP 005B63C1 ; JMP to Original OEP ^^
if everything is done it's time to save your mod:
click with your dx mouse button and select "Copy to executable->All modification"
then in the windows click on "copy all"
and then in the new window click with your dx mouse button in the gray area and select "save file"
give it a new name and u are done!!!
Now open your new saved file with LordPE:
Open LordPE, click on the button "PE Editor" and select your file
on the EntryPoint Label write down your new OEP (is the code where u have write your new function with olly).
For me is: 001EFD1A.
Then press Save.
Enjoy!
-
Re: [Release] Adding New Option C++ Source Code + Full Tutorial [Updated & Fixed]
Hi guys!! thanks for all code and teach to all people!!
This is very important for the comunity of mu and for the new coderz generation, this is the start for all people share free source code. Thanks all soo much!!
Can somebody share or teach of all code for:
-add commands like /wathever
-add maps
-add items
All code is really important for the people like me start in c++ or asm!!!
Thanks all soo much!!!
SHARE SOURCE IS VERY IMPORTANT FOR MU COMUNITY UNION OF CODERZ
-
Re: [Release] Adding New Option C++ Source Code + Full Tutorial [Updated & Fixed]
Next step can a little tutorial on how to get all the offset we need!!!
If someone have time ^^ .
I'm using wireshark.
-
Re: [Release] Adding New Option C++ Source Code + Full Tutorial [Updated & Fixed]
Any1 can share post cmd source code with all offsets?
-
Re: [Release] Adding New Option C++ Source Code + Full Tutorial [Updated & Fixed]
Quote:
Originally Posted by
vcorp
Next step can a little tutorial on how to get all the offset we need!!!
If someone have time ^^ .
I'm using wireshark.
Its Nice Vcorp.. we're waiting =]
Thx for ur tut too
BB
-
Re: [Release] Adding New Option C++ Source Code + Full Tutorial [Updated & Fixed]
Please share for Step by Step For Hook dll in GameServer
and
Offset all Option
Sorry bad english
-
1 Attachment(s)
Re: [Release] Adding New Option C++ Source Code + Full Tutorial [Updated & Fixed]
-
Re: [Release] Adding New Option C++ Source Code + Full Tutorial [Updated & Fixed]
Quote:
Originally Posted by
mayojung
help me see images
Images???
i have see inside your gs.
u have wrong hooked your code. (reopen the gs in olly to see yourself)
005EFCCC <- go here
second u forgot to change OEP ...
look my tutorial and read more and more!!!
and don't forget to hook on a vergin gameserver. (not like endi release, in this case is a little bit more complicated ^^ )