私はqemuを初めて使用しています。これは、一段階モードエミュレーションを可能にすることを読んでいます。これは、毎回物理的なラムのいくつかのアドレスをダンプしようとしているので役に立ちます。残念ながら、qemuのドキュメントは非常に悪いです。私はqemuモニターから一段階モードを有効にする方法を知っていますが、私は各段階で実行したいコードをどこに置くべきか分かりません。誰もこれについて何か情報を持っていますか?QEMUでシングルステップモードを使用するには?
答えて
あなたはQEMUに::
--gdb TCPをゲストに添付する
オプションをGDBを使用して、
$ gdb <binary>
(gdb) symbol-file <sym file>
(gdb) target remote <host>:<port number>
(gdb) b <function>
(gdb) c
'b' のブレークポイントを設定を使用することができます。 'n' 's' 'i'はコードを踏んで歩ける。 GDBモードで「情報」を入力すると、上記のリンクから詳細
また、よくある質問があります。それはうまく動作します - おそらく、gdbがフックするための各ステップごとにブレークポイントが発生しますか? –
より詳細なQEMU GDBセットアップガイドです:https://stackoverflow.com/a/33203642/895245 –
http://www.xenproject.org/help/questions-and-answers/problem-with-vga-passthrough.html
はQEMUのためsinglestepモードを入力するためのコマンドラインオプションで表示されます。 do_singlestep(モニター*月、constのQDict * qdict)
は単にフラグ "singlestep" を設定します。次のQEMU( http://wiki.qemu.org/Download)ための機能monitor.cをソースコードを取得することです。これは、ハードウェアの一段階エミュレーションをエミュレートする「singlestep_enabled」と同じではないことに注意してください。
(グローバル変数はvl.cで宣言されています)。今targt-I386/translate.cのすべての機能を調べる
- 「singlestep」フラグがテストされています:
if (singlestep) {
gen_jmp_im(pc_ptr - dc->cs_base);
gen_eob(dc);
break;
}
これは、バイナリがいずれかの実行(または「翻訳」されている場所でありますより正確なもの)、あるいはハードウェア例外の発生とハンドラ(たとえば)があります。おそらくあなたがここで試すことができます変更する動作がある場合は?
- 1. LinuxでQEMUで使用するイメージファイルを作成するには?
- 2. qemuコマンドラインからqemu VMにブロックデバイスを接続するには?
- 3. qemuを使用してライブCDセッションで元のハードディスクファイルにアクセスする方法は?
- 4. qemu Raspbianの使用:libc6:i386のインストールに失敗する
- 5. GDBを使用してSMP(対称型マルチプロセッサ)でQEMUをデバッグする方法は?
- 6. QEMUのゲストオートメーションは、Pythonのpexpectを使用しています
- 7. x86でページングを有効にするQemu
- 8. QEMU
- 9. gdbでqemuをデバッグ
- 10. KVM/QEMUを使用したNATでのポート転送
- 11. i386 linuxカーネルにqemuを使用したアドレス空間識別子
- 12. qemuのゲストマシンでgdbを使ってメモリアクセスを監視するには?
- 13. xv6 QEMUでファイルを 'ls'にするには?
- 14. kvm/qemuにのみlibvirtを使用すると何が得られますか?
- 15. Qemuがアセンブリカーネルをデバッグする
- 16. QEMUでArietta G25ボードをエミュレートする
- 17. qemuでcortex-a53(arm64)をエミュレートする
- 18. QemuでNANDベースのストレージデバイスをエミュレートするには?
- 19. qemuでvmx機能をエミュレートするには?
- 20. QEMUゲストにキーボードイベントをプログラムで送信する方法は?
- 21. qemuにROMブートローダをロード
- 22. QEMUは、x86〜x86エミュレーションのゲストレジスタと同じホストレジスタを使用しますか?
- 23. qemuプロジェクトをEclipse IDEにインポートするには
- 24. qemuでGDBを使用してLinuxカーネルをデバッグすると、機能や特定のアドレスにヒットできない
- 25. qemuデータプレーンレポートを使用する '.x-data-plane'が見つかりません
- 26. 実行QEMU
- 27. qemuメモリ操作
- 28. Androidエミュレータ:QEMUコピーペースト
- 29. qemuエミュレータで.imgファイルをビルドして実行する方法は?
- 30. QEMUモニタ(ppc-softmmuターゲット)でSPR_DECRを印刷する方法は?
@peterからの回答があなたを助けましたか? – stackoverflowwww
関連:https://reverseengineering.stackexchange.com/questions/4738/using-qemu-monitor-interface-to-extract-execution-traces-from-a-binary –