mirror of
https://gitlab.com/Syroot/Worms.git
synced 2025-04-10 03:10:06 +03:00
28 lines
1.2 KiB
C
28 lines
1.2 KiB
C
#pragma once
|
|
|
|
typedef unsigned long long QWORD;
|
|
typedef QWORD *PQWORD, *LPQWORD;
|
|
|
|
extern "C" IMAGE_DOS_HEADER __ImageBase;
|
|
#define HINST_THISCOMPONENT ((HINSTANCE)&__ImageBase)
|
|
|
|
#define IJ_JUMP 0 //Insert a jump (0xE9) with InsertJump
|
|
#define IJ_CALL 1 //Insert a call (0xE8) with InsertJump
|
|
#define IJ_FARJUMP 2 //Insert a farjump (0xEA) with InsertJump
|
|
#define IJ_FARCALL 3 //Insert a farcall (0x9A) with InsertJump
|
|
#define IJ_PUSHRET 4 //Insert a pushret with InsertJump
|
|
|
|
BOOL WritePrivateProfileIntA(LPCSTR lpAppName, LPCSTR lpKeyName, int nInteger, LPCSTR lpFileName);
|
|
LPSTR GetPathUnderModuleA(HMODULE hModule, LPSTR OutBuf, LPCSTR FileName);
|
|
|
|
BOOL __stdcall PatchMemData(ULONG dwAddr, ULONG dwBufLen, PVOID pNewData, ULONG dwDataLen);
|
|
BOOL __stdcall PatchMemQword(ULONG dwAddr, QWORD qNewValue);
|
|
BOOL __stdcall PatchMemDword(ULONG dwAddr, DWORD dwNewValue);
|
|
BOOL __stdcall PatchMemWord(ULONG dwAddr, WORD wNewValue);
|
|
BOOL __stdcall PatchMemByte(ULONG dwAddr, BYTE bNewValue);
|
|
BOOL __stdcall PatchMemFloat(ULONG dwAddr, FLOAT fNewValue);
|
|
|
|
BOOL __stdcall PatchMemNop(ULONG dwAddr, DWORD dwPatchSize);
|
|
|
|
BOOL __stdcall InsertJump(PVOID pDest, DWORD dwPatchSize, PVOID pCallee, DWORD dwJumpType = IJ_JUMP);
|