1 |
#ifndef DAODAN_PATCH_H |
2 |
#define DAODAN_PATCH_H |
3 |
|
4 |
#include "stdint.h" |
5 |
|
6 |
#define DDrPatch_Const(d, c) DDrPatch_String(d, c, sizeof(c)) |
7 |
|
8 |
#define OniExe ((char*)0x00400000) |
9 |
|
10 |
bool DDrPatch_MakeJump(void* from, void* to); |
11 |
bool DDrPatch_MakeCall(void* from, void* to); |
12 |
void* DDrPatch_MakeDetour(void* from, void* to); |
13 |
bool DDrPatch_String(char* dest, const unsigned char* string, int length); |
14 |
bool DDrPatch_Byte(char* dest, unsigned char value); |
15 |
bool DDrPatch_Int32(int* dest, unsigned int value); |
16 |
bool DDrPatch_Int16(short* dest, unsigned short value); |
17 |
bool DDrPatch_NOOP(char* dest, unsigned int length); |
18 |
void* DDrPatch_ExecutableASM(char* from, char* nextInst, const unsigned char* code, int length); |
19 |
|
20 |
void DDrPatch_PrintDisasm(void* addr, int instLimit, int sizeLimit); |
21 |
|
22 |
#endif |