필자는 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 에뮬레이션을 에뮬레이트하는 "singlestep_enabled"와는 다릅니다.
(전역 변수는 vl.c에 선언되어 있습니다.)
지금 targt-I386/translate.c의 모든 기능을 들여다 - "singlestep"플래그를 테스트입니다 :
if (singlestep) {
gen_jmp_im(pc_ptr - dc->cs_base);
gen_eob(dc);
break;
}
이 바이너리 중 하나를 실행 (또는 "번역"하는 장소입니다 좀 더 정확하게), 그렇지 않으면 하드웨어 예외 발생 및 핸들러 (예 :). 아마 당신이 여기에서 시도 할 수있는 수정하고 싶은 행동이 있다면?
- 1. Matlab에서 디버그 모드를 시작하는 방법은 무엇입니까?
- 2. 시각적 페인트 피드백 모드를 사용하는 방법은 무엇입니까?
- 3. 데이터베이스 모드를 프로덕션 모드에서 사용하는 방법은 무엇입니까?
- 4. 패딩없이 CTR 모드를 사용하는 올바른 방법은 무엇입니까?
- 5. PowerShell 1.0에서 STA 모드를 사용하는 방법은 무엇입니까?
- 6. 보관 용으로 싱글 사인온을 사용하는 방법은 무엇입니까?
- 7. AFHTTPSessionManager를 싱글 톤으로 사용하는 올바른 방법은 무엇입니까?
- 8. qemu에서 MIPS 펌웨어를 에뮬레이트하십시오.
- 9. QEMU에서 에뮬레이션 Cortex A12
- 10. 관리자 모드를 여는 방법은 무엇입니까?
- 11. STAMINA 모드를 감지하는 방법은 무엇입니까?
- 12. Ruby 터미널 응용 프로그램에서 cbreak 모드를 사용하는 방법은 무엇입니까?
- 13. 봄에 최대 절전 모드를 사용하는 올바른 방법은 무엇입니까
- 14. Windows 명령 프롬프트에서 수동 FTP 모드를 사용하는 방법은 무엇입니까?
- 15. 편집 모드를 사용하는 경우 맞춤 검색 버튼을 숨기는 방법은 무엇입니까?
- 16. 비동기 초기화를 사용하는 싱글 톤
- 17. 마법사 모드를 사용하는 CMFCPropertsheet
- 18. MVC에서 AJAXFORM에 삽입 모드를 사용하는 것은 무엇입니까?
- 19. Booksleeve로 RedisConnection을 저장하기 위해 싱글 톤을 사용하는 방법은 무엇입니까?
- 20. 데이터 공유를 위해 Swift에서 싱글 톤을 사용하는 방법은 무엇입니까?
- 21. 상속을 통해 싱글 톤 패턴을 사용하는 방법은 무엇입니까?
- 22. JavaScript, 싱글 톤을 사용하는 동안 적절한 캡슐화를 유지하는 방법은 무엇입니까?
- 23. 싱글 톤없이 JTable 셀 렌더러를 사용하는 방법은 무엇입니까?
- 24. 싱글 톤을 참조하는 방법은 무엇입니까?
- 25. 싱글 사인온을 달성하는 방법은 무엇입니까?
- 26. 싱글 톤을 만드는 방법은 무엇입니까?
- 27. 싱글 톤을 해제하는 방법은 무엇입니까?
- 28. 싱글 톤을 초기화하는 방법은 무엇입니까?
- 29. 사진 인물 모드를 설정하는 방법 인물 모드를 설정하는 방법은 무엇입니까?
- 30. 싱글 톤을 사용하는 OnSaveInstanceState
@peter의 답이 도움이 되었습니까? – stackoverflowwww
관련 : https://reverseengineering.stackexchange.com/questions/4738/using-qemu-monitor-interface-to-extract-execution-traces-from-a-binary –