吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 9176|回复: 18
收起左侧

[分享] nemo之脱破学习手记(1)

[复制链接]
chennemo 发表于 2012-7-21 20:32
本帖最后由 chennemo 于 2012-7-21 22:29 编辑

      本人菜鸟1枚,大牛勿喷~

        以下仅为本人学习脱壳破解过程中的心得体会,记录下来,算是备忘吧,见笑了~

        碰到一软件,刚打开
就是注册界面,郁闷~
        本来想偷懒用PEID里面的插件“PEID通用脱壳器”之类的,结果当然是不行了,因为根本进不了软件主界面。
        用“unpacker for UPX”则提
示说:“were unable to find OEP, could be a modified version”(这里不知是否算埋下了伏笔?)

(一)脱壳:
        那就手动脱吧。

        首先找OEP,试了3种方法:
        1、直接查找命令“POPAD”,然后往下单步走,很快就找到大跳转,来到OEP。(这里有个小细节,查找时不要勾选“整个块”,否则就可能不知跑哪去了。)
        2、ESP定律找到关键位置(跟查找“POPAD”得到的位置一致),然后单步找OEP。
        3、纯单步走。
        以上3种方法都能找到正确的OEP;但就效率而言,1最高,后面依次降低。

        然后就是OllyDump脱壳啦。可是问题来了:
        脱壳前:
               

脱壳前

脱壳前

        脱壳后:
               

脱壳后

脱壳后

        2个按钮没了,郁闷~ (是否是前面的伏笔那里的原因?这个壳是修改过的?)

        好吧,尝试用ImportREC修复之,最后总算恢复正常了。

      小结:脱壳的方法有很多,应该会有1枚会适合的。脱壳之后若运行不正常,可尝试ImportREC修复。

(二)破解:

        点“注册”,弹出“注册失败”,那就好办了,搜索ASCII,找到“注册失败”字样,得到如下代码:

00407CBA    833D 284A4C00  cmp dword ptr ds:[0x4C4A28],0x1   // 比较
00407CC1    0F85 35000000   jnz dd.00407CFC                              // 若不相等,则跳去“注册失败”那里
             。。。。。。。(省略n行)
00407CE0    68 B9CC4900      push dd.0049CCB9                              ; 注册成功
00407CE5    68 03000000      push 0x3
00407CEA    BB 30DD4000     mov ebx,dd.0040DD30
00407CEF    E8 673F0000      call dd.0040BC5B
00407CF4    83C4 28             add esp,0x28
00407CF7    E9 3A000000     jmp dd.00407D36                             // 无条件跳过“注册失败”
00407CFC    6A 00                 push 0x0
             。。。。。。。(省略n行)
00407D15    68 C2CC4900    push dd.0049CCC2                              ; 注册失败
00407D1A    68 03000000     push 0x3
00407D1F    BB 30DD4000    mov ebx,dd.0040DD30
00407D24    E8 323F0000     call dd.0040BC5B
00407D29    83C4 28            add esp,0x28
00407D2C    6A 00                push 0x0
00407D2E    E8 3A3F0000    call dd.0040BC6D
00407D33    83C4 04            add esp,0x4
00407D36    6A 00                push 0x0                                          
// 无论成功或失败,都进入这个入口

        按照常用的爆破方法,当然直接把第二句“jnz dd.00407CFC”换成NOP就可以了。但结果却不行,“注册成功”弹框是弹出来了,可是点确定之后却不能进软件主界面,而是直接退出了,汗~
               

破解后

破解后

        看来,可能有关键性的标志来确认注册成功。(经过后来的分析,此种可能性极大;因为如果没有标志的话,那“注册失败”之后直接retn退出软件就可以了,没必要和“注册成功”一起跑到同样的入口,所以应该会有个标志来区分成功还是失败的。)
        就近原则,先试试第一句里面的dword ptr ds:[0x4C4A28],后面的jnz指出,dword ptr ds:[0x4C4A28]要等于1才算注册成功,那就给它人工置1吧,把第一句改为:mov dword ptr ds:[0x4C4A28],0x1
        保存之后,发现可以进软件主界面了,看来这样改还是可以的。

        人都有懒惰性的,我也不例外哈~那个“注册成功”的弹框其实很鸡肋了,还要多点一次确定,麻烦呢,去掉算了。发现“成功”和“失败”的处理大同小异,那句相同的“call dd.0040BC5B”应该就是用来弹出弹框的,干脆全部都跳过算了,那个标志才是最有用的东西嘛。
        最终的修改如下:

00407CBA    C705 284A4C00  mov dword ptr ds:[0x4C4A28],0x1
00407CC4    EB 70                  jmp dd_p.00407D36
            。。。。。。。(省略n行)
00407D36    6A 00                  push 0x0


        总的效果就是,点“注册”后直接进主界面。

     小结:对于爆破,改跳转是个不错的方法;当改跳转无法解决问题时,可以考虑寻找关键性标志;再不行,就要另寻他法了。

————————————————————————————————————————————————————————————————————
本来想连那个注册界面都跳过的,奈何水平太菜啊~ 各位大牛小牛谁知道方法或思路的,还请告知,不胜感激!~


免费评分

参与人数 1热心值 +1 收起 理由
Sound + 1 欢迎分析讨论交流,[吾爱破解论坛]有你更精.

查看全部评分

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

52brs 发表于 2012-8-1 00:35
直接jmp过去? 或者push?

点评

你是说跳过注册界面的问题吗?我也是这么想的,直接jmp过去。不过,关键是如何找到弹出注册界面的那个关键call。  发表于 2012-8-1 09:55
蠢蠢不蠢 发表于 2012-7-31 10:29
写的很好呀,我什么时候才能到这个水平哦

点评

见笑了。 论坛是个学习的好地方。只要肯努力,一定会有所收获的。 我这个菜鸟的这些菜见,也全都是在论坛里学来的,哈~  发表于 2012-8-1 09:50
Hmily 发表于 2012-7-31 10:27
写的不错,想看下如何跳过注册框,可惜没找到程序,把nemo程序也提供下载下吧.

点评

再次有大牛光临,内牛满面啊。  发表于 2012-8-1 09:43
王之手 发表于 2012-7-24 12:13
chennemo 发表于 2012-7-23 21:13
我也是新人啦,看我的注册时间就知道了哈~
就我所知,查壳多用PEID,脱壳和爆破常用Ollydbg。

恩,多谢共同进步
coolfire1983 发表于 2012-7-24 08:07
学习了 谢谢楼主分享啊!
老海 发表于 2012-7-24 07:42
分析的不错,具体情况,具体分析。
 楼主| chennemo 发表于 2012-7-23 21:13
本帖最后由 chennemo 于 2012-7-23 21:21 编辑
王之手 发表于 2012-7-23 12:34
新人,很多都不懂,破解需要用的哪些软件啊?


我也是新人啦,看我的注册时间就知道了哈~
就我所知,查壳多用PEID,脱壳和爆破常用Ollydbg。

推荐几篇个人看到的 觉得不错的文章给你好了:
入门经验:教你0蛋如何在吾爱学破解,想速成不用看了。
教程+工具:【菜鸟先飞】零基础新手入门教程&工具包[已完结]
超全超强工具包:小生我怕怕破解工具包2012.2.6元宵节特别版

另外,论坛的网盘有很多资源教程工具等等,可以好好利用嘛。从论坛顶上面的“吾爱云盘”就可以进去啦。
wgz001 发表于 2012-7-23 20:26
期待更多精彩文章,赞一个

点评

见笑了哈~  发表于 2012-7-23 21:02
王之手 发表于 2012-7-23 12:34
chennemo 发表于 2012-7-22 17:52
个人认为,破解的难易要看软件本身保护措施的复杂程度,和收费与否未必有太大关系,有些免费软件也不见得 ...

新人,很多都不懂,破解需要用的哪些软件啊?
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-15 12:53

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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