私はWindowsでCreateRemoteThreadを使用していますが、Linuxでも同じことが可能かどうかを知りたいと思います。 Linuxでこれを行うことは可能ですか?LinuxでCreateRemoteThread
答えて
`の#include pthread.hの
int型のpthread_create(無効がpthread_t *スレッド、CONSTのpthread_attr_t * attrの、 のvoid *(* start_routineが)(*)、void *型のarg);と` コンパイルとリンク - pthread。
は、Linux上でこれを行うの伝統的な方法は、その後、個別に実行中のアプリケーションの中にあなたのライブラリーのロードを強制し、それにあなたのコードで動的ライブラリ(.soという)を作成することです詳細
これは、スレッドを作成し、スレッドを作成せずにリモートプロセスに挿入する方法です。 –
のためのマニュアルのpthread_createを参照してください。 WindowsにCreateRemoteThread
があるので、ワンストップショップはありません。だからここ
は、基本的な手順は次のとおりです。
- それはあなたがリモートプロセスで実行したいコードが含まれているので、/ dylibを作成します。
- 指定されたsoファイル(主にコピーと貼り付けthis link、パート1)を読み込むアセンブリで、いくつかの非常に簡単なコードを記述します。
- 2番目のコードファイル/ app内のバッファにバイナリペイロードとしてローダASMを埋め込みます。ここでは
ptrace
を使用して手順2で作成したバイナリペイロードを実行します。実行する実際のコードを含む手順1で作成した.soで_dl_open()
を呼び出します。 (the same linkに与えられたサンプル、パート2)
あなたは、メインポンプとは別のスレッドで実行するようにコードが必要な場合は、手順1でのコードでpthread_create
を使用する必要があります
このホープあなたの質問に答えます。はい、Windowsよりも複雑です。同じようにうまくいくはずです。さらに、将来のリモートコードインジェクションプロジェクトのためにステップ2と3のコード全体を再利用することができます。
- 1. 文字列引数の例を持つCreateRemoteThread
- 2. C++:Dll注射。メモ帳でCreateRemoteThread()が失敗するのはなぜですか?
- 3. CreateRemoteThread、WriteProcessMemory、VirtualAllocEx - なぜそれらを使用するのですか?
- 4. CreateRemoteThread、LoadLibrary、およびPostThreadMessage。適切なIPC方法は何ですか?
- 5. は、LinuxターミナルでのLinux
- 6. Linuxでのモデムセキュリティ
- 7. Linuxでのトラバース
- 8. Linuxターミナルで
- 9. LinuxマシンでPTRACE_SINGLESTEP
- 10. Unix/LinuxでDebugBreak?
- 11. Linuxカーネルでは
- 12. Linuxでのアセンブリ
- 13. Linuxでのビジュアルメモリデバッグアプリケーション?
- 14. Linuxでのリアルタイムプログラミング
- 15. Linuxでは
- 16. Linuxでのリソースクリーンアップ
- 17. Linuxでの
- 18. Linuxでのバッファリングフィルタリング
- 19. Linuxでusbプラグイン/アウト
- 20. Linuxのコマンドラインでセミコロン
- 21. linux pleskエラーでopen_basedir
- 22. Linuxでephemをインストール
- 23. linux/ubuntuでのパッケージインストール
- 24. Suse Linuxで浄化
- 25. LinuxでのGWTインストール
- 26. LinuxでのJavaコード
- 27. Linuxカーネルでのプリエンプション
- 28. Linuxでfwriteのsegfault
- 29. LinuxソケットでのHTTPS?
- 30. C++ Linuxでのソケットタイムアウト
これはどのようにC++の質問ですか? –
CreateRemoteThreadは、C++コードで使用されているWINAPIです。 – CrazyC