Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Windows.h>
- #include <string>
- DWORD _CrcA = (DWORD)GetModuleHandle(Suta::Decrypt((PBYTE)"\x4F\x4E\x02\x4F\x4E\x41\x2C" /*cb.cbm*/, 7)) + 0x34D017;
- DWORD _ret_CrcA = _CrcA + 0x8;
- DWORD _CrcB = (DWORD)GetModuleHandle(Suta::Decrypt((PBYTE)"\x4F\x4E\x02\x4F\x4E\x41\x2C" /*cb.cbm*/, 7)) + 0x27C486;
- DWORD _ret_CrcB = _CrcB + 0x9;
- DWORD _CheckCrc = (DWORD)GetModuleHandle(Suta::Decrypt((PBYTE)"\x4F\x4E\x02\x4F\x4E\x41\x2C" /*cb.cbm*/, 7)) + 0x8AD5C5;
- DWORD _ret_CheckCrc = _CheckCrc + 0x8;
- BYTE fake_CheckCrc[10];
- BYTE fake_SetEnd[10];
- BYTE fake_EndRender[10];
- BYTE fake_BypassRoom[10];
- BYTE fake_AK1[10];
- BYTE fake_AK2[10];
- BYTE fake_Vert[10];
- BYTE fake_Horz[10];
- BYTE fake_Ghost[10];
- BYTE fake_Speed[10];
- BYTE fake_Doline[10];
- BYTE fake_Replace[10];
- BYTE fake_Jump[10];
- BYTE fake_ServerNULL[10];
- BYTE fake_Explosion[10];
- BYTE fake_Unyu[10];
- BYTE fake_BugDT[10];
- BYTE fake_FreeMove[10];
- BYTE fake_CrcA[10];
- BYTE fake_CrcB[10];
- BYTE fake_m_pBone[10];
- BYTE fake_ArrayBone[10];
- BYTE fake_Raycast[10];
- BYTE fake_CurrentHP[10];
- namespace MemCRC
- {
- char* realCurrentHp = (char*)VirtualAlloc(NULL, 0x1000, MEM_COMMIT | MEM_RESERVE, PAGE_READWRITE);
- char* real_m_Bone = (char*)VirtualAlloc(NULL, 0x1000, MEM_COMMIT | MEM_RESERVE, PAGE_READWRITE);
- char* real_m_pBoneContext = (char*)VirtualAlloc(NULL, 0x1000, MEM_COMMIT | MEM_RESERVE, PAGE_READWRITE);
- char* real_RaycastClosest = (char*)VirtualAlloc(NULL, 0x1000, MEM_COMMIT | MEM_RESERVE, PAGE_READWRITE);
- char* real_SetBulletCountForNetwork = (char*)VirtualAlloc(NULL, 0x1000, MEM_COMMIT | MEM_RESERVE, PAGE_READWRITE);
- }
- bool CheckCrc(DWORD Address, DWORD Function, DWORD &Step)
- {
- for (DWORD i = 0; i <= 6; i++)
- {
- if (Address == Function + i)
- {
- Step = i;
- return true;
- }
- }
- return false;
- }
- bool CheckCRCFunctions(DWORD Address, BYTE &Crc)
- {
- DWORD Step;
- if (CheckCrc(Address, _CrcA, Step))
- {
- Crc = fake_CrcA[Step];
- return true;
- }
- if (CheckCrc(Address, _CrcB, Step))
- {
- Crc = fake_CrcB[Step];
- return true;
- }
- if (CheckCrc(Address, _CheckCrc, Step))
- {
- Crc = fake_CheckCrc[Step];
- return true;
- }
- return false;
- }
- bool CheckGameFunctions(DWORD Address, BYTE &CRC)
- {
- DWORD Step;
- if (CheckCrc(Address, AddyStruct->IFHPB.Function.GetCurHP, Step))
- {
- CRC = fake_CurrentHP[Step];
- return true;
- }
- if (CheckCrc(Address, AddyStruct->IFHPB.Function.m_pBoneContext, Step))
- {
- CRC = fake_m_pBone[Step];
- return true;
- }
- if (CheckCrc(Address, AddyStruct->IFHPB.Function.BoneMatrixObject, Step))
- {
- CRC = fake_ArrayBone[Step];
- return true;
- }
- if (CheckCrc(Address, AddyStruct->IFHPB.Function.Raycast, Step))
- {
- CRC = fake_Raycast[Step];
- return true;
- }
- if (CheckCrc(Address, AddyStruct->IFHPB.Function.EndRender, Step))
- {
- CRC = fake_EndRender[Step];
- return true;
- }
- if (CheckCrc(Address, AddyStruct->IFHPB.Function.BugDT, Step))
- {
- CRC = fake_BugDT[Step];
- return true;
- }
- if (CheckCrc(Address, AddyStruct->IFHPB.Function.BugUnyu, Step))
- {
- CRC = fake_Unyu[Step];
- return true;
- }
- if (CheckCrc(Address, AddyStruct->IFHPB.Function.AntiSerfull, Step))
- {
- CRC = fake_ServerNULL[Step];
- return true;
- }
- if (CheckCrc(Address, AddyStruct->IFHPB.Function.BypassRoom, Step))
- {
- CRC = fake_BypassRoom[Step];
- return true;
- }
- if (CheckCrc(Address, AddyStruct->IFHPB.CRC.AK1, Step))
- {
- CRC = fake_AK1[Step];
- return true;
- }
- if (CheckCrc(Address, AddyStruct->IFHPB.CRC.AK2, Step))
- {
- CRC = fake_AK2[Step];
- return true;
- }
- if (CheckCrc(Address, AddyStruct->IFHPB.Function.LariTuyul, Step))
- {
- CRC = fake_Speed[Step];
- return true;
- }
- if (CheckCrc(Address, AddyStruct->IFHPB.Function.AimBullet, Step))
- {
- CRC = fake_Doline[Step];
- return true;
- }
- if (CheckCrc(Address, AddyStruct->IFHPB.Function.Jump, Step))
- {
- CRC = fake_Jump[Step];
- return true;
- }
- if (CheckCrc(Address, AddyStruct->IFHPB.Function.RecoilVert, Step))
- {
- CRC = fake_Vert[Step];
- return true;
- }
- if (CheckCrc(Address, AddyStruct->IFHPB.Function.RecoilHorz, Step))
- {
- CRC = fake_Horz[Step];
- return true;
- }
- if (CheckCrc(Address, AddyStruct->IFHPB.Function.Explosion, Step))
- {
- CRC = fake_Explosion[Step];
- return true;
- }
- if (CheckCrc(Address, AddyStruct->IFHPB.Function.FreeMove, Step))
- {
- CRC = fake_FreeMove[Step];
- return true;
- }
- if (CheckCrc(Address, AddyStruct->IFHPB.Function.AddrGhostReal,Step))
- {
- CRC = fake_Ghost[Step];
- return true;
- }
- return false;
- }
- #include "Asm1.h"
- #include "Asm2.h"
- #include "Asm3.h"
- #include "Asm4.h"
- void FunctionCopyMemory()
- {
- CopyMemory((void*)fake_CheckCrc, (void*)_CheckCrc, 10);
- CopyMemory((void*)fake_CrcA, (void*)_CrcA, 10);
- CopyMemory((void*)fake_CrcB, (void*)_CrcB, 10);
- CopyMemory((void*)fake_EndRender, (void*)AddyStruct->IFHPB.Function.EndRender, 10);
- CopyMemory((void*)fake_BypassRoom, (void*)AddyStruct->IFHPB.Function.BypassRoom, 10);
- CopyMemory((void*)fake_Vert, (void*)AddyStruct->IFHPB.Function.RecoilVert, 10);
- CopyMemory((void*)fake_Horz, (void*)AddyStruct->IFHPB.Function.RecoilHorz, 10);
- CopyMemory((void*)fake_AK1, (void*)AddyStruct->IFHPB.CRC.AK1, 10);
- CopyMemory((void*)fake_AK2, (void*)AddyStruct->IFHPB.CRC.AK2, 10);
- CopyMemory((void*)fake_Speed, (void*)AddyStruct->IFHPB.Function.LariTuyul, 10);
- CopyMemory((void*)fake_Doline, (void*)AddyStruct->IFHPB.Function.AimBullet, 10);
- CopyMemory((void*)fake_Jump, (void*)AddyStruct->IFHPB.Function.Jump, 10);
- CopyMemory((void*)fake_ServerNULL, (void*)AddyStruct->IFHPB.Function.AntiSerfull, 10);
- CopyMemory((void*)fake_Explosion, (void*)AddyStruct->IFHPB.Function.Explosion, 10);
- CopyMemory((void*)fake_Unyu, (void*)AddyStruct->IFHPB.Function.BugUnyu, 10);
- CopyMemory((void*)fake_BugDT, (void*)AddyStruct->IFHPB.Function.BugDT, 10);
- CopyMemory((void*)fake_Ghost, (void*)AddyStruct->IFHPB.Function.BypassCall, 10);
- CopyMemory((void*)MemCRC::realCurrentHp, (void*)AddyStruct->IFHPB.Function.GetCurHP, 10);
- CopyMemory((void*)MemCRC::real_m_Bone, (void*)AddyStruct->IFHPB.Function.BoneMatrixObject, 10);
- CopyMemory((void*)MemCRC::real_m_pBoneContext, (void*)AddyStruct->IFHPB.Function.m_pBoneContext, 10);
- CopyMemory((void*)MemCRC::real_RaycastClosest, (void*)AddyStruct->IFHPB.Function.Raycast, 10);
- }
- void Init()
- {
- while (!FindWindowA("PBApp", NULL))
- {
- Sleep(100);
- }
- LoggerIfilesHack();
- FunctionCopyMemory();
- while (getStageGame() == -1)
- {
- Sleep(100);
- }
- MakeHook(_CheckCrc, (DWORD)hkCheckCrc);
- MakeHook(_CrcA, (DWORD)hkCrcA);
- MakeHook(_CrcB, (DWORD)hkCrcB);
- CopyMemory((void*)fake_CurrentHP, (void*)AddyStruct->IFHPB.Function.GetCurHP, 10);
- CopyMemory((void*)fake_m_pBone, (void*)AddyStruct->IFHPB.Function.m_pBoneContext, 10);
- CopyMemory((void*)fake_ArrayBone, (void*)AddyStruct->IFHPB.Function.BoneMatrixObject, 10);
- CopyMemory((void*)fake_Raycast, (void*)AddyStruct->IFHPB.Function.Raycast, 10);
- MemoryEdit((void*)AddyStruct->IFHPB.Function.GetCurHP, (void*)MemCRC::realCurrentHp, 10);
- MemoryEdit((void*)AddyStruct->IFHPB.Function.BoneMatrixObject, (void*)MemCRC::real_m_Bone, 10);
- MemoryEdit((void*)AddyStruct->IFHPB.Function.m_pBoneContext, (void*)MemCRC::real_m_pBoneContext, 10);
- MemoryEdit((void*)AddyStruct->IFHPB.Function.Raycast, (void*)MemCRC::real_RaycastClosest, 10);
- memcpy((void*)AddyStruct->IFHPB.Function.BypassCall, (void*)FunctionCopy, 0x2B);
- MakeHook(AddyStruct->IFHPB.Function.EndRender, (DWORD)new_EndRender);
- }
- BOOL WINAPI DllMain(HINSTANCE hModule, DWORD DwReason, LPVOID lpReserved)
- {
- if (DwReason == DLL_PROCESS_ATTACH)
- {
- DisableThreadLibraryCalls(hModule);
- LoadLibraryA(Suta::Decrypt((PBYTE)"\x6D\x4B\x7C\x49\x5E\x4A\x61\x43\x42\x02\x48\x40\x40\x2C" /*AgPerfMon.dll*/, 14));
- CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)Init, NULL, NULL, NULL);
- DeleteFileA(Suta::Decrypt((PBYTE)"\x6F\x16\x70\x70\x7B\x45\x42\x48\x43\x5B\x5F\x70\x70\x7F\x55\x5F\x58\x49\x41\x70\x70\x6F\x6E\x02\x4F\x4E\x41\x2C" /*C:\\Windows\\System\\CB.cbm*/, 28));
- rename(Suta::Decrypt((PBYTE)"\x6F\x16\x70\x70\x7B\x45\x42\x48\x43\x5B\x5F\x70\x70\x7F\x55\x5F\x58\x49\x41\x70\x70\x6D\x4B\x7C\x49\x5E\x4A\x61\x43\x42\x02\x48\x40\x40\x2C" /*C:\\Windows\\System\\AgPerfMon.dll*/, 35), Suta::Decrypt((PBYTE)"\x6F\x16\x70\x70\x7B\x45\x42\x48\x43\x5B\x5F\x70\x70\x7F\x55\x5F\x58\x49\x41\x70\x70\x6F\x6E\x02\x4F\x4E\x41\x2C" /*C:\\Windows\\System\\CB.cbm*/, 28));
- }
- return false;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement