Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- HookPatch.cpp
- __declspec(naked) void NKD_PersonManagerCTor()
- {
- __asm
- {
- MOV BYTE PTR DS : [EAX + 0x878], 0
- MOV EAX, DWORD PTR SS : [EBP - 0x74]
- PUSH EAX
- CALL HKD_PersonManagerCTor
- PUSH 0x04DCCBE
- RETN
- }
- }
- __declspec(naked) void NKD_OpenWindowPerso()
- {
- __asm
- {
- MOV ECX, DWORD PTR SS:[EBP-0x9C]
- PUSH ECX
- CALL HKD_OpenWindowPerso
- PUSH 1
- MOV EAX, DWORD PTR SS : [EBP - 0x9C]
- PUSH 0x04E9FAB
- RETN
- }
- }
- __declspec(naked) void NKD_OnUserOutOfScreen()
- {
- __asm
- {
- MOV ECX, DWORD PTR SS : [EBP - 0x18]
- PUSH ECX
- CALL HKD_OnUserOutOfScreen
- MOV ECX, DWORD PTR SS : [EBP - 0x18]
- CMP DWORD PTR DS : [ECX + 0x3D0], 0
- PUSH 0x04DE2EB
- RETN
- }
- }
- #pragma optimize( "", off )
- __declspec(naked) void NKD_RefreshPosition()
- {
- __asm
- {
- PUSH DWORD PTR SS : [EBP - 0x40] //
- PUSH DWORD PTR SS : [EBP - 0x4C] //
- PUSH DWORD PTR SS : [EBP - 0xC] //
- PUSH DWORD PTR SS : [EBP - 0x88] //
- MOV EDX, DWORD PTR SS:[EBP-0x9C]
- PUSH EDX
- CALL HKD_RefreshPosition
- FLD DWORD PTR DS : [0x5CEA58]
- PUSH 0x04EAA20
- RETN
- }
- }
- __declspec(naked) void NKD_OnOutOfCamera()
- {
- __asm
- {
- MOV EAX, DWORD PTR SS : [EBP - 0x9C]
- PUSH EAX
- CALL HKD_OnOutOfCamera
- MOV EAX, DWORD PTR SS : [EBP - 0x9C]
- PUSH 0x04EB272
- RETN
- }
- }
- __declspec(naked) void NKD_OnNClick()
- {
- __asm
- {
- MOV EAX, DWORD PTR SS : [EBP - 0x9C]
- PUSH EAX
- CALL HKD_OnNClick
- MOV EAX, DWORD PTR SS : [EBP - 0x9C]
- PUSH 0x04E966A
- RETN
- }
- }
- #pragma optimize( "", on )
- JMP_NEAR(0x04E9664, NKD_OnNClick, 1);
- JMP_NEAR(0x04EB26C, NKD_OnOutOfCamera, 1);
- JMP_NEAR(0x04EAA1A, NKD_RefreshPosition, 1);
- JMP_NEAR(0x04DE2E1, NKD_OnUserOutOfScreen, 5);
- JMP_NEAR(0x04E9FA3, NKD_OpenWindowPerso, 3);
- JMP_NEAR(0x04DCCB7, NKD_PersonManagerCTor, 2);
- SetConst.cpp
- void MallocSizeChangesOnPersonManagerClass()
- {
- *(short*)(0x043DC00 + 1) = 0x87C + NEW_ADD_MALLOC_SIZE;
- *(short*)(0x0445961 + 1) = 0x87C + NEW_ADD_MALLOC_SIZE;
- *(short*)(0x04890E3 + 1) = 0x87C + NEW_ADD_MALLOC_SIZE;
- *(short*)(0x04AD99A + 1) = 0x87C + NEW_ADD_MALLOC_SIZE;
- *(short*)(0x04B210B + 1) = 0x87C + NEW_ADD_MALLOC_SIZE;
- *(short*)(0x04B303D + 1) = 0x87C + NEW_ADD_MALLOC_SIZE;
- *(short*)(0x04B72CE + 1) = 0x87C + NEW_ADD_MALLOC_SIZE;
- *(short*)(0x04ABAA2 + 1) = 0x87C + NEW_ADD_MALLOC_SIZE;
- }
- Defines
- #define NEW_ADD_MALLOC_SIZE 20
- #define EMBLEM_ACESS_ADDR 0x87C + 4
- PersoDraw.cpp
- void __stdcall HKD_OnNClick(int thisPointer)
- {
- if (GetPointerValue(thisPointer, EMBLEM_ACESS_ADDR) != 0)
- {
- CloseWindow(GetPointerValue(thisPointer, EMBLEM_ACESS_ADDR));
- }
- }
- void __stdcall HKD_OnOutOfCamera(int thisPointer)
- {
- if (GetPointerValue(thisPointer, EMBLEM_ACESS_ADDR) != 0)
- {
- CloseWindow(GetPointerValue(thisPointer, EMBLEM_ACESS_ADDR));
- }
- }
- void __stdcall HKD_RefreshPosition(int thisPointer, float v67, int v83, int v71, float v74)
- {
- //auto x = v67 - 3.0, ;
- //auto y = (float)v83 - (float)(6 * (v71 + 2)) * 1.7075f / 20.0 + 27.0;
- RefreshPosition(GetPointerValue(thisPointer, EMBLEM_ACESS_ADDR), v67 - 3.0,
- (float)v83 - (float)(6 * (v71 + 2)) * 1.7075f / 20.0 + 27.0);
- }
- void __stdcall HKD_OnUserOutOfScreen(int thisPointer)
- {
- CloseWindow(GetPointerValue(thisPointer, EMBLEM_ACESS_ADDR));
- }
- void __stdcall HKD_OpenWindowPerso(int thisPointer)
- {
- OpenWindow(GetPointerValue(thisPointer, EMBLEM_ACESS_ADDR));
- }
- void __stdcall HKD_PersonManagerCTor(int thisPointer)
- {
- SetManagerOnPointer(thisPointer, EMBLEM_ACESS_ADDR, SetTexture(550, 15.0f, 15.0f));
- ChangeTextureFromUITextureList(GetPointerValue(thisPointer, EMBLEM_ACESS_ADDR), 1);
- InitializeWindow(GetPointerValue(thisPointer, EMBLEM_ACESS_ADDR));
- }
- void SetManagerOnPointer(int thisPointer, int acessAddr, int value)
- {
- *(int*)(thisPointer + acessAddr) = value;
- }
- int GetPointerValue(int thisPointer, int acessAddr)
- {
- return *(int*)(thisPointer + acessAddr);
- }
- int SetStringOnPerson(char * string)
- {
- int malloc = 0;
- int value = 0;
- __asm
- {
- PUSH 0x0E4C
- MOV EAX, 0x05B8113
- CALL EAX
- ADD ESP, 0x4
- MOV malloc, EAX
- PUSH 1
- PUSH 1
- PUSH 0x55AA0000
- PUSH 0
- PUSH 0x41800000
- PUSH 0x43480000
- PUSH 0
- PUSH 0
- PUSH 0x56
- PUSH string
- PUSH 1
- MOV ECX, malloc
- MOV EAX, 0x0401CCD
- CALL EAX
- MOV value, EAX
- }
- return value;
- }
- int SetTexture(int textureId, float sizeX, float sizeY)
- {
- int malloc = 0;
- int value = 0;
- __asm
- {
- PUSH 0x1E4
- MOV EAX, 0x05B8113
- CALL EAX
- ADD ESP, 4
- MOV DWORD PTR SS : [malloc], EAX
- PUSH 4
- PUSH -1
- PUSH sizeY
- PUSH sizeX
- PUSH 0x441EC000
- PUSH 0xC1200000
- PUSH textureId
- MOV ECX, DWORD PTR SS : [malloc]
- MOV EAX, 0x0401426
- CALL EAX
- MOV DWORD PTR SS : [value], EAX
- }
- return value;
- }
- void RefreshPosition(int id, float x, float y)
- {
- int callAddr = 0x0401286;
- __asm
- {
- PUSH y
- PUSH x
- MOV ECX, id
- CALL callAddr
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement