如何将 32 位 CodeCave 注入 64 位应用程序?
我见过一些这样的实现:
App.exe+CA5F6 - 4C 89 15 D37D5B01 - mov [App.exe+16823D0],r10
App.exe+CA5FD - E9 FE59CA82 - jmp 7FF748DA0000
App.exe+CA602 - 90 - nop
App.exe+CA603 - 90 - nop
App.exe+CA604 - 4C 03 C1 - add r8,rcx
然后我按照这个地址看到这个:
7FF748D9FFFF - - ??
7FF748DA0000 - FF25 00000000 00001A0500000000 - jmp 051A0000
7FF748DA000E - 00 00 - add [rax],al
我按照这个地址:
051A0000 - 50 - push rax
051A0001 - 53 - push rbx
051A0002 - 52 - push rdx
051A0003 - 4D 63 82 94000000 - movsxd r8,dword ptr [r10+00000094]
他是怎么做到的呢?我应该如何在 C# 中实现它?
我可以注入 CodeCave,但如果应用程序是 64 位的,那么它将始终引用 64 位地址,我如何注入 CodeCave 使其引用 32 位地址?