吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

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

[原创] 160个CrakeMe程序之020

[复制链接]
hjm666 发表于 2018-5-22 18:24
这个软件比较简单···


一、基础信息
页面:
2.png


   看起来只有一个键 ,从表面上来看需要输入一串序列号,点击下按钮后,得到  3E74984B  后就算破解··

发现多次点击按钮后这软件左边的蜘蛛还会动·····

3.png    4.png
     看起来怕是这程序很难搞的样子··
查壳:
5.png
   emmmmmm.....脱壳机会比较少。。。不认识这个壳',不过并不影响我们脱掉它。
OD载入后步过了  push 前戏后直接用上esp定律打发,程序没有跑起来,F8走起来后,直接跳到OEP处,右键用吾爱OD脱壳,


再查壳:
6.png


成功脱壳。。


事件查看:
1.png


不知道事件各自用处前,有三个事件需要关注一下 ,   (反编译工具  DarkDe 4)


二、暴力破解
断下三个事件后,发现就一个button有用,
[Asm] 纯文本查看 复制代码
0044A353  |.  8B83 CC020000 mov eax,dword ptr ds:[ebx+0x2CC]
0044A359  |.  E8 DEA0FDFF   call 111.0042443C
0044A35E  |.  8D55 F4       lea edx,[local.3]
0044A361  |.  8B83 CC020000 mov eax,dword ptr ds:[ebx+0x2CC]
0044A367  |.  E8 A0A0FDFF   call 111.0042440C
0044A36C  |.  8B45 F4       mov eax,[local.3]                        ;  kernel32.7C839AD8
0044A36F  |.  50            push eax
0044A370  |.  8D55 F0       lea edx,[local.4]
0044A373  |.  8B83 F0020000 mov eax,dword ptr ds:[ebx+0x2F0]
0044A379  |.  E8 8EA0FDFF   call 111.0042440C
0044A37E  |.  8B55 F0       mov edx,[local.4]
0044A381  |.  58            pop eax                                  ;  kernel32.7C817077
0044A382  |.  E8 6198FBFF   call 111.00403BE8                        ;  重要call
0044A387  |.  75 0F         jnz short 111.0044A398                   ;  关键跳转
0044A389  |.  B2 01         mov dl,0x1
0044A38B  |.  8B83 FC020000 mov eax,dword ptr ds:[ebx+0x2FC]
0044A391  |.  E8 669FFDFF   call 111.004242FC
0044A396  |.  EB 11         jmp short 111.0044A3A9
0044A398  |>  8B83 D4020000 mov eax,dword ptr ds:[ebx+0x2D4]
0044A39E  |.  8B50 34       mov edx,dword ptr ds:[eax+0x34]
0044A3A1  |.  83EA 0A       sub edx,0xA



修改关键跳转的标志位,运行程序。。。完成暴力破解····


7.png



三、深入探究注册机
简单过了一遍BUTTON事件后,机智摆脱作者的小计谋···   0044A382的关键call,和我的目的连一毛钱关系都没有
    上一秒还在为我的小机智点赞,下一秒自己挖坑跳进去了······
[Asm] 纯文本查看 复制代码
0044A346  |.  B8 06000000   mov eax,0x6
0044A34B  |.  E8 78D6FBFF   call 111.004079C8                        ;  有关键点
0044A350  |.  8B55 F8       mov edx,[local.2]                        ;  这里已经算出值了
0044A353  |.  8B83 CC020000 mov eax,dword ptr ds:[ebx+0x2CC]
0044A359  |.  E8 DEA0FDFF   call 111.0042443C
0044A35E  |.  8D55 F4       lea edx,[local.3]
0044A361  |.  8B83 CC020000 mov eax,dword ptr ds:[ebx+0x2CC]
0044A367  |.  E8 A0A0FDFF   call 111.0042440C
0044A36C  |.  8B45 F4       mov eax,[local.3]                        ;  3E74984B
0044A36F  |.  50            push eax
0044A370  |.  8D55 F0       lea edx,[local.4]
0044A373  |.  8B83 F0020000 mov eax,dword ptr ds:[ebx+0x2F0]
0044A379  |.  E8 8EA0FDFF   call 111.0042440C
0044A37E  |.  8B55 F0       mov edx,[local.4]
0044A381  |.  58            pop eax                                  ;  kernel32.7C817077
0044A382  |.  E8 6198FBFF   call 111.00403BE8                        ;  重要call,只是对比两个值用
0044A387  |.  75 0F         jnz short 111.0044A398                   ;  关键跳转



0044A350 中已经运算出了值了,好死不死0044A34B里还有一段计算代码····果断以为这是在计算我输入的序列号···挖了半天没发现啥····
  直到自己重新跑了一遍···
[Asm] 纯文本查看 复制代码
0044A2E8  /.  55            push ebp                                 ;  Button1Click
0044A2E9  |.  8BEC          mov ebp,esp
0044A2EB  |.  33C9          xor ecx,ecx
0044A2ED  |.  51            push ecx
0044A2EE  |.  51            push ecx
0044A2EF  |.  51            push ecx
0044A2F0  |.  51            push ecx
0044A2F1  |.  53            push ebx
0044A2F2  |.  56            push esi
0044A2F3  |.  8BD8          mov ebx,eax
0044A2F5  |.  33C0          xor eax,eax
0044A2F7  |.  55            push ebp
0044A2F8  |.  68 E4A34400   push 111.0044A3E4
0044A2FD  |.  64:FF30       push dword ptr fs:[eax]
0044A300  |.  64:8920       mov dword ptr fs:[eax],esp
0044A303  |.  8D55 FC       lea edx,[local.1]
0044A306  |.  8B83 C8020000 mov eax,dword ptr ds:[ebx+0x2C8]
0044A30C  |.  E8 FBA0FDFF   call 111.0042440C
0044A311  |.  8B45 FC       mov eax,[local.1]                        ;  local.1 是输入的Serial
0044A314  |.  E8 EFD6FBFF   call 111.00407A08                        ;  判断输入的是否是一个有效的长整型
0044A319  |.  8BF0          mov esi,eax                              ;  eax是输入的字符的16进制
0044A31B  |.  8B45 FC       mov eax,[local.1]
0044A31E  |.  E8 5DD7FBFF   call 111.00407A80
0044A323  |.  52            push edx                                 ;  ntdll.KiFastSystemCallRet
0044A324  |.  50            push eax                                 ;  eax是输入的字符的16进制
0044A325  |.  8BC6          mov eax,esi
0044A327  |.  99            cdq
0044A328  |.  030424        add eax,dword ptr ss:[esp]               ;  加了一次自己..什么骚操作??
0044A32B  |.  135424 04     adc edx,dword ptr ss:[esp+0x4]
0044A32F  |.  83C4 08       add esp,0x8
0044A332  |.  52            push edx                                 ;  ntdll.KiFastSystemCallRet
0044A333  |.  50            push eax
0044A334  |.  8BC6          mov eax,esi
0044A336  |.  99            cdq
0044A337  |.  030424        add eax,dword ptr ss:[esp]               ;  又加了下自己又是什么骚操作··
0044A33A  |.  135424 04     adc edx,dword ptr ss:[esp+0x4]
0044A33E  |.  83C4 08       add esp,0x8
0044A341  |.  52            push edx                                 ;  ntdll.KiFastSystemCallRet
0044A342  |.  50            push eax                                 ;  这个eax有点眼熟啊···
0044A343  |.  8D55 F8       lea edx,[local.2]
0044A346  |.  B8 06000000   mov eax,0x6
0044A34B  |.  E8 78D6FBFF   call 111.004079C8                        ;  有关键点
0044A350  |.  8B55 F8       mov edx,[local.2]                        ;  这里已经算出值了
0044A353  |.  8B83 CC020000 mov eax,dword ptr ds:[ebx+0x2CC]
0044A359  |.  E8 DEA0FDFF   call 111.0042443C
0044A35E  |.  8D55 F4       lea edx,[local.3]
0044A361  |.  8B83 CC020000 mov eax,dword ptr ds:[ebx+0x2CC]
0044A367  |.  E8 A0A0FDFF   call 111.0042440C
0044A36C  |.  8B45 F4       mov eax,[local.3]                        ;  3E74984B
0044A36F  |.  50            push eax
0044A370  |.  8D55 F0       lea edx,[local.4]
0044A373  |.  8B83 F0020000 mov eax,dword ptr ds:[ebx+0x2F0]
0044A379  |.  E8 8EA0FDFF   call 111.0042440C
0044A37E  |.  8B55 F0       mov edx,[local.4]
0044A381  |.  58            pop eax                                  ;  kernel32.7C817077



关键代码0044A324开始下边几行···  
程序把我输入的序列号转换成16进制后两次加了自己后拿这个结果和3E74984B直接比较
泥垢:
  3E74984B--》 10进制/3 ---》序列号··


送分题?????

(注册机就不写了····)


如有错误,请大佬指出,不胜感激!

免费评分

参与人数 3吾爱币 +10 热心值 +3 收起 理由
Hmily + 8 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
xinkui + 1 + 1 谢谢@Thanks!
菜鸟多多关照 + 1 + 1 我很赞同!

查看全部评分

本帖被以下淘专辑推荐:

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

 楼主| hjm666 发表于 2018-5-22 22:51
菜鸟多多关照 发表于 2018-5-22 20:52
那个。。。大佬我刚来学 有点不懂什么是注册机

注册机 ->一个软件
作用:用来注册软件,达到破解效果,例如:计算出Windows的激活码类的
 楼主| hjm666 发表于 2018-5-23 08:36
本帖最后由 hjm666 于 2018-5-23 08:37 编辑
52.评官 发表于 2018-5-22 23:06
不是用OD破解吗?,很好奇你使用的工具介绍详细点更好。

就用了三个工具,一个OD,一个反汇编软件,一个查壳工具,没了
Taobi 发表于 2018-5-22 18:51
wszdzdalzl 发表于 2018-5-22 19:09
挺不错的 学习了1
菜鸟多多关照 发表于 2018-5-22 20:52
那个。。。大佬我刚来学 有点不懂什么是注册机
Setsuro 发表于 2018-5-22 21:50
很详细 支持下!
52.评官 发表于 2018-5-22 23:06
不是用OD破解吗?,很好奇你使用的工具介绍详细点更好。
xuwenyi 发表于 2018-5-22 23:48
挺不错的学习了
心病 发表于 2018-5-23 10:05
6。。。都是大佬
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-17 03:04

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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