| 293 | } |
| 294 | |
| 295 | void IATReferenceScan::patchReferenceInMemory( IATReference * ref ) |
| 296 | { |
| 297 | DWORD_PTR newIatAddressPointer = ref->targetPointer - IatAddressVA + NewIatAddressRVA; |
| 298 | |
| 299 | DWORD patchBytes = 0; |
| 300 | |
| 301 | #ifdef _WIN64 |
| 302 | patchBytes = (DWORD)(newIatAddressPointer - ref->addressVA - 6); |
| 303 | #else |
| 304 | patchBytes = newIatAddressPointer; |
| 305 | #endif |
| 306 | ProcessAccessHelp::writeMemoryToProcess(ref->addressVA + 2, sizeof(DWORD), &patchBytes); |
| 307 | } |
| 308 | |
| 309 | void IATReferenceScan::patchDirectImportInMemory( IATReference * ref ) |
| 310 | { |
nothing calls this directly
no outgoing calls
no test coverage detected