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는 처음 세 개의 명령어를 디코딩하고 실행한 다음 네 번째 명령어를 잘못 디코딩합니다. OS 지원 없이 32비트 x86을 에뮬레이션할 수 있으면 됩니다.
libx86emu x86test의 회귀 테스트 중 약 절반만 통과했습니다.
답변1
https://github.com/wfeldt/libx86emu/issues/25
libx86emu "Steffen Winterfeldt"의 작성자는 libx86emu/demo/x86emu-demo.c를 업데이트하여 이제 "32비트 모드" 명령줄 인수를 갖게 되었습니다.
이전에는 코드가 기본 16비트 모드에서 실행되었습니다.