ifstream
を使って、私のdllファイルの内容をリモートプロセスに注入しようとしました。 char*
バッファを使用してdllの内容を格納した後、WriteProcessMemory
を使用して、dllファイルのバイナリをプロセスに挿入しました。 CheatEngineを使ってVirtualAllocEx
という結果が指すメモリ領域を調べました。私が作った関数の1つのテキストパラメータが表示されているため、データが書き込まれたことがわかりました。私はちょうどそれがLoadLibrary
は、プロセスにdllの生のバイナリを読み込むとは異なっていることは何か不思議です。要するにLoadLibraryとバイナリdllをプロセスにロードしていますか?
-4
A
答えて
4
、LoadLibrary
は、以下のことを行います。
マップとは、メモリ内にセクションを再配置します。
インポートディスクリプタテーブルを処理し、必要に応じて依存関係をロードし、インポートアドレステーブル(IAT)を入力します。
モジュールリストでモジュールを見つけるために必要な情報をプロセス環境ブロック(PEB)に書き込みます。
呼び出しモジュールのロードは(通常カーネル内で)通知します。
新しいモジュールコンテキストのクリーンアップ。
(マニフェストがある場合)アクティベーションコンテキストを作成します。
エントリポイント(
DllMain
)(存在する場合)を呼び出します。
関連する問題
- 1. LoadLibraryでdllをロードする
- 2. LoadLibraryでDLLをロードできないことがありますか?
- 3. ASP.NET WebサイトでLoadLibraryを使用してアンマネージDLLをロード
- 4. 依存DLLが見つからないときにLoadLibraryを使用してWindowsにDLLをロードしようとしています
- 5. ロードDLLのGetModuleHandle/LoadLibraryを経て、ここにFreeLibrary
- 6. LoadLibrary( 'user32.dll')が14007を返します。
- 7. 複数のCOMCTL32.dllをプロセスにロードできますか?
- 8. C++ - LoadLibraryが自作DLLの126エラーを返します
- 9. DllImport属性は常にアンマネージDLLをロードしていますか
- 10. DLLを外部プログラムにロードしていますか?
- 11. WindowsのloadLibrary()のjavaプロセスで "path"を変更できますか?
- 12. プロセス内に現在ロードされているDLLのリストを取得するC#
- 13. Macバイナリをダイナミックライブラリとしてロード
- 14. どのプロセスが私のDLLプロセスを作成しますか?
- 15. CLR 2.0のDLLをCLR 4.0プロセスにロードすると、いずれの短所もありますか?
- 16. 複数回DLLをロードしますか?
- 17. どのDLLをどのプロセスでロードしたのかを調べるには?
- 18. 実行中のプロセスのdllパスを取得しています
- 19. バイナリ比較DLL
- 20. 同じ関数名を持つ複数のDLLをloadlibraryできますか?
- 21. C++でQTにCOM DLL(ヘッダーなし)をロードしていますか?
- 22. Microsoftサービスとしての.dllライブラリのロード
- 23. マネージコードからLoadLibraryコールをフックします
- 24. "git svn"コマンドは、バイナリ/ dllを使ってSubversionサーバーにアクセスしますか?
- 25. GLEW(OpenGL拡張ラングラー):実行時にopengl dllをロードしていますか?
- 26. バイナリ選択プロセス
- 27. .NET v2.0.50727奇妙なDLLをロードしています
- 28. LoadLunner 12.53を実行しているときにLoadLibraryが失敗しました
- 29. dllがメモリにロードされると、プロセス間でどの部分を共有できますか?
- 30. PowershellにアセンブリとしてMailKit DLLをロードする
地図画像などのバイナリが、線形ではなく、再配置及び(追加のDLLをロードすることができる)の輸入を解決マニフェストが存在する場合、活性化コンテキストを作成するエントリポイントを呼び出す.. – RbMm
はこれはよく知られています。メモリモジュールローダには多くのライブラリが実装されています。出典を読んでください。明らかに、それは大規模なハックです。 –
LoadLibraryをなぜ呼び出さないのですか?または、より多くのコントロールが必要な場合は、LoadLibraryExを使用します。私はリバースエンジニアリングのための単一の正当な理由を考えることはできませんので、手動で行うことができます。 –