ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • x64dbg instruction tracing
    Computer/Program Analysis 2017. 9. 5. 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 파일에 다 나와 있으므로 참조 하면 된다. 


Designed by Tistory.