1

私の知る限り、32 ビット dll を 64 ビット プロセスにインジェクトする方法はなく、その逆もありません (少なくとも、私の C++ で記述されたインジェクター / dll では不可能です)。ただし、 http: //pastebin.com/AGWw2kT8 の Autoit インジェクターを使用すると、32 ビット DLL を 64 ビット プロセスに挿入できます。この Autoit ライブラリは、私の c++ インジェクター (CreateRemoteThread) と同じ注入方法を使用します。誰かがこの動作を説明できますか?

4

3 に答える 3

1

CreateRemoteThread 32->64うまくいきません!

CreateRemoteThread 64->32動作します!

その件に関する詳細はこちら

于 2013-10-26T16:43:10.513 に答える
1

注入が成功した理由がわかりました。Autoit インジェクション テスト スクリプト@SystemDir & "\calc.exe"では、ターゲット アプリケーションのパスとして使用します。ただし、64 ビット Windows インストールでは、@SystemDirマクロは C:\Windows\System32 ではなく C:\Windows\SysWOW64 を指しているため、スクリプトは 32 ビット バージョンの calc.exe を開始し、インジェクションは成功しました。

于 2013-10-26T17:44:47.870 に答える