Ubuntu 16.04:libx86emu x86emu-demoを動作させる方法は?

Ubuntu 16.04:libx86emu x86emu-demoを動作させる方法は?

libx86emu x86emu-demoを動作させる方法を知っている人はいますか?

https://github.com/wfeldt/libx86emu

Test.bin
00000000 55 8B EC 51 C7 45 FC 00 00 00 00 8B 45 FC 50 E8 
00000010 09 00 00 00 83 C4 04 33 C0 8B E5 5D C3 55 8B EC 
00000020 B8 01 00 00 00 5D C3

00: 55                      push   ebp
01: 8b ec                   mov    ebp,esp
03: 51                      push   ecx
04: c7 45 fc 00 00 00 00    mov    DWORD PTR [ebp-0x4],0x0
0b: 8b 45 fc                mov    eax,DWORD PTR [ebp-0x4]
0e: 50                      push   eax
0f: e8 09 00 00 00          call   0x1d
14: 83 c4 04                add    esp,0x4
17: 33 c0                   xor    eax,eax
19: 8b e5                   mov    esp,ebp
1b: 5d                      pop    ebp
1c: c3                      ret
1d: 55                      push   ebp
1e: 8b ec                   mov    ebp,esp
20: b8 01 00 00 00          mov    eax,0x1
25: 5d                      pop    ebp
26: c3                      ret

./x86emu-demo -l 0 -s 0 test.obj

上記の例と同様の x86 機械語コードを実行できる必要があります。 libx86emuは最初の3つの命令をデコードして実行し、次に4番目の命令を誤ってデコードします。 OSサポートなしで32ビットx86をエミュレートできます。

libx86emu x86testの回帰テストの約半分を通過しました。

ベストアンサー1

https://github.com/wfeldt/libx86emu/issues/25

libx86emu "Steffen Winterfeldt"の作成者はlibx86emu/demo/x86emu-demo.cを更新し、「32ビットモード」コマンドライン引数を取得しました。

以前は、コードはデフォルトの16ビットモードで実行されました。

おすすめ記事