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

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4393|回复: 6
收起左侧

[原创] 简单分析下一CM

  [复制链接]
珈蓝夜雨 发表于 2013-4-9 03:47
本帖最后由 珈蓝夜雨 于 2013-4-9 03:51 编辑

大家好,我是珈蓝夜雨。抽空写篇爆破一CM的文章,这文章是欠大H的……
红色字体为修改的代码
CM下载地址
http://www.52pojie.cn/forum.php?mod=viewthread&tid=191690&extra=page%3D1%26filter%3Dauthor%26orderby%3Ddateline%26orderby%3Ddateline

此CM有检测OD,检测到OD后直接退出。CM作者说要保存后成功破解的才算破解成功,所以修改一个地我就保存一次……
下ExitProcess断点,断下后返回上一层,在段首RETN。
00439400      C3            retn
00439401  |.  8BEC          mov ebp,esp
00439403  |.  8B45 08       mov eax,[arg.1]
00439406  |.  50            push eax
00439407  |.  B9 E8564D00   mov ecx,CM.004D56E8                      ;  ASCII " 觊"
0043940C  |.  E8 4F85FFFF   call CM.00431960
00439411  |.  8B4D 08       mov ecx,[arg.1]
00439414  |.  51            push ecx                                 ; /ExitCode = 0x0
00439415  \.  FF15 8CB24800 call dword ptr ds:[<&KERNEL32.ExitProces>; \ExitProcess
0043941B   .  5D            pop ebp                                  ;  CM.0043941B
0043941C   .  C3            retn
修改后保存,再次打开程序会提示程序的名字被修改的对话框,我保存的时候修改了程序的名字
下MessageBoxExA断点,断下后返回程序领空,找到跳过错误的跳转进行修改后保存
00405068   > \837D F0 00    cmp dword ptr ss:[ebp-0x10],0x0
0040506C      EB 75         jmp short CM1.004050E3
0040506E      90            nop
0040506F      90            nop
00405070      90            nop
00405071      90            nop
再次运行CM,会出现欢迎使用破解版程序等字样的信息框,依旧和上面一样处理
00406E1F   >  837D E8 00    cmp dword ptr ss:[ebp-0x18],0x0
00406E23      E9 7B140000   jmp CM2.004082A3
00406E28      90            nop
00406E29   .  68 01010080   push 0x80000101
找到跳过错误的跳转进行修改后保存
重新打开程序,会提示运行时错误的提示框。下MessageBoxExA断点,断下后从堆栈中往上找,找能跳过的跳转修改
004100D8  |.  85C0          test eax,eax
004100DA      EB 0E         jmp short CM3.004100EA
004100DC      90            nop
004100DD      90            nop
004100DE      90            nop
004100DF      90            nop
修改后保存
再次运行CM,成功运行了。
我的机器码是ZFF1F09BC2DEF5B5ABF56D405110F01DD0==
输入假码123456789
此CM的验证时直接在编辑框内写入注册码,然后按下回车键后就注册。下GetWindowTextA断点。断下后返回到程序领空。
返回到程序领空后,会发现堆栈窗口中有HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\feifei
的字样。打开注册表后,发下这个子项里面有两个值
数值名称:CM
V2taR01VWXdPVUpETWtSWkY=
数值名称:CM1
95,58,96,EB,48,7F,63,02,E9,B0,D9,34,5B,C5,64,81,B4,3F,12,FF,73,8F,18,2A,
继续往下。将输入的假码的后面加上ZF。也就是123456789ZF。然后将123456789ZF用BASE64编码。得到MTIzNDU2Nzg5WkY=
然后在和注册表里面数值名称为CM的值比较,比较是否相等
00416FB1  |> \837D DC 00    cmp [local.9],0x0
00416FB5      90            nop
00416FB6      90            nop
00416FB7      90            nop
00416FB8      90            nop
00416FB9      90            nop
00416FBA      90            nop
将下面的跳转NOP掉
然后通过算法获取到8E,3E,AB,F0,54,0B,07,66,F0,92,DA,51,5A,FB,4D,F9,
算法我没细看……
然后将MTIzNDU2Nzg5WkY=和8E,3E,AB,F0,54,0B,07,66,F0,92,DA,51,5A,FB,4D,F9,分别写入
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\feifei
注册表内
数值名称:feifei
MTIzNDU2Nzg5WkY=
数值名称:feifei1
8E,3E,AB,F0,54,0B,07,66,F0,92,DA,51,5A,FB,4D,F9,
此时运行程序,在输入假码的下面会出现注册成功的字样。
但这样并不是注册成功。真正地注册成功会出现一个界面。
重载程序,然后继续,会发现一个地址。用IE打开
http://b1.qzone.qq.com/cgi-bin/blognew/blog_output_data?uin=944982952&blogid=1365376108&styledm=ctc.
获取网址里面的内容,然后取出
WkYzQjY0QzMzQURZF
我认为这个联网的不重要,重要的是那个注册表……从刚才的笔记可以看到,对注册表里面写入了4个不一样的值,CM,CM1feifeifeifei1
这四个里面的值,只要CMfeifei里面的值相同,CM1feifei1里面的值相等。然后重新打开程序就会显示成功的界面了

免费评分

参与人数 2热心值 +2 收起 理由
淡然出尘 + 1 我很赞同!
Peace + 1 我很赞同!

查看全部评分

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

y65980 发表于 2013-4-9 08:34
先占位才 后观看
king6725 发表于 2013-4-9 09:08
heidongqilin 发表于 2013-4-9 09:12
凌晨发的cm凌晨3点就有破文了。。。


都不睡觉吗?
小雨细无声 发表于 2013-4-9 10:28
膜拜大神,感谢教程!
这只猪 发表于 2013-4-9 17:36
研究研究,谢谢楼主
riguang2b 发表于 2013-4-14 09:33
膜拜。。。
您需要登录后才可以回帖 登录 | 注册[Register]

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

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

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

GMT+8, 2024-5-18 00:56

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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