Radare 在没有调用图线的情况下使用 `pd`?

逆向工程 雷达2
2021-06-18 16:34:36

如果我跑,pd我会得到这样的东西,

[0x00400540]> pd @ main + 4
            0x0040064a      4883ec20       sub rsp, 0x20
            0x0040064e      897dec         mov dword [rbp - 0x14], edi
            0x00400651      488975e0       mov qword [rbp - 0x20], rsi
            0x00400655      837dec01       cmp dword [rbp - 0x14], 1   ; [0x1:4]=-1 ; 1
        ,=< 0x00400659      7f11           jg 0x40066c
        |   0x0040065b      bf70074000     mov edi, str.Usage_echo__string ; 0x400770 ; "Usage echo <string>"
        |   0x00400660      e89bfeffff     call sym.imp.puts
        |   0x00400665      b800000000     mov eax, 0
       ,==< 0x0040066a      eb64           jmp 0x4006d0
       |`-> 0x0040066c      488b45e0       mov rax, qword [rbp - 0x20]

一般来说,显示左侧跳跃位置的线条很棒。但出于复制和粘贴的目的并没有那么多。我怎样才能禁用它们?或者我怎样才能隐藏这些线?我尝试了一些不同的东西,但没有运气。

2个回答

这些行可以通过r2选项禁用,即:

e asm.lines=false

之后,它们不再出现在pd.

好吧,pawel 打败了我,但这显示了如何去除更多噪音

C:\Windows\system32>radare2  calc.exe
[0x01012d6c]> af
[0x01012d6c]> pd 10 @ $$+0x4b
|       ,=< 0x01012db7      0f8538b00100   jne 0x102ddf5
|       |   0x01012dbd      33f6           xor esi, esi
|       |   0x01012dbf      46             inc esi
|       |      ; JMP XREF from 0x0102ddfe (entry0)
|       |   0x01012dc0      a194410501     mov eax, dword [0x1054194]  ; [0x1054194:4]=0
|       |   0x01012dc5      3bc6           cmp eax, esi
|      ,==< 0x01012dc7      0f8446b00100   je 0x102de13
|      ||   0x01012dcd      a194410501     mov eax, dword [0x1054194]  ; [0x1054194:4]=0
|      ||   0x01012dd2      85c0           test eax, eax
|     ,===< 0x01012dd4      0f85e54e0000   jne 0x1017cbf
|     |||   0x01012dda      893594410501   mov dword [0x1054194], esi  ; [0x1054194:4]=0


[0x01012d6c]> e asm.lines=false <<<<<<<<<<<<<<<
[0x01012d6c]> e asm.comments =false <<<<<<<<<<<
[0x01012d6c]> e asm.cmtright =false <<<<<<<<<<<<<<
[0x01012d6c]> e asm.fcnlines =false <<<<<<<<<<<<<


[0x01012d6c]> pd 10 @ $$+0x4b
0x01012db7      0f8538b00100   jne 0x102ddf5
0x01012dbd      33f6           xor esi, esi
0x01012dbf      46             inc esi
0x01012dc0      a194410501     mov eax, dword [0x1054194]
0x01012dc5      3bc6           cmp eax, esi
0x01012dc7      0f8446b00100   je 0x102de13
0x01012dcd      a194410501     mov eax, dword [0x1054194]
0x01012dd2      85c0           test eax, eax
0x01012dd4      0f85e54e0000   jne 0x1017cbf
0x01012dda      893594410501   mov dword [0x1054194], esi
[0x01012d6c]

并删除字节使用e asm.bytes = false