【新手教程补充】开博送货单软件标准版1字节爆破图文加视频教程
本帖最后由 wang1234561211 于 2015-9-14 18:46 编辑中午吃饭的时候看到小生我怕怕大神居然给我这个帖子加分了,哇塞。激动啊,第一次离大神这么近。{:301_977:}
【新手教程】开博系列软件脱壳、IAT修复、破解
这是第一期写的破解教程。一直不是很完美,需要修改的地方太多了。太累,而且还麻烦
我是8月6号开始学习破解的。下载了4期吾爱破解的新手教程。
这个软件一开始耗费我的时间也是最多的,研究了一周,才多少有点眉目,又犹豫了几天才决定把破解教程写出来的。
好了进入今天的正题
本文非常简单,纯新手教程,因为我都是新手,写不出复杂的文章。所以为了让和我一样的新手看得懂,会稍微详细一点点。请不要怕太长,都以为太难了,其实很简单的。
昨天看了大神 @小生我怕怕 以前出的新手教程。忽然想到了这个软件。也是有好多处的功能限制。然后今天早上来到公司开始研究,发现了这个更好的方法。
OD载入脱壳修复好的程序。(在第一期教程里面,写的有很详细的脱壳修复教程,这里都不啰嗦了)
这里是OEP,我们先运行程序,出现这个界面,点确定即可,进入软件界面。(为什么要先运行程序呢,以后字符串程序运行起来,才可以搜索到,不过这个软件不运行起来一样找得到的)
点击帮助-注册软件。看到未注册这样的界面。
我们回到OD,按alt+E(也可以点击OD上面的查看-可执行模块),然后选择我们程序名字一样的模块,双击进入。
然后右键-中文搜索引擎-智能搜索。查找我们的字符串
Ctrl+F搜索未注册。 我们找什么呢,找功能限制的字符串。看看能发现什么。搜索类似这样的(未注册版本不可使用本功能。请注册为正版用户!\r注册后,您将获得专业的技术支持和最新升级版本。")
先来到第一处
发现没,上面有个jnz,可以跳过这里的,然后都不会提示未注册用户不能使用了。(第一期教程的笨方法都是挨着把这些跳转给修改成JMP的)
我们复制jnz上面的几句话。记录下来
00C6F17E .A1 2C29DF00 mov eax,dword ptr ds:
00C6F183 .8038 00 cmp byte ptr ds:,0x0
00C6F186 .75 5C jnz short dumped_.00C6F1E4
然后重新回到我们找到的字符串窗口找下一处。(在反汇编窗口点击菜单栏的 窗口-选择中文搜索引擎即可)重复以上方法,直到结尾。
然后把刚刚记录的代码分析下,下面是我放在记事本里面的代码。
认真看,发现什么没,红色的箭头指示的地址都是固定的。然后下面是个cmp指令判断下面是不是跳转。(我们当然希望是跳转了)
然后我们来到其中一处分析下。我选择的是这一处字符串对应的反汇编代码(未注册版本不可恢复备份数据文件。请注册为正版用户!\r注册后,您将获得专业的技术支持和最新升级版本)
然后我们触发这里的判断。(选择的是恢复数据,当然要选择对应的功能才可以触发了)
点击系统功能-数据恢复,然后直接回到OD把,已经断下来了。我们在OD分析下
mov eax,dword ptr ds:
这句代码的意思是,把0xDF292C地址里的数据(由于是dword类型的,其实也是个地址。)传递给eax。此时我们寄存器是这样的
然后我们单步一下,再看看eax,已经收到了上面传递给她的数据了。
我们在分析下此时的代码
cmp byte ptr ds:,0x0 cmp这个是比较命令,影响下面的跳转了。意思是拿0和eax这个地址对应的数据比较。 如果是cmp eax,0x0。都是0直接和eax比较了。注意区分哈
然后我们右键EAX-数据窗口跟随。(看看EAX里面存的数据是什么。是0,还是1呢) 作为新手当然不知道jnz是相等跳还是不跳,所以需要跟过去看下啦。
跟过去发现是0.看来我们得让他是1不是可以跳了吗,我们不知道,就试一下。
看来这个地址。00DF9D14 里面存的值,都是我们今天破解的关键了。(上面说了这么多,终于找到关键地方了)
然后我们就要找,什么时候程序给他赋值为0了,还是一直是0,怎么让他变成1,是我们的关键了。
然后右键上图黄色背景下的00。断点-硬件写入-byte。
然后设置好,断点。我们重载程序,运行,软件出现登陆窗口,点击登陆即可。(可别以为是断点没起作用,因为我们还没进入到程序的主界面呢)。当然了。我们可以取消之前分析的时候F2下的断点了。(其实不取消也可以。等破解好,可以接着分析,也省事儿)
我们来到第一个地方。(高手其实看到这个直接都跳过了,我们还是分析下为啥跳过这里)
此时EAX的值就是我们刚刚分析的那个。mov byte ptr ds:,0x0 这一句话,是把0给他了。往上翻,都到段首了。也没看到给这个地址赋值为1的语句。也没跳转不是。 更通俗的说,如果我们这里把0修改成1,到了下面再有代码给他清零了,不是还要再修改吗,所以我们先继续运行程序。来到了这里
咦,看我红框框里圈到的什么是。这么可疑的字符串。会不会是注册码呢。心中大喜。(别高兴了,我试过了,不是。哈哈)
这里和上面一样,还是继续把0给00DF9D14 这个地址了。我们继续运行吧。来到这里
看我备注。先是上面一句赋值为0,给清零了。(虽然把这个清零是只是清零EAX里面的值。不过00DF9D14 这个地址对应的值上面已经赋值0了)继续运行。
这里是我们关键了。图片中也注明了,上面有个关键跳呢。如果跳转的话,就继续赋值0了,如果不跳转的话,赋值为1。
既然分析到这里。就到本教程的结尾了,怎么实现我就不啰嗦了吧。可以修改跳转,nop掉。也可以修改XX,你懂的。认真看的。肯定知道了。
中午要吃饭了。等下午了吧,我再录制个视频教程。不是还是无声的文字版视频。(在公司上班,尤其是领导还是对面,不能太猖狂不是。嘿嘿)
趁这会儿领导和同事都不在赶快录制了这个教程,害怕同事或者领导进来尴尬。所以录制视频好紧张。
视频教程
链接:http://pan.baidu.com/s/1pJvJ27h 密码:lye4解压密码www.52pojie.cn
一、 【新手教程】开博系列软件脱壳、IAT修复、破解
二、 【新手教程】考真系列之Windows7模块软件-追码教程
三、 【新手教程】完美破解之黑谍宝贝下载专家
四、 【新手教程补充】开博送货单软件标准版1字节爆破图文加视频教程
Hmily 发表于 2015-9-11 11:40
如何通过关键跳转寻找标志位赋值过程。
大神啊。真是厉害,没写完都知道。不亏是论坛的老大!很感谢你对我写的这么菜的教程支持,我也会不断学习,把学到的新知识写出来分享给大家的。 这样没用,有暗桩的 如何通过关键跳转寻找标志位赋值过程。 我一直都是NOPNOP,很少分析过 魔道。 发表于 2015-9-11 11:41
我一直都是NOPNOP,很少分析过
我一开始也是nop。jmp。今天一时兴起。分析了下,好简单这个软件。 学习了,谢谢,研究一下 感谢LZ的无私!一收下 yuluo5566 发表于 2015-9-11 12:52
感谢楼主的分享..认真学习下
:victory:共同进步哈 全局变量保存注册标记,业绩良心。。。 segasonyn64 发表于 2015-9-11 21:16
全局变量保存注册标记,业绩良心。。。
啧啧,还是大神说的专业,到位呀。我都不知道这算是什么方法,嘿嘿。