动态调试练习

[CSTC2021]Crackme

准备

使用exeinfo查看信息,发现是32位文件,存在UPX壳
在这里插入图片描述
脱壳后使用IDA反汇编

分析

经过分析,发现主函数为sub_401109,使用F5生成伪代码
在这里插入图片描述
观察到程序在此处判断生成的验证码是否正确,因此在这里下断点,并修改代码防止程序跳转到LABEL_35
在这里插入图片描述
每次运行到断点时查看dl
得到验证码为0x58,0x42,0x49,0x48,0x44,0x43,0x45,0x43,0x53,0x42

1
2
3
4
serial=[0x58,0x42,0x49,0x48,0x44,0x43,0x45,0x43,0x53,0x42]
for i in serial:
print(chr(i))
#XBIHDCECSB

总结

对于一些比较简单的题目,只需要在比较的地方下个断点,然后通过查看内存得到flag。