004-Acid Bytes.2 的write up
抄一百篇不如自己实践操作写一篇,尊重知识产权,写笔记辛苦,禁止转载!!!
原文地址:乙太的小屋
我是同一作者!
如果你觉得有用就请留下一个赞~~
1. 执行程序查看
程序执行后,是让我们输入注册码,然后校验,显然我们输入的错误弹出错误提示框,如下图:
2. 程序查壳
解释:可见程序具有一个很常见的压缩壳UPX
3. 程序脱壳
我们采用命令行脱壳,使用upx309,如下图:
解释:可见文件变大了原来的百分之四十一
- 此时再查看有无壳就会发现程序无壳而且是用Delphi编程语言写的。如下图:
4. 静态调试
- 首先将程序拖入32位IDA后先点击View(查看)——>Open subviews——>Strings,结果如下图:
解释:提取了部分重要的字符串可以看到我们之前错误提示信息,还可以看到成功的提示信息sucessful!
- 根据成功的提示信息交叉引用中找到主要的函数提后,分析如下图:
解释:GetText() 获取用户输入
LStrCmp()对比字符串
可以看到对比的子字符串应该是12011982,相同则弹出成功,不同则跳转。想要暴力破解可以修改关键跳。
5. 结果