逆向学习crackme160题-004-Acid Bytes.2 的write up

004-Acid Bytes.2 的write up

抄一百篇不如自己实践操作写一篇,尊重知识产权,写笔记辛苦,禁止转载!!!
原文地址:乙太的小屋
我是同一作者!
如果你觉得有用就请留下一个赞~~

1. 执行程序查看

程序执行后,是让我们输入注册码,然后校验,显然我们输入的错误弹出错误提示框,如下图:

image-20220928180603294

2. 程序查壳

image-20220928180717624

解释:可见程序具有一个很常见的压缩壳UPX

3. 程序脱壳

我们采用命令行脱壳,使用upx309,如下图:

image-20220928180937933

解释:可见文件变大了原来的百分之四十一

  1. 此时再查看有无壳就会发现程序无壳而且是用Delphi编程语言写的。如下图:

image-20220928182655836

4. 静态调试

  1. 首先将程序拖入32位IDA后先点击View(查看)——>Open subviews——>Strings,结果如下图:
    image-20220928181545427

解释:提取了部分重要的字符串可以看到我们之前错误提示信息,还可以看到成功的提示信息sucessful!

  1. 根据成功的提示信息交叉引用中找到主要的函数提后,分析如下图:
    image-20220928183659013
    解释:GetText() 获取用户输入
    LStrCmp()对比字符串
    可以看到对比的子字符串应该是12011982,相同则弹出成功,不同则跳转。想要暴力破解可以修改关键跳。

5. 结果

image-20220928184019731

猜你喜欢

转载自blog.csdn.net/m0_64696290/article/details/131259000