* Added build files [Capstone to Zydis] * x86 Analysis [Capstone to Zydis] * Changed x86 RzIL [Capstone to Zydis] * Changed asm and arch files [Capstone to Zydis] * Compilation, build error and test fixes [Capstone to Zydis] * Test changes [Capstone to Zydis] * Remaining changes [Capstone to Zydis] * Added BE support [Capstone to Zydis] --------- Co-authored-by: tushar3q34 <tushar3q34@gmail.com>
286 lines
3.9 KiB
Text
286 lines
3.9 KiB
Text
NAME=dbg.dc+ds.swstep
|
|
FILE=bins/elf/analysis/elf-nx
|
|
ARGS=-d
|
|
CMDS=<<EOF
|
|
e scr.color=0
|
|
e dbg.swstep=true
|
|
s 0
|
|
db @ entry0
|
|
dc
|
|
db- @ entry0
|
|
dr PC
|
|
ds
|
|
dr PC
|
|
p8 1@ sym.main
|
|
EOF
|
|
EXPECT=<<EOF
|
|
eip = 0x080482d0
|
|
eip = 0x080482d2
|
|
55
|
|
EOF
|
|
RUN
|
|
|
|
NAME=dbg.dc+ds.swstep2
|
|
FILE=bins/elf/analysis/x86-helloworld-gcc
|
|
ARGS=-d
|
|
CMDS=<<EOF
|
|
e scr.color=0
|
|
e dbg.swstep=true
|
|
db @ sym.main
|
|
dc
|
|
dr PC
|
|
ds
|
|
dr PC
|
|
p8 1@ sym.main
|
|
EOF
|
|
EXPECT=<<EOF
|
|
eip = 0x08048400
|
|
eip = 0x08048401
|
|
55
|
|
EOF
|
|
RUN
|
|
|
|
NAME=dbg.dc+ds.hwstep
|
|
FILE=bins/elf/analysis/elf-nx
|
|
ARGS=-d
|
|
CMDS=<<EOF
|
|
e scr.color=0
|
|
e dbg.swstep=false
|
|
s 0
|
|
db @ entry0
|
|
dc
|
|
db- @ entry0
|
|
dr PC
|
|
ds
|
|
dr PC
|
|
p8 1@ sym.main
|
|
EOF
|
|
EXPECT=<<EOF
|
|
eip = 0x080482d0
|
|
eip = 0x080482d2
|
|
55
|
|
EOF
|
|
RUN
|
|
|
|
NAME=dbg.dc+ds.hwstep2
|
|
FILE=bins/elf/analysis/x86-helloworld-gcc
|
|
ARGS=-d
|
|
CMDS=<<EOF
|
|
e scr.color=0
|
|
e dbg.swstep=false
|
|
db @ sym.main
|
|
dc
|
|
dr PC
|
|
ds
|
|
dr PC
|
|
p8 1@ sym.main
|
|
EOF
|
|
EXPECT=<<EOF
|
|
eip = 0x08048400
|
|
eip = 0x08048401
|
|
55
|
|
EOF
|
|
RUN
|
|
|
|
NAME=dbg.dcC+ds.swstep1
|
|
FILE=bins/elf/analysis/tiny-crackme-vm-x86_64
|
|
ARGS=-d
|
|
CMDS=<<EOF
|
|
e scr.color=0
|
|
e dbg.swstep=true
|
|
f+ times @ 5
|
|
(times_stop;echo Loop `%vi times`;f+ times @ `%vi times-1`;%= times)
|
|
db @ 0x4000ce
|
|
dbC .(times_stop) @ 0x4000ce
|
|
dc
|
|
EOF
|
|
EXPECT=<<EOF
|
|
Loop 5
|
|
Loop 4
|
|
Loop 3
|
|
Loop 2
|
|
Loop 1
|
|
EOF
|
|
RUN
|
|
|
|
NAME=dbg.dcC+ds.swstep2
|
|
FILE=bins/elf/analysis/tiny-crackme-vm-x86_64
|
|
ARGS=-d
|
|
CMDS=<<EOF
|
|
e scr.color=0
|
|
e dbg.swstep=true
|
|
e cmd.hitinfo=0
|
|
(break_rax;f+ reg_rax @ `drq rax`;f+ test @ `%vi reg_rax-0x31c0`;%= test)
|
|
db @ 0x4000ce
|
|
dbC .(break_rax) @ 0x4000ce
|
|
dc
|
|
dr rax
|
|
dr rip
|
|
EOF
|
|
EXPECT=<<EOF
|
|
rax = 0x00000000000031c0
|
|
rip = 0x00000000004000ce
|
|
EOF
|
|
RUN
|
|
|
|
NAME=dbg.dcC+ds.swstep3
|
|
FILE=bins/elf/analysis/tiny-crackme-vm-x86_64
|
|
ARGS=-d
|
|
CMDS=<<EOF
|
|
e scr.color=0
|
|
e dbg.swstep=true
|
|
e cmd.hitinfo=0
|
|
(trace_rax;dr rax;f+ reg_rax @ `drq rax`;f+ test @ `%vi reg_rax-0x0440`;%= test)
|
|
db @ 0x4000ce
|
|
dbC .(trace_rax) @ 0x4000ce
|
|
dc
|
|
EOF
|
|
EXPECT=<<EOF
|
|
rax = 0x0000000000000000
|
|
rax = 0x0000000000000220
|
|
rax = 0x00000000000031c0
|
|
rax = 0x00000000000033c2
|
|
rax = 0x0000000000000249
|
|
rax = 0x0000000000000440
|
|
EOF
|
|
RUN
|
|
|
|
NAME=dbg.dbd+dbe+dbj
|
|
FILE=bins/elf/analysis/x64-loop
|
|
ARGS=-d
|
|
CMDS=<<EOF
|
|
e scr.color=0
|
|
db @ 0x400523
|
|
db @ 0x40051a
|
|
dblj
|
|
dc
|
|
dr PC
|
|
dc
|
|
dr PC
|
|
dbd @ 0x400523
|
|
dc
|
|
dr PC
|
|
dbe @ 0x400523
|
|
dc
|
|
dr PC
|
|
EOF
|
|
EXPECT=<<EOF
|
|
[{"addr":4195619,"size":1,"perm":"--x","hw":false,"trace":false,"enabled":true,"valid":true,"data":"","cond":""},{"addr":4195610,"size":1,"perm":"--x","hw":false,"trace":false,"enabled":true,"valid":true,"data":"","cond":""}]
|
|
rip = 0x0000000000400523
|
|
rip = 0x000000000040051a
|
|
rip = 0x000000000040051a
|
|
rip = 0x0000000000400523
|
|
EOF
|
|
RUN
|
|
|
|
NAME=dbg.dc+db
|
|
FILE=bins/elf/analysis/x86-helloworld-gcc
|
|
ARGS=-d
|
|
CMDS=<<EOF
|
|
e dbg.swstep=true
|
|
e scr.null=true
|
|
db @ entry0
|
|
dc
|
|
dc
|
|
s entry0
|
|
e scr.null=false
|
|
p8 4
|
|
EOF
|
|
EXPECT=<<EOF
|
|
Hello world!
|
|
31ed5e89
|
|
EOF
|
|
RUN
|
|
|
|
NAME=valid db
|
|
FILE=bins/elf/analysis/x64-loop
|
|
ARGS=-d
|
|
CMDS=<<EOF
|
|
e scr.color=0
|
|
db @ main
|
|
dbl:valid~:2
|
|
EOF
|
|
EXPECT=<<EOF
|
|
valid
|
|
EOF
|
|
RUN
|
|
|
|
NAME=invalid db
|
|
FILE=bins/elf/analysis/x64-loop
|
|
ARGS=-d
|
|
CMDS=<<EOF
|
|
e scr.color=0
|
|
db @ 0x0
|
|
dbl:valid~:2
|
|
EOF
|
|
EXPECT=<<EOF
|
|
invalid
|
|
EOF
|
|
RUN
|
|
|
|
NAME=dbg.bp_remove_index
|
|
FILE=bins/elf/analysis/x86-helloworld-gcc
|
|
ARGS=-d
|
|
CMDS=<<EOF
|
|
db @ main
|
|
db @ main+1
|
|
db @ main+2
|
|
db @ main+4
|
|
dbil~[0,2]
|
|
db- @@c:dblq
|
|
dbil
|
|
db @ main
|
|
db @ main+1
|
|
dbi- 1
|
|
echo ----------
|
|
dbil~[0,2]
|
|
dbi- 0
|
|
dbil~[0,2]
|
|
EOF
|
|
EXPECT=<<EOF
|
|
0 E:1
|
|
1 E:1
|
|
2 E:1
|
|
3 E:1
|
|
----------
|
|
0 E:1
|
|
EOF
|
|
RUN
|
|
|
|
NAME=dbH
|
|
FILE=bins/elf/analysis/x64-loop
|
|
ARGS=-d
|
|
CMDS=<<EOF
|
|
e scr.color=0
|
|
dbH @ main
|
|
dbl:hwsw~:2
|
|
EOF
|
|
EXPECT=<<EOF
|
|
hw
|
|
EOF
|
|
RUN
|
|
|
|
NAME=read core->block on short move
|
|
FILE=bins/elf/analysis/x64-loop
|
|
ARGS=-d
|
|
CMDS=<<EOF
|
|
e scr.color=0 asm.offset=false asm.flags=false asm.functions=false asm.lines=false asm.fcn.size=false asm.comments=false asm.debuginfo=false asm.indent=false
|
|
dcu main
|
|
pd 5
|
|
dbH @i:2
|
|
dc
|
|
pd 5
|
|
EOF
|
|
EXPECT=<<EOF
|
|
push rbp
|
|
mov rbp, rsp
|
|
sub rsp, 0x20
|
|
mov dword [rbp-0x14], edi
|
|
mov qword [rbp-0x20], rsi
|
|
b sub rsp, 0x20
|
|
mov dword [rbp-0x14], edi
|
|
mov qword [rbp-0x20], rsi
|
|
mov dword [rbp-0x04], 0x00
|
|
jmp 0x400523
|
|
EOF
|
|
RUN
|