- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
#define MAKEPTR(p,o) (LPVOID) ( (DWORD)p + (DWORD)o )
#define WRITE_OPCODE(pCode, x) \
res = WriteProcessMemory( hProcess, pCode, &x, sizeof(x), &nWritten ); \
if( !res ) return FALSE; \
pCode = MAKEPTR(pCode,sizeof(x))
#define WRITE_DWORD(pCode, x) \
res = WriteProcessMemory( hProcess, pCode, &x, sizeof(x), &nWritten ); \
if( !res ) return FALSE; \
pCode = MAKEPTR(pCode,sizeof(x))
Steve_Brown 13.12.2011 10:10 # 0
BOOL WriteSequence(DWORD dwOffset)
{
WRITE_OPCODE(dwOffset, 0x69);
WRITE_DWORD(dwOffset, 0x80000001);
WRITE_OPCODE(dwOffset, 0xС0);
WRITE_OPCODE(dwOffset, 0x63);
WRITE_DWORD(dwOffset, 0xFFFFFFFF);
WRITE_OPCODE(dwOffset, 0x63);
WRITE_DWORD(dwOffset, 0xFFFFFFFF);
return TRUE;
}
Но это явно не тот случай.
guest 13.12.2011 15:54 # 0
guest 13.12.2011 15:55 # 0
а WRITE_OPCODE, WRITE_DWORD сделать функциями с longjmp и имхо глядя
на эту функцию все очень прозрачно в отличии от условия спрятанного в макрос
TarasB 13.12.2011 10:45 # 0
guest 13.12.2011 13:34 # −4
кг / ам, вообщем.
SadKo 15.12.2011 19:12 # 0
guest8 09.04.2019 12:21 # −999