i hope some1 posts a tutorial on how to create a bypass or how to even use this >.> im hopeless...no hackers help anymoar coz of low-lyfe leechers *sighs*
Let's look at the Waryas base-hook in the [Only registered and activated users can see links. ], it's in C++
Complete Source code, btw...
Code:
#include "StdAfx.h"
#include <math.h> //I'm using it in my Real dll
/******************/
/************Typedef to call Gunz Internal Function************/
//For the parameters, use the PDB file in JGunz folder, and p**** it with Dia2Dump
//On www.waryas.be too.
typedef void (__cdecl* ZChatOutputFunction)(const char* lpcMsg, int iType,int iLoc,DWORD dwColor);
ZChatOutputFunction ZChatOutput = (ZChatOutputFunction)0x0042C700; //ZChatOutput Address
/************************************************** *************/
/*************************Main Function*************************/
void MerryChristmas(void)
{
while (1==1) // Infinite Loop ... Will run until Gunz close.
{
if (GetAsyncKeyState(0x60))
{
ZChatOutput("Key 0 pressed",2,0,0xFFFFFFFF);
Sleep(500);
}
Sleep(10); //Delay between each check otherwise -> LAG!!
}
}
/************************************************** *************/
/*****************************Dll Entry-Point*******************/
BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved)
{
if(ul_reason_for_call = DLL_PROCESS_ATTACH)
{
DisableThreadLibraryCalls(hModule); //Thanks Microsoft =D
CreateThread(NULL,0,(unsigned long (__stdcall *)(void *))MerryChristmas,NULL,0,NULL); //Thanks Microsoft =D
ZChatOutput("DLL INJECTED AND THREAD CREATED!",2,0,0xFFFFFFFF); //Will show only in game or lobby when injected
return TRUE;
}
return TRUE;
}
/************************************************** *************/
Notice the red. In Waryas' source code, It's setting up ZChatOutput with its own type and the address. The address in Waryas' base-hook will not work on ijji, so we would need to update it. Making it look like
Code:
#include "StdAfx.h"
#include <math.h> //I'm using it in my Real dll
/******************/
/************Typedef to call Gunz Internal Function************/
//For the parameters, use the PDB file in JGunz folder, and p**** it with Dia2Dump
//On www.waryas.be too.
typedef void (__cdecl* ZChatOutputFunction)(const char* lpcMsg, int iType,int iLoc,DWORD dwColor);
ZChatOutputFunction ZChatOutput = (ZChatOutputFunction)0x0042B900; //ZChatOutput Address
/************************************************** *************/
/*************************Main Function*************************/
void MerryChristmas(void)
{
while (1==1) // Infinite Loop ... Will run until Gunz close.
{
if (GetAsyncKeyState(0x60))
{
ZChatOutput("Key 0 pressed",2,0,0xFFFFFFFF);
Sleep(500);
}
Sleep(10); //Delay between each check otherwise -> LAG!!
}
}
/************************************************** *************/
/*****************************Dll Entry-Point*******************/
BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved)
{
if(ul_reason_for_call = DLL_PROCESS_ATTACH)
{
DisableThreadLibraryCalls(hModule); //Thanks Microsoft =D
CreateThread(NULL,0,(unsigned long (__stdcall *)(void *))MerryChristmas,NULL,0,NULL); //Thanks Microsoft =D
ZChatOutput("DLL INJECTED AND THREAD CREATED!",2,0,0xFFFFFFFF); //Will show only in game or lobby when injected
return TRUE;
}
return TRUE;
}
/************************************************** *************/
That's all you needed to change, the address, lol. Compile the Source-code with WATCOM or Visual-C++, then inject in the lobby in ijji with MLE and the message "DLL INJECTED AND THREAD CREATED!" should show up in the lobby in green. If you press 0(I think it's numberpad), the message "Key 0 Pressed" should show up in the chatbox.
Anyways, this way just an example :S I also noticed, headers might not work, so delete them and just stick to windows.h -- "#include <windows.h>"
The Following User Says Thank You to lone222 For This Useful Post:
that's a nice explaination, so as long as we replace the codes with the updated ones and compile the old sourcecodes then all the old .dlls should work right?
How does one get these addresses anyway? Is there any tutorial on how to look them up?
Edit// Also, is there anyway to decompile .dlls?
Last edited by dbzman1995; 09-02-2008 at 01:05 PM.
that's a nice explaination, so as long as we replace the codes with the updated ones and compile the old sourcecodes then all the old .dlls should work right?
How does one get these addresses anyway? Is there any tutorial on how to look them up?
Edit// Also, is there anyway to decompile .dlls?
you can't reverse a dll back to it's original source, especially if it's packed.
Wow... So many people not getting what offsets are for! xD
Just look up tutorials on google.. It's not hard to find tutorials for you that don't understand how to do this. You will also need to understand the basic programming languages just about to understand just about any of it!
Pro Tutorials! : [Only registered and activated users can see links. ]