某发大师2010版爆破分析

1,老版本软件无壳,可直接上手

新版本加了PE壳,采用ESP定律F9四次即可到达OEP,无难度,不详述

2,观测软件:

1)底部label显示“未注册版本,机器码XXXX”的提示
2)存在注册按钮,重启验证
3)发送时验证是否注册,未注册弹框提示

3,思路:
1)字符串

2)dede按钮事件
2)API下断

4,爆破过程

1)OD载入,搜索字符串,发现“已注册版本”字样,双击跟随到汇编代码:

004CF493 |. 803D A02B4E00>cmp byte ptr [4E2BA0], 0 ; 比较全局变量的值
004CF49A |. 74 10 je short 004CF4AC ; 为0则跳走
004CF49C |. BA 14F54C00 mov edx, 004CF514 ; 已注册版本

根据先易后难的原则,初步猜测byte ptr [4E2BA0]为我们的突破口,在数据窗口中跟随到 4E2BA0 ,对该Byte下硬件访问断点以便调试,内存断点的话第二次就没了,不如硬件断点方便

2)F9运行,会断在访问 [4E2BA0] 代码的下一行,对其进行分析可知 :

004CF222 |. 83F8 18 cmp eax, 18 ; 注册码必须为24位
004CF225 0F9405 A02B4E>sete byte ptr [4E2BA0] ; 不是24位则失败,置全局变量为0

3)继续F9:

004CF243 |. E8 6058F3FF call 00404AA8 ; 检查序列号是否是否为本机序列号
004CF248 |. 0F95C0 setne al
004CF24B |. 2205 A02B4E00 and al, byte ptr [4E2BA0] ; 序列号不一致则弹出提示框
004CF251 E9 B2000000 jmp 004CF308 ; 爆破,修改为jmp强制跳转


4)继续F9:

004D3532 |. 8A12 mov dl, byte ptr [edx]
004D3534 |. 80F2 01 xor dl, 1 ; 停在此处
004D3537 |. 8B83 48040000 mov eax, dword ptr [ebx+448]
004D353D |. E8 7A5BF9FF call 004690BC
004D3542 |. A1 BCED4D00 mov eax, dword ptr [4DEDBC]
004D3547 |. 8038 00 cmp byte ptr [eax], 0 ; 全局变量比较
004D354A |. 74 0C je short 004D3558 ; 关键跳2
004D354C |. B8 D4364D00 mov eax, 004D36D4 ; ASCII "正在检查新版本..."


5)继续F9

004CE899 807D EF 00 cmp byte ptr [ebp-11], 0 ; 二次检测的标志位,不能为0
004CE89D 75 4D jnz short 004CE8EC
004CE89F |. A1 BCED4D00 mov eax, dword ptr [4DEDBC]
004CE8A4 |. C600 00 mov byte ptr [eax], 0
004CE8A7 |. 803D 842B4E00>cmp byte ptr [4E2B84], 0
004CE8AE |. 74 19 je short 004CE8C9 ; 跳过注册码错误
........
004CE8EC |> /A1 BCED4D00 mov eax, dword ptr [4DEDBC] ; 来自4ce89e
004CE8F1 |. 8038 00 cmp byte ptr [eax], 0 ; 比较全局变量


若需深入,004CE899为二次检测标志,可考虑对其下硬件访问断点,检测其变化过程。

6)继续F9,在更改二次检测标志后,底部label显示“已注册!”字样,开始测试功能:

点击发送,弹出注册码错误的提示框,来到004D6982 |. 83F8 18 cmp eax, 18 ; 进行二次检测
之后会检测发送内容是否为空,再检测QQ是否存在,有几个qq,如果不是一个qq的话,会弹出选择框。


7)待续。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值