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

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 9356|回复: 24
收起左侧

[原创] 某光盘镜像制作软件 爆破思路+改成站点协议+以自己名字注册

  [复制链接]
dsong 发表于 2014-8-5 18:15
本帖最后由 dsong 于 2014-8-5 18:36 编辑

====================写在前面====================
我在原创发布区看到(某个人)想看看破解过程,那我就放出来吧,大牛见笑了!
我也接到以前有人反映太长了,没有耐心看下去......于是我做一个图文的看看效果吧。
首个图文教程,唉,还要截取图片......幸好我之前搞定了一个截图软件......
@Dustin @my1229 你们可以来学习了。

====================破解过程====================
首先,这个程序是加了壳的,PEiD查出来是ASPack 2.12,而且真的是用ESP直接就脱掉了,所以脱壳就略过。
001.png
002.png
好我们载入脱壳后的程序. 一看区段就像是Borland C++的程序了。感觉代码可读性不错,我们来搜索ASCII。
以前我也是用过破解版本的,只不过都是注册版,然后我就知道安装目录下面只要有uikey.ini即可。于是搜索。
003.png
看到了吗?箭头所指的地方,我们enter去看看。
018.png
我们就来到了箭头所指的地方. 下断点运行到这里!
我们就可以知道,程序这时是在检测uikey.ini. 再看绿色高亮处的跳转,显然,如果没有这个文件就再读取这个文件一次
(我也不知道为什么,这里我们可以暂时先不管).
再接下来运行下去。
019.png
值得注意的是到了上图黄色高亮处,这个跳转没有跳,但是为了在后面uikey.ini的东西是程序唯一读取,所以我喜欢把这
里的跳转强制改跳。当然不改也行。
同理,下面的几个跳转也都一样方法处理掉。
020.png
改上瘾了容易出错,上图这里需要改成NOP而不是JMP。
因为如下图所示,跳过去之后就是读取注册表了。我有强迫症就是不想让它读。
021.png
好了接下来就可以一直走了。没发现这里有什么注册码校验或算法。
022.png
然后如上图箭头所示的JMP跳转就直指向段尾。非常爽快的出了读取Call。
出来以后如图所示:
023.png
注意我的标注。为什么我这么肯定它是那个可恶的窗口呢?因为......看下面的图,PE Explorer显示信息。
024.png
看黄色高亮处。会一点点英语的都可以知道,它是什么意思了。所以我也不多说了。
025.png
再回来看。我们的图。我们把上面的跳转改掉怎样?改成JMP,然后保存为Cracked1.exe。
结果:
028.png
什么!!!我没看错吧??提示框虽然是没了,但是标题上还写着试用版!!!不用说,功能限制也没去掉。唉,有一种想死
的感觉。不不不,我们再回来看看,不就是个暗桩嘛,再想想怎么解决。
027.png
图上已经标注出来了。我也不多说,进入Call。
走到一半,有些激动人心的东西:
029.png
哈哈。貌似有戏了。
030.png
031.png
貌似得到了真实注册码的样子!!!好激动!试一下,发现,唉,怎么不能用啊,还会提醒注册。再试一下,你就可以确
定,你被作者调戏了。然后你明白一个真理:这里出现的明码注册码,都是黑名单!!!
于是继续跟踪。我们不能忘记,到这个Call是来找6A7990, 6460C0这两个地址的。我们要具备抗干扰能力,直击关键!
032.png
如上图所示,改的内容就是这样类似的,这里就不重复说了。
确认没有漏网的以后就复制到可执行文件,然后保存为Cracked2.exe。
呜呼!终于不显示试用版了,截个图做纪念:(由于我强制让它读取uikey.ini而其实没有,所以注册名是乱码)
033.png
好了,我们心情畅快多了,试试看,拿个500MB的文件夹放进去,另存为ISO。
什么??要不要脸啊,直接另存为以后直接闪退,然后ISO保存下来的也是0KB!
看来这么个小软件的威力不容小视。怀着对它敬畏的心思再找找看暗桩。
我们再来看看:
00401D5C  |.  8B0D C0606400  mov ecx,dword ptr ds:[6460C0]
00401D62  |.  890D 90796A00  mov dword ptr ds:[6A7990],ecx
这两个语句就是用来使6460C0与6A7990相等的,那......会不会检测注册码的合法性的暗桩也是用的这个呢?
好我们Ctrl+S查找命令序列。(为了找全,拉到代码最上面,勾选“整个段块”再查。)
034.png
第一个查找到的是我们已经改好的,略过先.
035.png
Ctrl+L寻找下一处。果然找到了。
036.png
Ctrl+L第三处。也被找到了.
037.png
再次Ctrl+L, 这次没有找到,OD右下角提示:
038.png
OK,这下应该是好了。再次保存为Cracked3.exe。
再试一次,看,处理进程出来了,它真的出来了,好高兴啊啊啊,啊 啊啊.(呵呵我太激动了。)
039.png
好啦,我们这样就改完啦。
按照惯例我不会只讲一种方法。还有一种方法是打补丁的,不想看的人就别看了吧。
第二种方法就是在查找到底代码前面几句下断,然后再Ctrl+F9,改外面的代码搞定它。
重载程序。
搜索命令序列:
mov ecx,dword ptr ds:[6460C0]
mov dword ptr ds:[6A7990],ecx
040.png
其他两个地方也一样做。
我们会发现,为什么只断下来一次?因为其他两个地方有这里一个地方没改:
044.png
于是,一样的,查找命令序列:
lea ecx,dword ptr ss:[ebp-250]
push ecx
lea eax,dword ptr ss:[ebp-150]
push eax
call 004018E8
失败,只查到一次。那怎么办?一个方法,先构造一个假的注册文件uikey.ini。
内容:
UserName="dsong"
Registration="0000-0000-0000-0000"
好的,我们重新加载程序。
这下就成功断下了。Ctrl+F9。
我们来看看:
045.png
记下这句地址:00402FD9   > \C705 00736500 >mov dword ptr ds:[657300],804
地址:00402FD9 (待会我们返回就到这里。)
然后拉到最底下,一般程序都会给我们很大的空间做补丁。
046.png
记下地址:64592c
再按键盘上的"-"号回到原来的地方。
然后改掉跳转:
047.png
做好寄存器数值备份:
EAX 00000000
ECX 00000001
EDX 020C3480
EBX 00C31EFC
ESP 0012FB28
EBP 0012FF88
ESI 00646034 Unpacked.00646034
EDI 00000000
EIP 00402FCF Unpacked.00402FCF
做补丁开始,首先从以前收集到的两行代码:
mov ecx,dword ptr ds:[6460C0]
mov dword ptr ds:[6A7990],ecx
可以知道:6460C0处的代码是真的,于是我们模仿它来写一下。
048.png
好了,补丁代码就OK了,记下下一行代码地址:0064593D
下面依葫芦画瓢.
049.png
还有一个在我使用中间没有激活?重新试试看.
有很多都调用了这里......
050.png
051.png
052.png
0044B039
下一行:645952
053.png
00450328
最后的那一处我在断首找不到是哪里调用的,而且在实际测试中没有发现有障碍。看来它可能是一段死代码。
然后我们要说的就是怎样去以自己的名字注册显示。
第一种方法:
程序目录下新建uikey.ini,内容:
UserName="dsong" <--换成你自己的名字
效果:
054.png
不够刺激?
把它载入OD.
搜索字符串:license
055.png
056.png
效果:
057.png
可是我们是要发布出去的,不能让别人轻轻松松就改掉啊!接下来介绍方法。打补丁,打上自己的名字,即使uikey.ini里
面是其他乱七八糟的东西甚至没有uikey.ini都可以。
仍然是查找ASCII找到uikey.ini, F4运行。好我们火焰金睛看看哪里会出现我们的用户名.
058.png
12fe38,你记住了吗?接下来就是和上面的方法一样打补丁。
64592c记下来,上面代码改成jmp 64594d
原来代码备份:
00473FCB      FF75 08        push dword ptr ss:[ebp+8]
00473FCE      68 0CA28400    push Cracked_.0084A20C
所以先取几个字节,来改成我们自己的名字(二进制——编辑). 比如说我改的是"dsong @ 吾爱破解[WwW.52PoJie.Cn]",当然最后注意要留至少1个 00 。
要补丁的代码:
mov ecx,64592c
mov dword ptr ss:[ebp+8],ecx
xor ecx,ecx
push dword ptr ss:[ebp+8]
push 84a20c
jmp 473fd3
然后再保存文件,效果:
059.png
好了,今天就这么多吧,累死我矣!

====================写在后面====================
此软件破解说易也易,说难也难,主要是它的暗桩问题。
第一次出图文啊,真的好累好累啊,大家看了以后评个分吧。(顺便看看是配了图好还是不配图好)

(练习)软件下载地址:
http://cn.ultraiso.net/uiso9_cn.exe

免费评分

参与人数 10威望 +1 热心值 +10 收起 理由
逆向学习菜鸟 + 1 好帖,很详细,很强大
Monitor + 1 对于教程全力支持
9456-XN + 1 已答复!
kelvar + 1 谢谢@Thanks!
Shark恒 + 1 + 1 非常用心的制作,思路很好~
Dustin + 1 此时不评更待何时,赞
yyhf + 1 谢谢@Thanks!
my1229 + 1 楼主分析得很详细,学习并支持!!!
Syer + 1 已答复!
qwe2913207 + 1 简单 秒了 易懂 好帖

查看全部评分

本帖被以下淘专辑推荐:

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

 楼主| dsong 发表于 2014-8-6 18:05
本帖最后由 dsong 于 2014-8-6 18:06 编辑
gesuo1987 发表于 2014-8-6 17:56
破解复杂了,楼主没有注意常量赋值的地方,修改三处就ok了

第一种方法确实只修改了三处,你可以仔细看看。我习惯每次讲两种方法。
第二种方法复杂些,所以可以不看。但是这个打补丁的方法后面加上自己注册名的时候是会用到 的。
恒大大 发表于 2014-8-5 18:21
羅少 发表于 2014-8-5 18:33
9456-XN 发表于 2014-8-5 18:43
太详细了,让我对汇编技巧进一步了解,此帖必火

明天评分。。。
阿水小水 发表于 2014-8-5 19:44 来自手机
这贴适合收藏!
lihong 发表于 2014-8-5 19:45
真有钢啊   。。
叶子暄 发表于 2014-8-5 19:55
楼主辛苦了~这对我们新手很有帮助。
my1229 发表于 2014-8-5 21:16
楼主分析得很详细,学习并支持!!!
SaberMason 发表于 2014-8-5 21:46 来自手机
太强了,学习下
博波世界 发表于 2014-8-5 21:56 来自手机
看得我都晕了~
您需要登录后才可以回帖 登录 | 注册[Register]

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

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

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

GMT+8, 2024-3-29 06:07

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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