首页
社区
课程
招聘
[旧帖] [分享]简单爆破软件的注册限制功能 0.00雪花
2012-3-17 12:11 2287

[旧帖] [分享]简单爆破软件的注册限制功能 0.00雪花

2012-3-17 12:11
2287
又是一个周末,练练手吧。
   某软件,未注册时限制了保存工作结果到文件的功能,当想要保存结果时会跳出一个对话框:“This feature is available in registered version only.Buy it now?”,而软件其他功能都是正常的。
   1、反汇编,先找到上述对话框里字串的存放地址:
SSZ00B62EC8_This_feature_is_available_in_reg:
      db        'This feature is available in registered version only.',0Ah,'Buy it now?',0
    2、然后找到使用了这个字串地址的模块,在整个软件中只有一处:
L00479667:
      mov        dword ptr [ebp-28h],L00D4AC98
      mov        ecx,L00D4AC98
      mov        edx,00000001h
      lock
      xadd        [ecx],edx
      push        FFFFFFFFh
      push        SSZ00B624D8_Inpaint
      mov        dword ptr [ebp-04h],00000000h
      call        SUB_L0097C820
      mov        [ebp-24h],eax
      push        00000000h
      lea        eax,[ebp-34h]
      push        L00B145FC
      push        eax
      mov        byte ptr [ebp-04h],01h
      call        SUB_L00473160
      mov        esi,eax
      push        00000000h
      lea        ecx,[ebp-30h]
      push        L00B145F8
      push        ecx
      mov        byte ptr [ebp-04h],02h
      call        SUB_L00473160
      mov        ebx,eax
      push        00000000h
      lea        edx,[ebp-2Ch]
      push        SSZ00B62EC8_This_feature_is_available_in_reg   就是这里
      push        edx

    3、再找到调用了上述模块的地方,共有两处:
SUB_L00479330:
      push        ebp
      mov        ebp,esp
      mov        eax,fs:[00000000h]
      push        FFFFFFFFh
      push        L00A8FFFB
      push        eax
      mov        fs:[00000000h],esp
      sub        esp,00000044h
      push        ebx
      push        esi
      push        edi
      mov        edi,ecx
      mov        eax,[edi+14h]
      mov        eax,[eax+08h]
      lea        esi,[edi+14h]
      test        eax,eax
      jz         L00479667                  第1处调用
    push        esi
      call        SUB_L00475930
      add        esp,00000004h
      test        al,al
      jnz        L0047937F
      push        esi
      call        SUB_L00476010
      add        esp,00000004h
      test        al,al
      jz         L00479667                  第2处调用
      
    4、将这2句调用及其中间共11句全NOP掉,在16进制编辑器里改为90,保存后运行,与注册后软件的表现一样,爆破成功。

[培训]二进制漏洞攻防(第3期);满10人开班;模糊测试与工具使用二次开发;网络协议漏洞挖掘;Linux内核漏洞挖掘与利用;AOSP漏洞挖掘与利用;代码审计。

收藏
点赞0
打赏
分享
最新回复 (21)
雪    币: 3
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
deupc 2012-3-17 12:38
2
0
不错,向大家学习了
雪    币: 81
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
sxxe 2012-3-17 13:11
4
0
新手 进来学习下
雪    币: 210
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
xuchungen 2012-3-17 15:42
5
0
学习了,,,,,,,,,,,
雪    币: 517
活跃值: (35)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
BlueT 2 2012-3-17 16:07
6
0
这是啥东西反编译的?
雪    币: 36
活跃值: (42)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
sanyuanss 2012-3-17 16:48
7
0
能不能帮忙分析下这个。
雪    币: 237
活跃值: (145)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
Otdr 3 2012-3-17 21:16
8
0
0040928E     /0F84 6C000000 je      00409300                         ;  判断时间是否调整过

00409369     /0F85 75000000 jnz     004093E4                         ;  判断时间是否过期
雪    币: 237
活跃值: (145)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
Otdr 3 2012-3-17 21:18
9
0
干什么用的?
雪    币: 36
活跃值: (42)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
sanyuanss 2012-3-17 22:26
10
0
能不能贴下破文?谢谢了
雪    币: 36
活跃值: (42)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
sanyuanss 2012-3-18 13:04
12
0
呵呵 看看了 加油
雪    币: 1015
活跃值: (235)
能力值: ( LV12,RANK:440 )
在线值:
发帖
回帖
粉丝
loongzyd 10 2012-3-18 13:09
13
0
请大家注意自己的言辞,保持克制。论坛是技术交流的地方,大家应该相互交流共同进步才对。
雪    币: 7
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
miaomiaowa 2012-3-18 14:16
14
0
学习学习
雪    币: 237
活跃值: (145)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
Otdr 3 2012-3-18 15:04
15
0
说说思路吧
1、软件运行时提示使用时间已过,直接弹出注册窗口,于是想想是否可以改系统时间实现试用。
2、更改系统时间为2011-3-17,结果直接弹出对话框,说系统时间不正确。根据这个提示,可以在OD中输入bpx MessageBoxA,即在对话框中下断点。
3、再次运行程序,在MessageBoxA中被断下,点确定后,逐步跟踪,可以返回到顶端调用对话框的地方,再在调用的地方往上找找,找到比较可疑的跳转,下断点,即:
0040928E     /0F84 6C000000 je      00409300                         ;  判断时间是否调整过
   尝试修改je为jne,运行程序,出现程序主画面。
4、将时间调整回来,再次运行程序,在0040928E被断下,并跳转,慢慢跟踪程序,可以发现下一个可疑地方,即:
00409369     /0F85 75000000 jnz     004093E4                         ;  判断时间是否过期
   尝试修改jnz为jz,运行程序,出现程序主画面。
5、初步爆破成功,但不知道程序的功能是什么,无法测试功能是否完全。
6、可以在00409369往上几个CALL,跟踪进去看看,应该是注册码判断函数,有兴趣可以跟踪看看。
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
jackyren 2012-3-18 15:14
16
0
学习了!是不是有专门的跟踪软件呢/
雪    币: 15
活跃值: (512)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
jfztaq 2012-3-18 15:45
17
0
没说是什么软件啊
雪    币: 36
活跃值: (42)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
sanyuanss 2012-3-18 18:59
18
0
谢谢你的分析哦,这是一个转发微博的软件、
雪    币: 36
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
pengjiant 2012-3-18 21:14
19
0
不知道啥软件有详细的步骤就好了!
雪    币: 2
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
五味子W 2012-3-19 00:18
20
0
学习学习,谢谢分析,
雪    币: 36
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Cartertool 2012-3-19 03:15
21
0
很好,继续。
雪    币: 119
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
libocdf 2012-3-19 03:41
22
0
kx怎么积累的我都不知道
雪    币: 181
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
dzyedzye 2012-3-19 11:43
23
0
今天我有102kx了,可以购买邀请码了,然后可以在其他版块发帖了。
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
tteagle 2012-3-19 21:42
24
0
高手呀,观摩观摩,学习一下
游客
登录 | 注册 方可回帖
返回