holycall

x64dbg instruction tracing 본문

Computer/Program Analysis

x64dbg instruction tracing

holycall 2017.09.05 11:20

x64dbg는 ollydbg 같이 instruction tracing을 위한 독립된 창이 없고 로그 창에 tracing 된다. 

그리고 ui 도 메뉴에서 하지 못하고 커맨드 창에서 해야 한다. 

검색해 보면 

https://forum.tuts4you.com/topic/39374-tracing/

에 설명이 자세히 나와 있다. 


위를 요약해서 적용해 보았다. 

커맨드 창에 다음과 같이 하면 동작 한다. 


TraceSetLogFile "C:\Temp\x64dbgTrace.log”
TraceSetLog "{p:cip} {i:cip}"
tibt rip==7ff6ac01290c 








TraceSetLogFile은 파일에 출력하기 위해 지정한다. 이것을 하지 않으면 Log 창에 출력 된다. 


TraceSetLog는 로그 출력 형식이다. 주소와 명령어를 출력 한다. 이 내용을 바꾸면 레지스터 값도 출력 할 수 있다. 

예를 들어 

rax: {rax} rcx: {rcx} 를 넣으면 레지스터 값이 나오고, 

[rsp+0x24] = {a:[rsp+0x24]} 같이 해서 메모리 레퍼런스까지 할 수 있는 것이다. 


tibt는 TraceIntoBeyondRecord의 약자로 다음 조건까지 Tracing을 하라는 것이다. 여기서는 특정 주소까지 Tracing을 하라고 한 것이다. 이 명령을 실행하면 현재 주소부터 지정한 주소까지 step into로 실행하며 tracing을 기록한다. 

tibt의 두 번째 인자로 명령어 개수를 줄 수도 있다. 그런데 20개를 주었는데 32개 실행 했다. 


이런 내용들은 Help 파일에 다 나와 있으므로 참조 하면 된다. 


저작자 표시 비영리 동일 조건 변경 허락
신고
0 Comments
댓글쓰기 폼