吾爱汇编

 找回密码
 立即注册

QQ登录

绑定QQ避免忘记帐号

查看: 2422|回复: 7

[原创图文解密] [CrackMe] 新手出炉的cm 各位赏个脸 追码

[复制链接]
易木马 发表于 2015-7-28 16:44 | 显示全部楼层 |阅读模式

CM地址:
        https://www.52hb.com/thread-12661-1-1.html
作者:易木马
级别:【只适合新手】
这下面是我的分析记录,看不明白的,可以下载后面的视频,超详细。大神不要来了!!!
不管直接运行
OEP 附近
很简单吧
没有的哈
00401000   . 33C0           XOR EAX,EAX
00401002   . C3             RETN
易语言
直接往下翻。
一般都是上调用上面的
00401171  |. 8BEC           MOV EBP,ESP
00401173  |. 81EC 08000000  SUB ESP,0x8
00401179  |. C745 FC 000000>MOV DWORD PTR SS:[EBP-0x4],0x0
大概是易语言的按钮事件了
******************************
00401180  |. B8 29094800    MOV EAX,cm2.00480929                     ;  给EAX,赋值,但是一个固定的值
00401185  |. 33C9           XOR ECX,ECX
00401187  |. 85C0           TEST EAX,EAX                             ;  EAX是不可能为零的
00401189  |. 74 03          JE SHORT cm2.0040118E
0040118B  |. 8B48 04        MOV ECX,DWORD PTR DS:[EAX+0x4]           ;  取真实密码的长度
*************************注意这一段***********
00401193  |. A1 B0454A00    MOV EAX,DWORD PTR DS:[0x4A45B0]          ;  给EAX,赋值,但是一个可变的值,是由内存分配的一个变量地址
00401198  |. 33DB           XOR EBX,EBX
0040119A  |. 85C0           TEST EAX,EAX
0040119C  |. 74 03          JE SHORT cm2.004011A1
0040119E  |. 8B58 04        MOV EBX,DWORD PTR DS:[EAX+0x4]           ;  这里和上面是重复的
004011A1  |> 83C0 08        ADD EAX,0x8                              ;  于是我猜,这里是我们的假注册的长度

因此可以得知长度为7
网上的各种改,大家可以试一下。
004011A7  |. B8 01000000     MOV EAX,0x1
004011AC  |. 75 0A           JNZ SHORT cm2.004011B8                   ;  按回车,我们去看一下。
004011AE  |. 48              DEC EAX
004011AF  |. 85C9            TEST ECX,ECX
这里的三行只要保证EAX=0就OK
我们进关键的CALL去看一下
这个时候我们来看看他是什么
00480931  6C 69 6B 65 5F 79 75 01  like_yu
like_yu,刚好7位。
***************算法CALL***************
004010C4  /$ 8B4424 0C       MOV EAX,DWORD PTR SS:[ESP+0xC]           ;  算法CALL
004010C8  |. 85C0            TEST EAX,EAX
004010CA  |. 74 44           JE SHORT cm2.00401110
004010CC  |. 8B5424 04       MOV EDX,DWORD PTR SS:[ESP+0x4]
004010D0  |. 56              PUSH ESI
004010D1  |. 57              PUSH EDI
004010D2  |. 8BF2            MOV ESI,EDX
004010D4  |. 8B7C24 10       MOV EDI,DWORD PTR SS:[ESP+0x10]
004010D8  |. 0BD7            OR EDX,EDI
004010DA  |. 83E2 03         AND EDX,0x3
004010DD  |. 74 32           JE SHORT cm2.00401111
004010DF  |. A9 01000000     TEST EAX,0x1                             ;  看到了吗,这里是1为结束标识,
004010E4  |. 74 0B           JE SHORT cm2.004010F1                    ;  不管他
004010E6  |. 8A0E            MOV CL,BYTE PTR DS:[ESI]                 ;  这里开始比较 【假码】
004010E8  |. 3A0F            CMP CL,BYTE PTR DS:[EDI]                 ;  真码
004010EA  |. 75 52           JNZ SHORT cm2.0040113E                   ;  直接结束
004010EC  |. 46              INC ESI                                  ;  1.
004010ED  |. 47              INC EDI                                  ;  2.取下一个字符
004010EE  |. 48              DEC EAX                                  ;  修改变量
004010EF  |. 74 1D           JE SHORT cm2.0040110E                    ;  第 一个字符相等才进入下一环节
004010F1  |> 8A0E            /MOV CL,BYTE PTR DS:[ESI]                ;  第一次,第二个字符
004010F3  |. 8A17            |MOV DL,BYTE PTR DS:[EDI]
004010F5  |. 3ACA            |CMP CL,DL
004010F7  |. 75 45           |JNZ SHORT cm2.0040113E                  ;  结束
004010F9  |. 8A4E 01         |MOV CL,BYTE PTR DS:[ESI+0x1]
004010FC  |. 8A57 01         |MOV DL,BYTE PTR DS:[EDI+0x1]            ;  第一次第三个字符
004010FF  |. 3ACA            |CMP CL,DL
00401101  |. 75 3B           |JNZ SHORT cm2.0040113E                  ;  结束
00401103  |. 83C7 02         |ADD EDI,0x2
00401106  |. 83C6 02         |ADD ESI,0x2
00401109  |. 83E8 02         |SUB EAX,0x2                             ;  修改变量,一次比较两个字符,所以加2
0040110C  |.^75 E3           \JNZ SHORT cm2.004010F1
0040110E  |> 5F              POP EDI                                  ;  到这里算法也就结束了。
0040110F  |. 5E              POP ESI                                  ;  成功到这里,我们就对啦!
00401110  |> C3              RETN                                     ;  都相等了,注意EAX=0
************************易语言的按钮事件(顶层)*************
00401180  |. B8 29094800     MOV EAX,cm2.00480929                     ;  给EAX,赋值,但是一个固定的值
00401185  |. 33C9            XOR ECX,ECX
00401187  |. 85C0            TEST EAX,EAX                             ;  EAX是不可能为零的
00401189  |. 74 03           JE SHORT cm2.0040118E
0040118B  |. 8B48 04         MOV ECX,DWORD PTR DS:[EAX+0x4]           ;  取真实密码的长度
0040118E  |> 51              PUSH ECX
0040118F  |. 83C0 08         ADD EAX,0x8
00401192  |. 50              PUSH EAX
00401193  |. A1 B0454A00     MOV EAX,DWORD PTR DS:[0x4A45B0]          ;  给EAX,赋值,但是一个可变的值,是由内存分配的一个变量地址
00401198  |. 33DB            XOR EBX,EBX
0040119A  |. 85C0            TEST EAX,EAX
0040119C  |. 74 03           JE SHORT cm2.004011A1
0040119E  |. 8B58 04         MOV EBX,DWORD PTR DS:[EAX+0x4]           ;  这里和上面是重复的
004011A1  |> 83C0 08         ADD EAX,0x8                              ;  于是我猜,这里是我们的假注册的长度
004011A4  |. 50              PUSH EAX
004011A5  |. 3BD9            CMP EBX,ECX                              ;  真码与假码长度的比较
004011A7  |. B8 01000000     MOV EAX,0x1
004011AC  |. 75 0A           JNZ SHORT cm2.004011B8                   ;  按回车,我们去看一下。
004011AE  |. 48              DEC EAX
004011AF  |. 85C9            TEST ECX,ECX
004011B1  |. 74 05           JE SHORT cm2.004011B8                    ;  要跳过去前提下是ECX=0,这里EAX=0
004011B3  |. E8 0CFFFFFF     CALL cm2.004010C4                        ;  关注 一下
004011B8  |> 83C4 0C         ADD ESP,0xC                              ;  到这
004011BB  |. 85C0            TEST EAX,EAX                             ;  如果是假的跳转过来,注意,EAX不为0
004011BD  |. 0F85 36000000   JNZ cm2.004011F9
004011C3  |. B8 38094800     MOV EAX,cm2.00480938
004011C8  |. 85C0            TEST EAX,EAX
004011CA  |. 74 13           JE SHORT cm2.004011DF                    ;  说明这下面是成功的提示
004011CC  |. 50              PUSH EAX                                 ;  开始
004011CD  |. 8B40 04         MOV EAX,DWORD PTR DS:[EAX+0x4]
004011D0  |. 83C0 08         ADD EAX,0x8
004011D3  |. 50              PUSH EAX
004011D4  |. E8 92010000     CALL cm2.0040136B
004011D9  |. 59              POP ECX
004011DA  |. 5E              POP ESI
004011DB  |. 8BF8            MOV EDI,EAX
004011DD  |. F3:A4           REP MOVS BYTE PTR ES:[EDI],BYTE PTR DS:[>
004011DF  |> 50              PUSH EAX
004011E0  |. 8B5D FC         MOV EBX,DWORD PTR SS:[EBP-0x4]
004011E3  |. 85DB            TEST EBX,EBX
004011E5  |. 74 09           JE SHORT cm2.004011F0
004011E7  |. 53              PUSH EBX
004011E8  |. E8 66010000     CALL cm2.00401353
004011ED  |. 83C4 04         ADD ESP,0x4
004011F0  |> 58              POP EAX
004011F1  |. 8945 FC         MOV DWORD PTR SS:[EBP-0x4],EAX           ;  结束
004011F4  |. E9 31000000     JMP cm2.0040122A
004011F9  |> B8 48094800     MOV EAX,cm2.00480948                     ;  就跳走了
004011FE  |. 85C0            TEST EAX,EAX
00401200  |. 74 13           JE SHORT cm2.00401215                    ;  开始
00401202  |. 50              PUSH EAX                                 ;  相反这下面是失败的说明
00401203  |. 8B40 04         MOV EAX,DWORD PTR DS:[EAX+0x4]
00401206  |. 83C0 08         ADD EAX,0x8
00401209  |. 50              PUSH EAX
0040120A  |. E8 5C010000     CALL cm2.0040136B
0040120F  |. 59              POP ECX
00401210  |. 5E              POP ESI
00401211  |. 8BF8            MOV EDI,EAX
00401213  |. F3:A4           REP MOVS BYTE PTR ES:[EDI],BYTE PTR DS:[>
00401215  |> 50              PUSH EAX
00401216  |. 8B5D FC         MOV EBX,DWORD PTR SS:[EBP-0x4]
00401219  |. 85DB            TEST EBX,EBX
0040121B  |. 74 09           JE SHORT cm2.00401226
0040121D  |. 53              PUSH EBX
0040121E  |. E8 30010000     CALL cm2.00401353                        ;  于是我猜,一种是注册的成功一个是失败
00401223  |. 83C4 04         ADD ESP,0x4
00401226  |> 58              POP EAX                                  ;  结束,又是两段重复的代码
好啦!!我是易木马(DevilMayCry)xuepojie.com.再见!!
KEY:like_yu


超详细的视频出炉,(大神绕道):
7.zip (12.41 MB, 下载次数: 138)


评分

参与人数 13威望 +1 HB +44 THX +11 收起 理由
zxjzzh + 2 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
消逝的过去 + 1
agan8888 + 1
EMT + 1 + 1
king51999 + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
playboy + 1
Like + 1 + 1 厉害,赞一个
yuyan123 + 5 + 1 评分=感恩!简单却充满爱!感谢您的作品!
tony2526 + 3 + 1 评分=感恩!简单却充满爱!感谢您的作品!
xdr + 3 + 1 评分=感恩!简单却充满爱!感谢您的作品!
虚竹 + 5 + 1 评分=感恩!简单却充满爱!感谢您的作品!
923004243 + 3 + 1 很详细谢谢
Shark恒 + 1 + 20 + 1 评分=感恩!简单却充满爱!感谢您的作品!

查看全部评分

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
亿联网络 发表于 2015-7-28 19:17 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
botanycc 发表于 2015-7-28 21:12 | 显示全部楼层

看看,支持一个
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
tony2526 发表于 2015-7-29 07:57 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
冷瞳 发表于 2015-7-29 22:31 | 显示全部楼层

真心不错 赞楼主一个
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
 楼主| 易木马 发表于 2015-8-5 10:42 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
Like 发表于 2015-8-6 08:58 | 显示全部楼层

楼主厉害,
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
小峰 发表于 2015-8-7 01:14 | 显示全部楼层

占个楼,感谢分享
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

警告:本站严惩灌水回复,尊重自己从尊重他人开始!

1层
2层
3层
4层
5层
6层
7层
8层

免责声明

吾爱汇编(www.52hb.com)所讨论的技术及相关工具仅限用于研究学习,皆在提高软件产品的安全性,严禁用于不良动机。任何个人、团体、组织不得将其用于非法目的,否则,一切后果自行承担。吾爱汇编不承担任何因为技术滥用所产生的连带责任。吾爱汇编内容源于网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除。如有侵权请邮件或微信与我们联系处理。

站长邮箱:SharkHeng@sina.com
站长QQ:1140549900


QQ|RSS|手机版|小黑屋|帮助|吾爱汇编 ( 京公网安备11011502005403号 , 京ICP备20003498号-6 )|网站地图

Powered by Discuz!

吾爱汇编 www.52hb.com

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