本帖最后由 luo858 于 2015-3-2 13:37 编辑
在发破文前,我得先声明一下。 本人不是高手,是刚学习的新手,一直在吾爱 破解论坛里逛,也深知初学者难入门,老实说,我为这个软件破解研究,也苦恼和郁闷过!但我并没有退却,而继续研究,学习。 我也知道,初学习者光看文字,没有直观的OD运行图片,很难了解过程和学习兴趣,有好多都中途而废!所以,这回我发破解文章,多以图片为多,这样大家一目了然,便于学习思路和方法,达到举一反三!这也是我最终目的。 本文章只是给大家交流学习,而非用于商业。软件作者有免费10天的使用。如真需要可以支持下作者!(软件名:北京8脚本监控)
第一章 敌情未知,探路在先。
按部就班,查壳探之。如下图
1
第二章 敌情初现,有的放矢。
大家已经知道是UPX壳了,脱UPX壳有好多方法的。有工具和手工OD等,咱们就用OD熟悉下手工脱吧。哪手工OD也有几种方法脱,我们就用ESP定律脱吧!废话少说,软件载入OD,如下图:
2
全部载入OD,如图
3
第三章 入敌占区外围,步步隔而歼之。
在上方OD载入软件后,我们就按ESP定律常规,步步为营。按F8单步进入下一行,同时看到右边的寄存ESP变为红色。
4
下一步, 我们就接着先左键在寄存上选中ESP ,然后,就右键打开选择到“跟随到数据窗口”如图:
5
不急哟,朋友咱们再继续步入,到“数据窗口”后, 右键打开选中硬件断点到Word 。如图
6
哈~~ 我们又向敌占外围区打一个“楔子”,又进了一步,再继续步入~~~~ 大家不知道,记得不?上一步不是我们已经给程序打了“楔子”(就是断点:Word ),现在,我们就用上它了,它可以帮我们找到外围壳出口。具体如下:在上图片断点后,按Ctrl+F2,就是重新载入软件到OD。载入后,就按F9,运行OD,此时,OD会载入软件运行我们下的断点处。
7
到这里,就差不多胜利在望了,不过得要做一件事,到这里后,不要忘记,一定删了我们硬件断点,以免影响后面调试和跟踪!
8
51
接下来,我们继续鼠标选中图片中的JMP 关键跳,按F4, 运行到些位置。(当然,你也可以F2 下断点,重新OD 载入软件,F9 ,运行也可以到此地)
9
接下来,咱们就在此处,按F7跟踪进入这个JMP跳的去处。。。。如图
第四章 突破外围区,拆出堡垒壳。
11
打开选项后,如图!
12
后面,不用多说,保存文件~~~你可以自己查看下,原来文件是630K大小,脱壳后为2.16M。变大了好多哟 说明UPX压缩挺高的。程序至此,尽尽只是外围堡垒,内核东西,咱们还没有进去探明~~~
第五章 入核心路,现荆棘道。
我们先打开脱壳软件,看下是什么情况?如图
52
这个说明什么呢?只有一个解释,软件有自效验的哟,程序自效验方式好多种的。咱们也不要过多去遐想,我个人感觉还是按照一般思路去看下,就是搜索关键字(在Od中),找到关键-返回汇编窗口—再去分析关键跳!思路明确后,就这么来~~ 1.载入脱壳软件,选择插件-中文搜索-搜索ASII,然后跳到搜索页面!
13
2.搜索页面,搜索关键字! 任选中一行,右键-Find和快捷键Ctrl+F,弹出一个搜索框,输入:程序异常错误
14
搜索到时,就会停到字符串处。这时候,你就双击搜索到的字符串(程序异常错误),然后就会来到OD 反汇编窗口处。
15
3.咱们现在就有目标了,有这个出错提示,那就我们就附近向上分析相关“跳”代码,有什么代码和这个出错相关呢?
16
那怎么办?既然没有跳,我们就把这个JE 改为JMP 无条件跳转,跳过“程序异常错误”。在看下效果怎么样了?--》右键--汇编
17
点击汇编--跳到修改页面
54
汇编修改后为,如图!
18
然后,就右键- 保存到所有修改!-- 》点全部复制---
19
20
保存文件---另存名--- 》 呵~~这个不用我说了吧!
这时我们已经JMP掉一个错误,看下效果是怎么样了? (重载入)打开修改的软件,晕哟~~~~ ,又一个出错提示:“程序已经在运行中”。看来作者有好多保护哟,核心路上困难丛丛。不过,大家发现没有,现在已经是另外一个出错提示,第一次出现是不是没有了,说明我们思路还是对的。
21
既然是对,我们就重复,第一次搜索字符串— 过程,只是把关键字符串:换成“程序已经在运行中”,然后来到第二个出错代码处。如图片
22
具体方法和第一次出错,修改-汇编-保存,方法一样。不再发图上! 现在文件另保存了,我们就重新打开二次修改软件,看下是什么情况发生了?
23
开心一下!软件能打开了,说明我们思路和方法是对的,但问题并没有到达我们目标,我们目的是:过了10天试用期,一样能行! 大家过细发现没有,这个软件正面,有一行消息:发现新版本,请更新使用,亲没有登陆按钮。这也说明我们还有好多东西,要继续完成!已经到了这步来了,也不能放弃哟。 那下步怎么办呢?是不是作者发布了新版,不更新,就隐藏了登陆按钮呢?现在也不好说,咱们就试下吧,去掉:更新通知消息。那怎么去掉更新消息呢?呵呵~~方法和上面一样,重新载入改后的软件,搜索—关键字—反汇编窗口-分析-相关跳转。
24
如何修改,按上面方法操作,不上图片了。我们就得到一个修改后的保存新程序,然后,我就试着打开软件,看是什么情况?
25
直接晕了,又一个文件自效验哟,点击确定后,软件关闭!登陆按钮是出来了,但是灰色的。老实说,我们还没进入软件中,我快投降了~~还不知道,前面还有多少暗桩哟 不管那么多了,我们继续向前步入,方法一样—重新OD载入修改的软件-搜索中文-到反汇编窗口-分析相关跳转!(--修改-汇编-保存等操作和上面一样方法)看下有什么情况?
26
按理现在是可以了的,出错差不多都处理了。。。。我们试目拟待。打开保存修、改后软件~~~
27
好开心哟 终于看到了正常登陆页面,试下能进去不?点登陆—成了—进去了-!还能剩余4273分钟,就是1440分=24小时=1天)
28
现在 不是我们要的目的,软件到期后,一样用不了的。咱们的研究工作,还得继续哟~~~~
第六章 明风平浪尽,暗礁石错布。
开心没有多久,软件时间到了,出现了这样的提示!
29
软件登陆页面有:使用时间到,请联系qq ,登陆按钮为灰色!怎么办?老办法试下,搜索中文—字符串-双击到反汇编窗口—去分析代码。
30
咱们先从上面第一处地址--双击—进入反汇编窗口看下。
31
咱们先从上面第二处地址--双击—进入反汇编窗口看下。
32
咱们先从上面第三处地址—进入反汇编窗口看下。
33
上面三处处理方法一样,汇编-改JMP-所有修改,另外一个页面右键-保存文件-重全名等。不再述说。可以参考最上面的图片。 好了,修改完后,我再打开保存的软件,看下是什么情况?希望成功不出差错! 这次直接晕了,能打开登陆页面,但登陆按钮—点击后---软件直接关闭!当头一棒哟~~ 说明软件还有暗礁哟?现在作为我一个刚入门20多天新手来说,直接晕了。 没法就去泡 吾爱破解论坛,看下高手是怎么处理的,关程序自效验的。看了好多破解,自效验方法,不外乎下断点,设置了断点bp ExitProcess---在堆栈里找到—并右键反汇编窗口,去找相关信息! 我也只好,先这么试下,是什么情况?如图
34
然后,按F9运行,软件。弹出登陆窗口后—点击登陆—被断下
35
选择来到反汇编窗口中。。。。从上面图片中,可以看到相关je call ,对于”call 00514466 E832000000 call 北京8脚?0051449D” F7进去也没有可用东西! 都没有有用的信息。就算软件打开后,不登陆,正常关闭,也一样断点,就停在这里!并不向,有些朋友发帖说的,这时断点向上走,有一段相关关闭程序东西,但我是分析的这个软件是没有的。我现在是无语加郁闷哟~~~
36
接下来怎么办?除了失败就是失败,点击登陆就关!怀着一个真心求学的心情,在网上加破解QQ群,看能否有所有帮助?结果加了一个群,直接被别人“高手“,骗去50元钱。。。。。我现在心情到了,好低落时候。。。。。。这就是一个新手现实,求助无门,就算有人愿意帮你,也是有偿的,有偿也不怕,关键是你投资的钱,是肉包子打狗子,有去无回!就这样,被骗50元后,直接停了三天,对这个软件研究!事后,冷静下来,就想, 我要争这口气,只有要恒心加正确方法,一定会学到,好多知识的。决定,重新返回软件破解分析!
第七章 穷则思,思则变,变则通
我的穷,就山穷水尽。那我就想为什么会这样改了“时间到。。。“提示,就直接关了,说明,这个软件有时间自效验东西没有搞干净。并且,可能还不只是一个暗桩,如果要一个一个去跟踪nop掉相关调用,又不好找,工作是量大。更主要是,少找一个软件,一样不会正常运行。 既然这样,那我们可不可以变通一下,大家要知道一个原理,不管你是什么本地和网络验证,最终,你都会内存比较,得到一个结果,根据这个结果去执行相关程序。目标丰富了,我们就找到软件时间验证call,步入进去,去修下软件对比的结果值,从而达到我们目的。好,咱们现在就开始工作。。。。从什么地方下手呢?大家已经知道了,软件是登陆后,自动关了的。说明点击登陆后,程序会在后台自效验时间问题。那我们 就先载入软件od,搜索字符串—用户效验中
37
一路下来F8,并能显示取得机器码,但这不是我们要的东西
38
再继续F8 跟踪。。。。。单步跟踪来到00405DB1处,按F7进去。。。
39
进去后—继续按F8跟踪—注意OD栏目,会显示软件取得的时间,这是我们感兴趣的,但不是我们想要的软件,剩余时间。
40
到了这里,我感觉信心百倍,似乎看到了希望了。。。。。 F8到0040DOA1处。。。就要到关键时候了,死心塌地慢慢一步一步F8,这里是时间浮点计算对比,算出软件还有多少剩余时间。
41
42
看软件浮点计算出来的是多少?是-9993.000000000000,说明软件时间到了,不满要求,直接下一个call关退程序了。有些朋友会,那我们当时,为什么不在前面nop这个时间call,不就行了。呵呵!想法是好,但这个时间可能其它自效验要用到哟,如果nop,程序一定会出错的哟。 现在,已经非常高兴了,已经到达核心关键点上了,剩下的是修改。这个0040D0AA DD45 D8 fld qword ptr ss:[ebp-0x28]中,其中这个是堆栈地址,原理简单,找一个地址,计算出来的结果,不为零就达到目的了。我们就改为上面有一个0xc的地址。暨0040D0AA DD45 D8 fld qword ptr ss:[ebp-0xc]
43
然后—保存—所有修改—跳出另外页面—右键-保存文件。。。 咱们再用OD,重新载入保存后软件,看下效果是什么情况?
55
现在,我们反过来跟踪,用F8到,修改处看下。。。。
44
从图片中,我们看到软件时间正是42051分钟!就算关了软件,重新起动,又变回了42051分钟。。。。 ,至此,达到长期使用的目的。最后,还是强调一下,写软件也不容易,有能力还是支持作者,本文章只能研究学习下!
(文件加数据有3.6M,太大了,传不了,只能传主文件)附件:
北京8脚本监控1.52——我吾爱破解.rar
(628.28 KB, 下载次数: 982)
现在上传原版全部(含开奖数据文件)地址: http://yunpan.cn/cJt8aVRdA6RNQ (提取码:8470)
|