逆向_root_me_4
ELF — Random Crackme
将magic
之前的内容都删除,因为之前的垃圾内容,使得不能运行ELF文件ELF files start with 7f 45 4c 46
r2 -ww ./ch3.bin
-w
open file in write mode ww foobar
write wide string ‘f\x00o\x00o\x00b\x00a\x00r\x00’
wx 9090
write two intel nops
[0x080482f0]> wx eb @ 0x0804841A
Short Jump
(短跳转)机器码 EB
用time,rand产生随机密码
gdb 直接设置eip
跳过代码
set $eip=xxxx
再运行c
binwalk crackme_wtf
1 | r2 |
ELF x64 - Crackme automating
str=”break\n”
var4=0
var8=0xf7(MOVSXD r64, r/m32
Move doubleword to quadword with sign-extension.
这是64位代码中的指令,它将32位寄存器或地址转换为32位值,并将其符号扩展为64位寄存器。 符号扩展采用源的最高位(符号位)的值,并使用它来填充目标的所有高位。)
var4+str
位置加var4
(movzx
是将源操作数的内容拷贝到目的操作数,并将该值用0扩展至16位或者32位。但是它只适用于无符号整数。 他大致下面的三种格式。)
str[0]MOVSX
指令(进行符号扩展并传送)将源操作数内容复制到目的操作数,并把目的操作数符号扩展到 16 位或 32 位。这条指令只用于有符号整数,
xor (str[0] ,0xa3)=0xf7
str[1]
cmp eax, 0xf7
注:上篇有自动化代码链接