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

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2829|回复: 3
收起左侧

[CrackMe] 【吾爱2013CM大赛解答】-- loudy 分析

[复制链接]
Syer 发表于 2013-12-13 22:26
CM是什么?Crackme是什么?这是什么东西?楼主发的什么?
他们都是一些公开给别人尝试破解的小程序,制作 Crackme 的人可能是程序员,想测试一下自己的软件保护技术,也可能是一位 Cracker,想挑战一下其它 Cracker 的破解实力,也可能是一些正在学习破解的人,自己编一些小程序给自己破解,KeyGenMe是要求别人做出它的 keygen (序号产生器), ReverseMe 要求别人把它的算法做出逆向分析, UnpackMe 是要求别人把它成功脱壳,本版块禁止回复非技术无关水贴。

本帖最后由 Chief 于 2013-12-14 17:33 编辑

先一张效果图。

开始分析吧。本人不才,弄了半天才知道算法是什么。。。。

这里很容易就可以找到 而关键跳的上面那个call就是关键call  这里要感谢@Shark恒 的教导,让我可以进门! 致以崇高的敬意!




下面就是算法了
004019ED  |> /8D7E 07       /lea edi,dword ptr ds:[esi+0x7]          ;  密码。。
004019F0  |. |8BC1          |mov eax,ecx
004019F2  |. |33D2          |xor edx,edx
004019F4  |. |F7F7          |div edi
004019F6  |. |33D2          |xor edx,edx
004019F8  |. |8BF8          |mov edi,eax
004019FA  |. |8BC1          |mov eax,ecx
004019FC  |. |F7F6          |div esi
004019FE  |. |33D2          |xor edx,edx
00401A00  |. |03C7          |add eax,edi
00401A02  |. |BF 1A000000   |mov edi,0x1A
00401A07  |. |F7F7          |div edi
00401A09  |. |8A442E F8     |mov al,byte ptr ds:[esi+ebp-0x8]
00401A0D  |. |80C2 41       |add dl,0x41
00401A10  |. |3AC2          |cmp al,dl                                                这里是真码和假吗的比较   al为假吗 dl为真码
00401A12     |0F85 AC000000 |jnz KeyGenMe.00401AC4                   ;  作者是一位数字一位数字的验证,一旦不同就会让跳转实现,咱们爆破的时候就可以 先nop这里
00401A18  |. |46            |inc esi
00401A19  |. |8D56 F8       |lea edx,dword ptr ds:[esi-0x8]
00401A1C     |83FA 04       |cmp edx,0x4
00401A1F    ^\7C CC         jl short KeyGenMe.004019ED                  这里是当四位密码验证完全后 就会往下比较


00401A21      807D 04 2D    cmp byte ptr ss:[ebp+0x4],0x2D           ;  判断第五位数是否为 “-”  如果不是的话就跳转。,
00401A25  |.  74 0A         je short KeyGenMe.00401A31


第二部分四位密码在这里面 方法和上面一样

00401A49  |> /8B4424 10     /mov eax,dword ptr ss:[esp+0x10]  
00401A4D  |> |8D2C30         lea ebp,dword ptr ds:[eax+esi]
00401A50  |. |8BC1          |mov eax,ecx
00401A52  |. |33D2          |xor edx,edx
00401A54  |. |F7F5          |div ebp
00401A56  |. |BD 1A000000   |mov ebp,0x1A
00401A5B  |. |8BC2          |mov eax,edx
00401A5D  |. |33D2          |xor edx,edx
00401A5F  |. |03C7          |add eax,edi
00401A61  |. |F7F5          |div ebp
00401A63  |. |8A06          |mov al,byte ptr ds:[esi]
00401A65  |. |80C2 41       |add dl,0x41
00401A68  |. |3AC2          |cmp al,dl                                       al为假吗 dl为真码
00401A6A     |75 58         |jnz short KeyGenMe.00401AC4
00401A6C  |. |43            |inc ebx
00401A6D  |. |03F9          |add edi,ecx
00401A6F  |. |46            |inc esi
00401A70  |. |83FB 09       |cmp ebx,0x9         
00401A73  |.^\7C D4         \jl short KeyGenMe.00401A49

00401A75  |.  8B7C24 1C     mov edi,dword ptr ss:[esp+0x1C]
00401A79  |.  807F 09 2D    cmp byte ptr ds:[edi+0x9],0x2D           ;判断  “-” 符号 同上  
00401A7D  |.  74 0A         je short KeyGenMe.00401A89

第三部分

00401A8E  |> /8D5E 02       /lea ebx,dword ptr ds:[esi+0x2]
00401A91  |. |8BC1          |mov eax,ecx
00401A93  |. |33D2          |xor edx,edx
00401A95  |. |F7F3          |div ebx
00401A97  |. |8BC1          |mov eax,ecx
00401A99  |. |8BDA          |mov ebx,edx
00401A9B  |. |33D2          |xor edx,edx
00401A9D  |. |F7F6          |div esi
00401A9F  |. |33D2          |xor edx,edx
00401AA1  |. |03C3          |add eax,ebx
00401AA3  |. |BB 1A000000   |mov ebx,0x1A
00401AA8  |. |F7F3          |div ebx
00401AAA  |. |8A4437 AD     |mov al,byte ptr ds:[edi+esi-0x53]
00401AAE  |. |80C2 41       |add dl,0x41
00401AB1  |. |3AC2          |cmp al,dl                                           al为假吗 dl为真码
00401AB3     |75 0F         |jnz short KeyGenMe.00401AC4
00401AB5  |. |46            |inc esi
00401AB6  |. |8D46 AD       |lea eax,dword ptr ds:[esi-0x53]
00401AB9  |. |83F8 0E       |cmp eax,0xE
00401ABC  |.^\7C D0         \jl short KeyGenMe.00401A8E

00401ABE  |.  807F 0E 2D    cmp byte ptr ds:[edi+0xE],0x2D           ;  判断 “-” 符号 同上
00401AC2  |.  74 0A         je short KeyGenMe.00401ACE
最后四位的key

00401AD3  |> /8BC1          mov eax,ecx
00401AD5  |. |33D2          xor edx,edx
00401AD7  |. |F7F6          div esi
00401AD9  |. |8BC1          mov eax,ecx
00401ADB  |. |8BDA          mov ebx,edx
00401ADD  |. |33D2          xor edx,edx
00401ADF  |. |F7F6          div esi
00401AE1  |. |33D2          xor edx,edx
00401AE3  |. |03C3          add eax,ebx
00401AE5  |. |BB 1A000000   mov ebx,0x1A
00401AEA  |. |F7F3          div ebx
00401AEC  |. |8A043E        mov al,byte ptr ds:[esi+edi]
00401AEF  |. |80C2 41       add dl,0x41
00401AF2  |. |3AC2          cmp al,dl    al为假吗 dl为真码
00401AF4    ^|75 CE         jnz short KeyGenMe.00401AC4 控制在这里了。。判断 是否为第十六位是否为C 不是的话就跳转  
00401AF6  |. |46            inc esi
00401AF7  |. |83FE 13       cmp esi,0x13
00401AFA  |.^\7C D7         jl short KeyGenMe.00401AD3    最后程序会这里返回回去正确的retn 、key也就得到了!



小小的分析供大家参考如有错误 请指出,感谢!








本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册[Register]

x

免费评分

参与人数 4热心值 +4 收起 理由
Chief + 1 吾爱破解2013CM大赛,有你更精彩!
Shark恒 + 1 我很赞同!
低调(d-iao) + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩.
马斯维尔 + 1 还可以再详细一点。算法不难。

查看全部评分

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

brack 发表于 2013-12-13 22:35
膜拜小千大牛

免费评分

参与人数 1热心值 +1 收起 理由
linglong2013 + 1 感谢您的宝贵建议,我们会努力争取做得更好.

查看全部评分

hlkiller 发表于 2013-12-13 22:36
1007475557 发表于 2013-12-13 22:56
您需要登录后才可以回帖 登录 | 注册[Register]

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

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

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

GMT+8, 2024-4-29 06:19

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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