吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 3447|回复: 10
收起左侧

[原创] 160CrackMe之001(Acid Burn)

[复制链接]
一米丶阳光 发表于 2019-9-2 23:55

此前一直从事iOS方面的逆向工作,有强烈的兴趣了解一下Windows逆向,所以就从这160个CM开始。
今天要分享的是160个CM第一个Acid burn,也算是对第一次Windows逆向分析的总结。话不多说,下面开始正文。

0x1 环境与工具

  • 吾爱破解虚拟机2.0
  • PEiD、吾爱破解版OD

0x2 查壳

  • 注:作为CM的第一个程序,有壳的概率很小,但是逆向分析前查壳是个好习惯。

    PEID查壳

    PEID查壳

    0x3 去除NAG窗口

  • 双击程序启动会有如下的NAG窗口

    启动NAG窗口

    启动NAG窗口
  • 用OD加载程序,然后F9使程序进入运行状态,程序会显示NAG窗口,然后F12暂停程序运行,Alt + F9使程序重回运行态,点击NAG窗口的【确定】按钮,程序将断下,并回到用户程序空间。
  • 发现这里并没有爆破常用的点(跳转),因此沿着堆栈继续回溯。
    0x42A1AE --> 0x42A170 --> 0x42F79C --> 0x42F784 --> 0x425643
  • 回溯到0x425643时,可以在0x42562F处找到爆破点,修改je为jmp,NAG窗口成功去掉。

    NAG窗口爆破点

    NAG窗口爆破点

    0x4 注册算法

  • 随意输入用户名和序列号,点击【check】按钮,弹出错误提示对话框。采用去除NAG窗口的方式使程序断在用户程序空间。我们发现断点断在了NAG窗口相同的位置,所以我们推测,断下来的位置是对MessageBox的封装函数,回溯堆栈到上层。
    0x42A1AE --> 0x42A170 --> 0x42FB32

    name_serial窗口

    name_serial窗口
  • 回溯到0x42FB32时,我们可以在0x42FB03处找到关键跳转,那么我们推测0x42FAFE处为序列号验证函数。

    关键算法1

    关键算法1
  • 我们在0x42FAFE处下断点,重新触发验证流程,我们在寄存器EAX和EDX中看到了两个可疑的字符串,EDX是我们输入的序列号,EAX我们猜测就是我们要找的序列号。

    关键算法2

    关键算法2
  • 接下来我们重点关注EAX的来源,EAX来源于[local.3],上翻代码,看到0x42FAE5的调用,我们看到0x42FADD的传参与[local.3]有关,那么我们在0x42FAE5下断点,然后在数据窗口监视[local.3]的内存,F8观察数据窗口
  • 至此我们确定了0x42FAE5为生成序列号的算法函数,但是这只是个拼装算法,观察堆栈,关键数据已经在堆栈中,我们查看数据来源于[local.6],继续上翻代码,在0x42FACD处看到了[local.6]的传参,在0x42FACD处下断点调试。

    关键算法3

    关键算法3
  • 经过调试,我们确定了0x42FACD处即为注册算法的函数调用。此处经过三次硬件断点能快速定位到0x406DDA,我们看到这里已经不是内存拷贝指令,而是寄存器mov到内存,所以我们猜测dl就是保存结果的寄存器。

    关键算法4

    关键算法4
  • 此处代码对EAX的值进行10进制转化,执行的最终结果会保存在ESI指向的内存地址,正是我们要的结果,回溯代码寻找EAX的来源。
  • 与查找关键算法点类似,经过三次硬件断点,可以找到以下位置0x42FA8A,此地即为计算EAX的值,结果保存在0x431750

    关键算法5

    关键算法5
  • 至此,算法的破解完成。

0x5 序列号校验

  • 这个类似于去除NAG窗口的过程,直接就能定位到爆破点,不再赘述。

总结

通过对Acid burn的分析,目前仍然遗留一个问题尚未解决,在爆破序列号校验的时候,爆破点如果选择下图的位置,重启应用会导致UI的文字全部消失,目前尚不知原因,如果有知道的朋友欢迎下面留言指导,不胜感激。

失败的爆破点

失败的爆破点

UI文字消失

UI文字消失

免费评分

参与人数 1吾爱币 +7 热心值 +1 收起 理由
Hmily + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

我叫蛋dan 发表于 2019-9-3 03:04
所以这个CM在哪里可以下载啊就哈哈哈哈
okmad 发表于 2019-9-3 06:53
 楼主| 一米丶阳光 发表于 2019-9-3 09:25
zjg1727 发表于 2019-9-3 09:28
我叫蛋dan 发表于 2019-9-3 03:04
所以这个CM在哪里可以下载啊就哈哈哈哈

论坛的教学培训区啊。
zjg1727 发表于 2019-9-3 10:33
堆栈回溯那块可以再详细介绍一下吗?
 楼主| 一米丶阳光 发表于 2019-9-3 11:36
zjg1727 发表于 2019-9-3 10:33
堆栈回溯那块可以再详细介绍一下吗?

回溯堆栈有两种方法
第一种 点击OD工具栏的K键,会显示堆栈窗口,这里列出了函数的调用堆栈
第二种 在堆栈窗口里查看栈帧,函数调用的返回地址会存储在栈帧里,一般右侧的注释窗口会提示『返回到xxx』直接在反汇编窗口跟随这个地址即可
 楼主| 一米丶阳光 发表于 2019-9-3 11:37
我叫蛋dan 发表于 2019-9-3 03:04
所以这个CM在哪里可以下载啊就哈哈哈哈

貌似我发错区了,这个区是提供CM的版块,这里附上下载贴


附上坛内160个CM的收藏帖,里面有对应的下载链接 https://www.52pojie.cn/thread-709699-1-1.html
 楼主| 一米丶阳光 发表于 2019-9-3 11:38
okmad 发表于 2019-9-3 06:53
下载链接呢.....


附上坛内160个CM的收藏帖,里面有对应的下载链接 https://www.52pojie.cn/thread-709699-1-1.html
okmad 发表于 2019-9-4 07:34
一米丶阳光 发表于 2019-9-3 11:38
附上坛内160个CM的收藏帖,里面有对应的下载链接 https://www.52pojie.cn/thread-709699-1-1.html

谢谢回复!!
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-4-19 09:37

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表