offset de texturas ####
Open OllyDBG
Press ¨Ctrl+G¨ Paste The offset in Red and select ¨Ok¨
Presiona ¨Crtl+G¨copia y pega las offsets que estan en ojo y le das ¨Ok¨
Y luego cambias el valor decimal, ejemplo:
005E18E5 |> 837D F8 11 CMP DWORD PTR SS:[EBP-8],11 <<<<<Antes (Before)
005E18E5 |> 837D F8 11 CMP DWORD PTR SS:[EBP-8],50 <<<<<Despues (After)
Main 1,06A+
(.BMD´s Limits)
005E18E5 |> 837D F8 11 CMP DWORD PTR SS:[EBP-8],11 <<<<<Sword
005E19B8 |> 837D F8 09 CMP DWORD PTR SS:[EBP-8],9 <<<<<Axe
005E19F5 |> 837D F8 07 CMP DWORD PTR SS:[EBP-8],7 <<<<<Mace
005E1A4B |> 837D F8 05 CMP DWORD PTR SS:[EBP-8],5 <<<<<Mace(other)
005E1AA1 |> 837D F8 0A CMP DWORD PTR SS:[EBP-8],0A <<<<<Spear
005E1AF7 |> 837D F8 0F CMP DWORD PTR SS:[EBP-8],0F <<<<<Shield
005E1B66 |> 837D F8 09 CMP DWORD PTR SS:[EBP-8],9 <<<<<Staff
005E1BEE |> 837D F8 14 CMP DWORD PTR SS:[EBP-8],14 <<<<<Staff(other)
005E1C2B |> 837D F8 07 CMP DWORD PTR SS:[EBP-8],7 <<<<<Bow
005E1C68 |> 837D F8 07 CMP DWORD PTR SS:[EBP-8],7 <<<<<CrossBow
005E2A18 |> 837D F8 03 CMP DWORD PTR SS:[EBP-8],3 <<<<<Wing
005E2A54 |> 837D F8 04 CMP DWORD PTR SS:[EBP-8],4 <<<<<Wing
005E2A90 |> 837D F8 04 CMP DWORD PTR SS:[EBP-8],4 <<<<<Wing
005E2AE5 |> 837D F8 2B CMP DWORD PTR SS:[EBP-8],2B <<<<<Wing
(Textures Limits) Offsets de Limite de texturas:
005E397D |> 837D F8 11 CMP DWORD PTR SS:[EBP-8],11 <<<<<Sword
005E3B1B |> 837D F8 14 CMP DWORD PTR SS:[EBP-8],14 <<<<<Axe
005E3B58 |> 837D F8 1C CMP DWORD PTR SS:[EBP-8],1C <<<<<Mace
005E3B95 |> 837D F8 05 CMP DWORD PTR SS:[EBP-8],5 <<<<<Mace(other)
005E3BD1 |> 837D F8 02 CMP DWORD PTR SS:[EBP-8],2 <<<<<Spear
005E3C2C |> 837D F8 15 CMP DWORD PTR SS:[EBP-8],15 <<<<<Shield
005E3C69 |> 837D F8 04 CMP DWORD PTR SS:[EBP-8],4 <<<<<Staff
005E3D95 |> 837D F8 13 CMP DWORD PTR SS:[EBP-8],13 <<<<<Staff(other)
005E3EFE |> 837D F8 03 CMP DWORD PTR SS:[EBP-8],3 <<<<<Bow
005E3F3B |> 837D F8 02 CMP DWORD PTR SS:[EBP-8],2 <<<<<CrosssBow
005E3F77 |> 837D F8 06 CMP DWORD PTR SS:[EBP-8],6 <<<<<Wings(not tested)
005E3FB4 |> 837D F8 02 CMP DWORD PTR SS:[EBP-8],2 <<<<<Unknowed(desconocido)
Main 1,05T+
(Textures Limits) Offsets de Limite de texturas:
005CDEC4 |> 837D FC 11 CMP DWORD PTR SS:[EBP-4],11 <<<<<Sword
005CE062 |> 837D FC 14 CMP DWORD PTR SS:[EBP-4],14 <<<<<Axe
005CE09F |> 837D FC 1C CMP DWORD PTR SS:[EBP-4],1C <<<<<Mace
005CE0DC |> 837D FC 05 CMP DWORD PTR SS:[EBP-4],5 <<<<<Mace(other)
005CE118 |> 837D FC 02 CMP DWORD PTR SS:[EBP-4],2 <<<<<Spear
005CE173 |> 837D FC 15 CMP DWORD PTR SS:[EBP-4],15 <<<<<Shield
005CE1B0 |> 837D FC 04 CMP DWORD PTR SS:[EBP-4],4 <<<<<Staff
005CE2DC |> 837D FC 13 CMP DWORD PTR SS:[EBP-4],13 <<<<<Staff(other)
005CE445 |> 837D FC 03 CMP DWORD PTR SS:[EBP-4],3 <<<<<Bow
005CE482 |> 837D FC 02 CMP DWORD PTR SS:[EBP-4],2 <<<<<CrosssBow
005CE4BE |> 837D FC 06 CMP DWORD PTR SS:[EBP-4],6 <<<<<Wings(not tested)
005CE4FB |> 837D FC 02 CMP DWORD PTR SS:[EBP-4],2 <<<<<Unknowed(desconocido)
Main 1,05x+
(Textures Limits) Offsets de Limite de texturas:
005CDD64 |> 837D FC 11 CMP DWORD PTR SS:[EBP-4],11 <<<<<Sword
005CDF02 |> 837D FC 14 CMP DWORD PTR SS:[EBP-4],14 <<<<<Axe
005CDF3F |> 837D FC 1C CMP DWORD PTR SS:[EBP-4],1C <<<<<Mace
005CDF7C |> 837D FC 05 CMP DWORD PTR SS:[EBP-4],5 <<<<<Mace(other)
005CDFB8 |> 837D FC 02 CMP DWORD PTR SS:[EBP-4],2 <<<<<Spear
005CE013 |> 837D FC 15 CMP DWORD PTR SS:[EBP-4],15 <<<<<Shield
005CE050 |> 837D FC 04 CMP DWORD PTR SS:[EBP-4],4 <<<<<Staff
005CE17C |> 837D FC 13 CMP DWORD PTR SS:[EBP-4],13 <<<<<Staff(other)
005CE2E5 |> 837D FC 03 CMP DWORD PTR SS:[EBP-4],3 <<<<<Bow
005CE322 |> 837D FC 02 CMP DWORD PTR SS:[EBP-4],2 <<<<<CrosssBow
005CE35E |> 837D FC 06 CMP DWORD PTR SS:[EBP-4],6 <<<<<Wings(not tested)
005CE39B |> 837D FC 02 CMP DWORD PTR SS:[EBP-4],2 <<<<<Unknowed(desconocido)
Main 1,05k+
Offset Para 1,05k+.txt
cam 3d
if(mgfunc.mainver.Find("107N")==0)
{
//ver.1.07N Main.exe Offsets
Camera_Zoom = (float*) 0x4A7839; //
Camera_GlClip = (float*) 0x4A7A24; //
Camera_RotY = (float*) 0x8E198C; //
Camera_RotZ = (float*) 0x818BB88; //
Camera_PosZ = (float*) 0x8E1364; //
Camera_ClipX = (float*) 0x8E227C; //
Camera_ClipY = (float*) 0x5DBFD9; //
}
else if(mgfunc.mainver.Find("107x")==0)
{
//ver.1.07x Main.exe Offsets
Camera_Zoom = (float*) 0x623159;
Camera_GlClip = (float*) 0x623344;
Camera_RotY = (float*) 0x8E02EC;
Camera_RotZ = (float*) 0x8187FA8;
Camera_PosZ = (float*) 0x8DF35C;
Camera_ClipX = (float*) 0x8E01B4;
Camera_ClipY = (float*) 0x5CC759;
}
else if(mgfunc.mainver.Find("107h")==0)
{
//ver.1.07h Main.exe Offsets
Camera_Zoom = (float*) 0x61E7F9;
Camera_GlClip = (float*) 0x61E9E4;
Camera_RotY = (float*) 0x8D22CC;
Camera_RotZ = (float*) 0x81772B8;
Camera_PosZ = (float*) 0x8D1350;
Camera_ClipX = (float*) 0x8D2194;
Camera_ClipY = (float*) 0x5C8829;
}
else if(mgfunc.mainver.Find("104j")==0)
{
//ver.1.04j Main.exe Offsets
Camera_GlClip = (float*) 0x6364ad; ///
Camera_Zoom = (float*) 0x660390; ///
Camera_RotY = (float*) 0x758A30; ///
Camera_RotZ = (float*) 0x7AFE994; ///
Camera_PosZ = (float*) 0x757994; ///
Camera_ClipX = (float*) 0x7588B4; ///
Camera_ClipY = (float*) 0x608347; ///
}
else if(mgfunc.mainver.Find("103kJ")==0)
{
//ver.1.03k japan Main.exe Offsets
Camera_GlClip = (float*) 0x6003d4; ///
Camera_Zoom = (float*) 0x6001E9; ///
Camera_RotY = (float*) 0x88BC78; ///
Camera_RotZ = (float*) 0x809F150; ///
Camera_PosZ = (float*) 0x88ACFC; ///
Camera_ClipX = (float*) 0x88BB18; ///
Camera_ClipY = (float*) 0x5AB4CD; ///
}
else if(mgfunc.mainver.Find("105D")==0)
{
//ver.1.05D+ Main.exe Offsets
Camera_Zoom = (float*) 0x5EB2E9; //
Camera_GlClip = (float*) 0x5EB4D4; //
Camera_RotY = (float*) 0x814BE8; //
Camera_RotZ = (float*) 0x7FE025C; //
Camera_PosZ = (float*) 0x813CBC; //
Camera_ClipX = (float*) 0x814AA0; //
Camera_ClipY = (float*) 0x59DAA4; //
}
else if(mgfunc.mainver.Find("106D")==0)
{
Camera_Zoom = (float*) 0x606879; //
Camera_GlClip = (float*) 0x606A64; //
Camera_RotY = (float*) 0x87DEB4; //
Camera_RotZ = (float*) 0x8117438; //
Camera_PosZ = (float*) 0x87CF5C; //
Camera_ClipX = (float*) 0x87DD84; //
Camera_ClipY = (float*) 0x5B53D9; //
}
else if(mgfunc.mainver.Find("106B")==0)
{
//ver.1.06B+ Main.exe Offsets
Camera_Zoom = (float*) 0x606849;
Camera_GlClip = (float*) 0x606A34;
Camera_RotY = (float*) 0x87DEA4;
Camera_RotZ = (float*) 0x8117398;
Camera_PosZ = (float*) 0x87CF4C;
Camera_ClipX = (float*) 0x87DD74;
Camera_ClipY = (float*) 0x5B53D9;
}
else if(mgfunc.mainver.Find("105S")==0)
{
// ver.1.05S Main.exe Offsets
Camera_Zoom = (float*) 0x5EFFF9;
Camera_GlClip = (float*) 0x5F01E4;
Camera_RotY = (float*) 0x824C28;
Camera_RotZ = (float*) 0x7FF263C;
Camera_PosZ = (float*) 0x823CBC;
Camera_ClipX = (float*) 0x824AD8;
Camera_ClipY = (float*) 0x5A0E1D;
}
else if(mgfunc.mainver.Find("105T")==0)
{
// ver.1.05T Main.exe Offsets
Camera_Zoom = (float*) 0x5EFDE9; //
Camera_GlClip = (float*) 0x5EFFD4; //
Camera_RotY = (float*) 0x824C28; //
Camera_RotZ = (float*) 0x7FF262C; //
Camera_PosZ = (float*) 0x823CBC; //
Camera_ClipX = (float*) 0x824AD8; //
Camera_ClipY = (float*) 0x5A0BDD; //
}
else if(mgfunc.mainver.Find("105H")==0)
{
//ver.1.05H Main.exe Offsets
Camera_Zoom = (float*) 0x5EB179; //
Camera_GlClip = (float*) 0x5EB364; //
Camera_RotY = (float*) 0x814BE8; //
Camera_RotZ = (float*) 0x7FE0254; //
Camera_PosZ = (float*) 0x813CBC; //
Camera_ClipX = (float*) 0x814AA0; //
Camera_ClipY = (float*) 0x59D934; //
}
else if(mgfunc.mainver.Find("105X")==0)
{
// ver.1.05X+ Main.exe Offsets
Camera_Zoom = (float*) 0x5EFEC9; //
Camera_GlClip = (float*) 0x5F00B4; //
Camera_RotY = (float*) 0x825C28;//
Camera_RotZ = (float*) 0x7FF35FC; //
Camera_PosZ = (float*) 0x824CBC; //
Camera_ClipX = (float*) 0x825AD8;//
Camera_ClipY = (float*) 0x5A0C7D;//
}
else if(mgfunc.mainver.Find("102h")==0)
{
// ver.1.02h Vietnam
Camera_Zoom = (float*) 0x6A1910; //
Camera_GlClip = (float*) 0x67FE73; //
Camera_RotY = (float*) 0x7198A8; //
Camera_RotZ = (float*) 0x8058CE0;
Camera_PosZ = (float*) 0x717718; //
Camera_ClipX = (float*) 0x7197C4; //
Camera_ClipY = (float*) 0x653D77; //
}
else if(mgfunc.mainver.Find("102c")==0)
{
// ver.1.02c GMO
Camera_GlClip = (float*) 0x6b2373;
Camera_Zoom = (float*) 0x6b20d0;
Camera_RotY = (float*) 0x7858b8;
Camera_RotZ = (float*) 0x7E80758;
Camera_PosZ = (float*) 0x783720;
Camera_ClipX = (float*) 0x7857d4;
Camera_ClipY = (float*) 0x65f837;
}
fix exdb
Veja abaixo como ira ficar.
0046FB38 55 50 44 41|54 45 20 47|75 69 6C 64|20 53 45 54| UPDATE Guild SET
0046FB48 20 47 5F 4E|6F 74 69 63|65 3D 27 25|73 27 20 57| G_Notice='%s' W
0046FB58 48 45 52 45|20 47 5F 4E|61 6D 65 3D|27 25 73 27| HERE G_Name='%s'
Para
0046FB38 55 50 44 41|54 45 20 47|75 69 6C 64|20 53 45 54| UPDATE Guild SET
0046FB48 20 47 5F 4E|6F 74 69 63|65 3D 27 25|73 27 20 57| G_Notice='%d' W
0046FB58 48 45 52 45|20 47 5F 4E|61 6D 65 3D|27 25 73 27| HERE G_Name='%s'
HOOK DE DLLS COM FUNÇÃO :
Código:
PUSH Offset com o nome da .dll<antihack.dll>
CALL [LoadlibraryA]
OR EAX,EAX
JE 0 Ou qualquer offset vazio bem longe
PUSH Offset com o nome da Função<Main>
PUSH EAX
CALL [GetProcAddress]
CALL EAX
JMP ENTRY POINT
HOOK DE DLLS SEM FUNÇÃO :
Código:
PUSH <Offset Com o Nome da DLL>
CALL [ LoadLibraryA ]
JMP ENTRYPOINT
dll gamedefender
Hookeo de GD.dll gente con conocimiento
bueno, yo uso este metodo de hockeo, en mi caso yo lo puse de la siguiente manera q me funcionara.
Para empezar recordemos buscar offsets libres (DB 00)
*Un OFFSET para el ASCII de GameDefender.dll
*Un OFFSET para el ASCII de Error
*Un OFFSET para el ASCII de Dll no encontrada!
INT3
INT3
PUSH 0 *ESTO ES EN CASO DE QUE QUIERAN BORRAR LA DLL, EL MAIN TIRARA ERROR/ ESTE ES EL OFFSET 00888FB4 EN MI CASO
PUSH *OFFSET DEL ASCII "ERROR"
PUSH *OFFSET DEL ASCII "DLL NO ENCONTRADA!"
PUSH 0
CALL DWORD PTR DS:[8894E0] *MessageBoxA
PUSH 0
CALL DWORD PTR DS:[889220] *ExitProcess
INT3
INT3
PUSH *OFFSET DEL ASCII "GameDefender.dll" /Despues de todo el hookeo, este sera el nuevo entrypoint
CALL DWORD PTR DS:[889218] *LOAD LIBRARY A
OR EAX,EAX
JE SHORT 00888FB4 *OFFSET DONDE ASOMARA EL MENSAJE EN CASO DE NO ENCONTRAR LA DLL
JMP ENTRYPOINT ORIGINAL - cuando abres con ollydbg el main, la primera linea que se inicia ya seleccionada por el ollydbg es el entrypoint, esto es en caso que no hayas hecho ningun otro hook y no hayas cambiado el entrypoint original.
Luego con LordPE u otro programa similar cambiar el Entrypoint Original al de -->PUSH *OFFSET DEL ASCII "GameDefender.dll"
OBS: sao so textos que eu guardo.
mais podem ser importante para alguem.
creditos sao diversos.
meu apenas de ter postado.
agradecer nao doi o dedo.
Open OllyDBG
Press ¨Ctrl+G¨ Paste The offset in Red and select ¨Ok¨
Presiona ¨Crtl+G¨copia y pega las offsets que estan en ojo y le das ¨Ok¨
Y luego cambias el valor decimal, ejemplo:
005E18E5 |> 837D F8 11 CMP DWORD PTR SS:[EBP-8],11 <<<<<Antes (Before)
005E18E5 |> 837D F8 11 CMP DWORD PTR SS:[EBP-8],50 <<<<<Despues (After)
Main 1,06A+
(.BMD´s Limits)
005E18E5 |> 837D F8 11 CMP DWORD PTR SS:[EBP-8],11 <<<<<Sword
005E19B8 |> 837D F8 09 CMP DWORD PTR SS:[EBP-8],9 <<<<<Axe
005E19F5 |> 837D F8 07 CMP DWORD PTR SS:[EBP-8],7 <<<<<Mace
005E1A4B |> 837D F8 05 CMP DWORD PTR SS:[EBP-8],5 <<<<<Mace(other)
005E1AA1 |> 837D F8 0A CMP DWORD PTR SS:[EBP-8],0A <<<<<Spear
005E1AF7 |> 837D F8 0F CMP DWORD PTR SS:[EBP-8],0F <<<<<Shield
005E1B66 |> 837D F8 09 CMP DWORD PTR SS:[EBP-8],9 <<<<<Staff
005E1BEE |> 837D F8 14 CMP DWORD PTR SS:[EBP-8],14 <<<<<Staff(other)
005E1C2B |> 837D F8 07 CMP DWORD PTR SS:[EBP-8],7 <<<<<Bow
005E1C68 |> 837D F8 07 CMP DWORD PTR SS:[EBP-8],7 <<<<<CrossBow
005E2A18 |> 837D F8 03 CMP DWORD PTR SS:[EBP-8],3 <<<<<Wing
005E2A54 |> 837D F8 04 CMP DWORD PTR SS:[EBP-8],4 <<<<<Wing
005E2A90 |> 837D F8 04 CMP DWORD PTR SS:[EBP-8],4 <<<<<Wing
005E2AE5 |> 837D F8 2B CMP DWORD PTR SS:[EBP-8],2B <<<<<Wing
(Textures Limits) Offsets de Limite de texturas:
005E397D |> 837D F8 11 CMP DWORD PTR SS:[EBP-8],11 <<<<<Sword
005E3B1B |> 837D F8 14 CMP DWORD PTR SS:[EBP-8],14 <<<<<Axe
005E3B58 |> 837D F8 1C CMP DWORD PTR SS:[EBP-8],1C <<<<<Mace
005E3B95 |> 837D F8 05 CMP DWORD PTR SS:[EBP-8],5 <<<<<Mace(other)
005E3BD1 |> 837D F8 02 CMP DWORD PTR SS:[EBP-8],2 <<<<<Spear
005E3C2C |> 837D F8 15 CMP DWORD PTR SS:[EBP-8],15 <<<<<Shield
005E3C69 |> 837D F8 04 CMP DWORD PTR SS:[EBP-8],4 <<<<<Staff
005E3D95 |> 837D F8 13 CMP DWORD PTR SS:[EBP-8],13 <<<<<Staff(other)
005E3EFE |> 837D F8 03 CMP DWORD PTR SS:[EBP-8],3 <<<<<Bow
005E3F3B |> 837D F8 02 CMP DWORD PTR SS:[EBP-8],2 <<<<<CrosssBow
005E3F77 |> 837D F8 06 CMP DWORD PTR SS:[EBP-8],6 <<<<<Wings(not tested)
005E3FB4 |> 837D F8 02 CMP DWORD PTR SS:[EBP-8],2 <<<<<Unknowed(desconocido)
Main 1,05T+
(Textures Limits) Offsets de Limite de texturas:
005CDEC4 |> 837D FC 11 CMP DWORD PTR SS:[EBP-4],11 <<<<<Sword
005CE062 |> 837D FC 14 CMP DWORD PTR SS:[EBP-4],14 <<<<<Axe
005CE09F |> 837D FC 1C CMP DWORD PTR SS:[EBP-4],1C <<<<<Mace
005CE0DC |> 837D FC 05 CMP DWORD PTR SS:[EBP-4],5 <<<<<Mace(other)
005CE118 |> 837D FC 02 CMP DWORD PTR SS:[EBP-4],2 <<<<<Spear
005CE173 |> 837D FC 15 CMP DWORD PTR SS:[EBP-4],15 <<<<<Shield
005CE1B0 |> 837D FC 04 CMP DWORD PTR SS:[EBP-4],4 <<<<<Staff
005CE2DC |> 837D FC 13 CMP DWORD PTR SS:[EBP-4],13 <<<<<Staff(other)
005CE445 |> 837D FC 03 CMP DWORD PTR SS:[EBP-4],3 <<<<<Bow
005CE482 |> 837D FC 02 CMP DWORD PTR SS:[EBP-4],2 <<<<<CrosssBow
005CE4BE |> 837D FC 06 CMP DWORD PTR SS:[EBP-4],6 <<<<<Wings(not tested)
005CE4FB |> 837D FC 02 CMP DWORD PTR SS:[EBP-4],2 <<<<<Unknowed(desconocido)
Main 1,05x+
(Textures Limits) Offsets de Limite de texturas:
005CDD64 |> 837D FC 11 CMP DWORD PTR SS:[EBP-4],11 <<<<<Sword
005CDF02 |> 837D FC 14 CMP DWORD PTR SS:[EBP-4],14 <<<<<Axe
005CDF3F |> 837D FC 1C CMP DWORD PTR SS:[EBP-4],1C <<<<<Mace
005CDF7C |> 837D FC 05 CMP DWORD PTR SS:[EBP-4],5 <<<<<Mace(other)
005CDFB8 |> 837D FC 02 CMP DWORD PTR SS:[EBP-4],2 <<<<<Spear
005CE013 |> 837D FC 15 CMP DWORD PTR SS:[EBP-4],15 <<<<<Shield
005CE050 |> 837D FC 04 CMP DWORD PTR SS:[EBP-4],4 <<<<<Staff
005CE17C |> 837D FC 13 CMP DWORD PTR SS:[EBP-4],13 <<<<<Staff(other)
005CE2E5 |> 837D FC 03 CMP DWORD PTR SS:[EBP-4],3 <<<<<Bow
005CE322 |> 837D FC 02 CMP DWORD PTR SS:[EBP-4],2 <<<<<CrosssBow
005CE35E |> 837D FC 06 CMP DWORD PTR SS:[EBP-4],6 <<<<<Wings(not tested)
005CE39B |> 837D FC 02 CMP DWORD PTR SS:[EBP-4],2 <<<<<Unknowed(desconocido)
Main 1,05k+
Offset Para 1,05k+.txt
cam 3d
if(mgfunc.mainver.Find("107N")==0)
{
//ver.1.07N Main.exe Offsets
Camera_Zoom = (float*) 0x4A7839; //
Camera_GlClip = (float*) 0x4A7A24; //
Camera_RotY = (float*) 0x8E198C; //
Camera_RotZ = (float*) 0x818BB88; //
Camera_PosZ = (float*) 0x8E1364; //
Camera_ClipX = (float*) 0x8E227C; //
Camera_ClipY = (float*) 0x5DBFD9; //
}
else if(mgfunc.mainver.Find("107x")==0)
{
//ver.1.07x Main.exe Offsets
Camera_Zoom = (float*) 0x623159;
Camera_GlClip = (float*) 0x623344;
Camera_RotY = (float*) 0x8E02EC;
Camera_RotZ = (float*) 0x8187FA8;
Camera_PosZ = (float*) 0x8DF35C;
Camera_ClipX = (float*) 0x8E01B4;
Camera_ClipY = (float*) 0x5CC759;
}
else if(mgfunc.mainver.Find("107h")==0)
{
//ver.1.07h Main.exe Offsets
Camera_Zoom = (float*) 0x61E7F9;
Camera_GlClip = (float*) 0x61E9E4;
Camera_RotY = (float*) 0x8D22CC;
Camera_RotZ = (float*) 0x81772B8;
Camera_PosZ = (float*) 0x8D1350;
Camera_ClipX = (float*) 0x8D2194;
Camera_ClipY = (float*) 0x5C8829;
}
else if(mgfunc.mainver.Find("104j")==0)
{
//ver.1.04j Main.exe Offsets
Camera_GlClip = (float*) 0x6364ad; ///
Camera_Zoom = (float*) 0x660390; ///
Camera_RotY = (float*) 0x758A30; ///
Camera_RotZ = (float*) 0x7AFE994; ///
Camera_PosZ = (float*) 0x757994; ///
Camera_ClipX = (float*) 0x7588B4; ///
Camera_ClipY = (float*) 0x608347; ///
}
else if(mgfunc.mainver.Find("103kJ")==0)
{
//ver.1.03k japan Main.exe Offsets
Camera_GlClip = (float*) 0x6003d4; ///
Camera_Zoom = (float*) 0x6001E9; ///
Camera_RotY = (float*) 0x88BC78; ///
Camera_RotZ = (float*) 0x809F150; ///
Camera_PosZ = (float*) 0x88ACFC; ///
Camera_ClipX = (float*) 0x88BB18; ///
Camera_ClipY = (float*) 0x5AB4CD; ///
}
else if(mgfunc.mainver.Find("105D")==0)
{
//ver.1.05D+ Main.exe Offsets
Camera_Zoom = (float*) 0x5EB2E9; //
Camera_GlClip = (float*) 0x5EB4D4; //
Camera_RotY = (float*) 0x814BE8; //
Camera_RotZ = (float*) 0x7FE025C; //
Camera_PosZ = (float*) 0x813CBC; //
Camera_ClipX = (float*) 0x814AA0; //
Camera_ClipY = (float*) 0x59DAA4; //
}
else if(mgfunc.mainver.Find("106D")==0)
{
Camera_Zoom = (float*) 0x606879; //
Camera_GlClip = (float*) 0x606A64; //
Camera_RotY = (float*) 0x87DEB4; //
Camera_RotZ = (float*) 0x8117438; //
Camera_PosZ = (float*) 0x87CF5C; //
Camera_ClipX = (float*) 0x87DD84; //
Camera_ClipY = (float*) 0x5B53D9; //
}
else if(mgfunc.mainver.Find("106B")==0)
{
//ver.1.06B+ Main.exe Offsets
Camera_Zoom = (float*) 0x606849;
Camera_GlClip = (float*) 0x606A34;
Camera_RotY = (float*) 0x87DEA4;
Camera_RotZ = (float*) 0x8117398;
Camera_PosZ = (float*) 0x87CF4C;
Camera_ClipX = (float*) 0x87DD74;
Camera_ClipY = (float*) 0x5B53D9;
}
else if(mgfunc.mainver.Find("105S")==0)
{
// ver.1.05S Main.exe Offsets
Camera_Zoom = (float*) 0x5EFFF9;
Camera_GlClip = (float*) 0x5F01E4;
Camera_RotY = (float*) 0x824C28;
Camera_RotZ = (float*) 0x7FF263C;
Camera_PosZ = (float*) 0x823CBC;
Camera_ClipX = (float*) 0x824AD8;
Camera_ClipY = (float*) 0x5A0E1D;
}
else if(mgfunc.mainver.Find("105T")==0)
{
// ver.1.05T Main.exe Offsets
Camera_Zoom = (float*) 0x5EFDE9; //
Camera_GlClip = (float*) 0x5EFFD4; //
Camera_RotY = (float*) 0x824C28; //
Camera_RotZ = (float*) 0x7FF262C; //
Camera_PosZ = (float*) 0x823CBC; //
Camera_ClipX = (float*) 0x824AD8; //
Camera_ClipY = (float*) 0x5A0BDD; //
}
else if(mgfunc.mainver.Find("105H")==0)
{
//ver.1.05H Main.exe Offsets
Camera_Zoom = (float*) 0x5EB179; //
Camera_GlClip = (float*) 0x5EB364; //
Camera_RotY = (float*) 0x814BE8; //
Camera_RotZ = (float*) 0x7FE0254; //
Camera_PosZ = (float*) 0x813CBC; //
Camera_ClipX = (float*) 0x814AA0; //
Camera_ClipY = (float*) 0x59D934; //
}
else if(mgfunc.mainver.Find("105X")==0)
{
// ver.1.05X+ Main.exe Offsets
Camera_Zoom = (float*) 0x5EFEC9; //
Camera_GlClip = (float*) 0x5F00B4; //
Camera_RotY = (float*) 0x825C28;//
Camera_RotZ = (float*) 0x7FF35FC; //
Camera_PosZ = (float*) 0x824CBC; //
Camera_ClipX = (float*) 0x825AD8;//
Camera_ClipY = (float*) 0x5A0C7D;//
}
else if(mgfunc.mainver.Find("102h")==0)
{
// ver.1.02h Vietnam
Camera_Zoom = (float*) 0x6A1910; //
Camera_GlClip = (float*) 0x67FE73; //
Camera_RotY = (float*) 0x7198A8; //
Camera_RotZ = (float*) 0x8058CE0;
Camera_PosZ = (float*) 0x717718; //
Camera_ClipX = (float*) 0x7197C4; //
Camera_ClipY = (float*) 0x653D77; //
}
else if(mgfunc.mainver.Find("102c")==0)
{
// ver.1.02c GMO
Camera_GlClip = (float*) 0x6b2373;
Camera_Zoom = (float*) 0x6b20d0;
Camera_RotY = (float*) 0x7858b8;
Camera_RotZ = (float*) 0x7E80758;
Camera_PosZ = (float*) 0x783720;
Camera_ClipX = (float*) 0x7857d4;
Camera_ClipY = (float*) 0x65f837;
}
fix exdb
Veja abaixo como ira ficar.
0046FB38 55 50 44 41|54 45 20 47|75 69 6C 64|20 53 45 54| UPDATE Guild SET
0046FB48 20 47 5F 4E|6F 74 69 63|65 3D 27 25|73 27 20 57| G_Notice='%s' W
0046FB58 48 45 52 45|20 47 5F 4E|61 6D 65 3D|27 25 73 27| HERE G_Name='%s'
Para
0046FB38 55 50 44 41|54 45 20 47|75 69 6C 64|20 53 45 54| UPDATE Guild SET
0046FB48 20 47 5F 4E|6F 74 69 63|65 3D 27 25|73 27 20 57| G_Notice='%d' W
0046FB58 48 45 52 45|20 47 5F 4E|61 6D 65 3D|27 25 73 27| HERE G_Name='%s'
HOOK DE DLLS COM FUNÇÃO :
Código:
PUSH Offset com o nome da .dll<antihack.dll>
CALL [LoadlibraryA]
OR EAX,EAX
JE 0 Ou qualquer offset vazio bem longe
PUSH Offset com o nome da Função<Main>
PUSH EAX
CALL [GetProcAddress]
CALL EAX
JMP ENTRY POINT
HOOK DE DLLS SEM FUNÇÃO :
Código:
PUSH <Offset Com o Nome da DLL>
CALL [ LoadLibraryA ]
JMP ENTRYPOINT
dll gamedefender
Hookeo de GD.dll gente con conocimiento
bueno, yo uso este metodo de hockeo, en mi caso yo lo puse de la siguiente manera q me funcionara.
Para empezar recordemos buscar offsets libres (DB 00)
*Un OFFSET para el ASCII de GameDefender.dll
*Un OFFSET para el ASCII de Error
*Un OFFSET para el ASCII de Dll no encontrada!
INT3
INT3
PUSH 0 *ESTO ES EN CASO DE QUE QUIERAN BORRAR LA DLL, EL MAIN TIRARA ERROR/ ESTE ES EL OFFSET 00888FB4 EN MI CASO
PUSH *OFFSET DEL ASCII "ERROR"
PUSH *OFFSET DEL ASCII "DLL NO ENCONTRADA!"
PUSH 0
CALL DWORD PTR DS:[8894E0] *MessageBoxA
PUSH 0
CALL DWORD PTR DS:[889220] *ExitProcess
INT3
INT3
PUSH *OFFSET DEL ASCII "GameDefender.dll" /Despues de todo el hookeo, este sera el nuevo entrypoint
CALL DWORD PTR DS:[889218] *LOAD LIBRARY A
OR EAX,EAX
JE SHORT 00888FB4 *OFFSET DONDE ASOMARA EL MENSAJE EN CASO DE NO ENCONTRAR LA DLL
JMP ENTRYPOINT ORIGINAL - cuando abres con ollydbg el main, la primera linea que se inicia ya seleccionada por el ollydbg es el entrypoint, esto es en caso que no hayas hecho ningun otro hook y no hayas cambiado el entrypoint original.
Luego con LordPE u otro programa similar cambiar el Entrypoint Original al de -->PUSH *OFFSET DEL ASCII "GameDefender.dll"
OBS: sao so textos que eu guardo.
mais podem ser importante para alguem.
creditos sao diversos.
meu apenas de ter postado.
agradecer nao doi o dedo.