“强爆”之obi-one's crackme 复活版
文章标题】: “强爆”之obi-one's crackme 复活版【文章作者】: snetluck
【作者邮箱】: [email protected]
【软件名称】: obi-one's crackme
【软件大小】: 不重要
【下载地址】: 自己搜索下载
【加壳方式】: nspack 3.7
【保护方式】: 自校验+重启验证
【编写语言】: E语言
【使用工具】: ollydbg,peid,overlay
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
【详细过程】
前言:太久没写破文了,怕生疏了,特写此文,献丑一下!在看此文之前建议先玩玩obi-one兄第三个crackme!~~
一、查壳:peid 查壳 :NsPacK V3.7 -> LiuXingPing [覆盖] ,od载入,ESP定律简单脱之!运行程序无法运行,提示:…………the file! (因为overlay~ `_`!)。用overlay工具复制附加数据后,运行程序,正常!
二、搜集信息:1.脱壳程序后为:Microsoft Visual C++ 6.0 [覆盖],经过发现,这个是E语言编译D~(呵呵,还用问嘛~obi-one做的crackme都是E语言写的~)。
2.运行程序,输入用户名 试炼码,有错误提示:“不对不对……”
3.经过发现程序有自校验,把原程序删除后 脱壳后的程序无法运行,但是,原程序和脱壳程序在同一个目录又可运行,不知道是不是BUg??
三、静态分析:1.因为听某高人说过 E语言开发也许是用C++,所以静态分析无效(功力不够,不知如何静态分析,IDA?没用过~~ :d~)。
2.但E语言有个弱点,就是把算法都放在ecode里的,但发现这个crackme没有,那正是obi-one兄为什么加壳的原因之一吧~~
3.但偶又发现个好东东??经过脱壳的程序用OD载入,一跑,然后用OD自带字符串参考,嘿嘿,你们会发现什么呢?对了,所有字符串都裸露了~
四、动态分析(简单说下思路):1.解决自校验: 下断:bp ExitProcess ,发现两处校验:0042520F 837D D4 FF CMP DWORD PTR SS:,-1 和 00425228 817D D4 90C60B0>CMP DWORD PTR SS:,0BC690 一个是文件名校验,一个是大小校验~!把跳转改成jmp后,OK程序正常运行~~
2.OD载入修改后的程序,run,输入用户名,试炼码。下断,bp MessageboxA断点,点确定,断下,回系统领空~ 向四处瞄几下,经过玩过obi-one兄的第二crackme就知道了(这个是改进版~)程序是重启动验证的,按钮不是关键~(但此处也有个验证,验证注册码和用户名的合法性,如果合法就记录,等重启验证~)经过发现,注册成功的话用户名会存放在software\microsoft\internet explorer\main\user\中~!
3.因为有字符串的裸露,就偷懒一下不用下断点方法了,也正因为字符串的裸露也就没太大的难度了,直接查找字符串,看哪个不爽就往哪个下(呵呵~开玩笑)~
4.不难发现 00425F20 /0F85 7F000000 Je crackme8.00425FA5 处就是关键跳了,改之~运行修改后的程序,发现被忽悠了,继续往下跟,发现此处004263A7 /0F85 A7020000 Je crack.00426654 和 004263B1|.0F85 36010000 JNZ crack881.004264ED 处 可以跳过忽悠处~先改第一个。运行修改后的程序发现还是不行。还是被忽悠,继续找,修改第二处,保存运行,发现还是不行~~
5.搜索自符号串:”注册成功!祝pyg越办越好!“ 往上找:00427351 55 PUSH EBP //下断 运行,断在此处,往下走 不难发现 00427A5B|.0F84 48010000 JE crackme8.00427BA9 处是关键跳转,改之,保存,运行,哈哈,是不是成功了?不~程序又退出了,看来还有自校验。
6.OD载入修改后程序,下断: BP ExitProcess,运行程序,程序退出,但被断了下来,又是不难发现00424CB0 0F84 22000000 JE crackok8.00424CD8 处是关键比较,改之,到此全部强爆完毕~
.
,
--------------------------------------------------------------------------------
【经验总结】
一、谢谢各位看完这篇没什么技术含量的文章,这里只是提供思路。
二、对付加过壳的E语言程序(一般是为了打乱算法存放位置)可用字符串参考~!
TO obi-one :感觉可以把字符串加密或者不提示来加强强度,还要记得防ece哦~~(此crackme未防~)
PS:建议想玩的朋友先玩玩obi-one的第三个crackme
--------------------------------------------------------------------------------
【版权声明】: 本文原创于PYG初学者破解技术论坛, 转载请注明作者并保持文章的完整, 谢谢!
2006年09月03爱 15:34:33
[ 本帖最后由 野猫III 于 2006-9-7 09:37 编辑 ] 有什么错误的还请指出,没什么技术含量,闪人,看电影去~! (因为overlay~ `_`!)。用overlay工具复制附加数据后,运行程序,正常!
这个是第一次学习到!/:D
这点能否说的再详细点:victory:
[ 本帖最后由 tigerisme 于 2006-9-3 16:27 编辑 ] overlay就是附加数据(没怎么深入研究,期待高手解释~)
具我所猜测 就象留后门一样,有附加数据(我可没放过哦),一般都是在程序段的末尾。
就拿这个程序来说,我感觉它的OVERLAY是E语言的支持包(500多KB),失去后就无法运行了~所以应加上!~ 原帖由 tigerisme 于 2006-9-3 16:24 发表
(因为overlay~ `_`!)。用overlay工具复制附加数据后,运行程序,正常!
这个是第一次学习到!/:D
这点能否说的再详细点:victory:
易程序有附加的数据。脱壳后一般都会抺掉。所以要补回。 哦,顶一下在看 原帖由 bfqyygy 于 2006-9-3 16:55 发表
易程序有附加的数据。脱壳后一般都会抺掉。所以要补回。
收益非浅,十分感谢:victory: 原帖由 snetluck 于 2006-9-3 15:52 发表
【文章标题】: “强爆”之obi-one's crackme 复活版
【文章作者】: snetluck
【作者邮箱】: [email protected]
【软件名称】: obi-one's crackme
【软件大小】: 不重要
【下载地址】: 自己搜索下载
【加壳方 ...
/:D 呵呵,这又是我没想到的,字串问题!你的思路同我的差的还比较远!其实里面有5次验证是否爆破,是不是注册成功!没想到被你直接修改跑到最后一个了!这也是这个CRACK ME失败之处,谢谢SNETLUCK的提醒!下一个会解决这个问题!!你可以再分析一下这个软件的保护思路!如果知道的话再给你加分!
另:你发在这里我没法给你加精!只能加分了,我会联系一下这的版主试试!
[ 本帖最后由 obi-one 于 2006-9-3 18:14 编辑 ] 我星期三左右做一个小改动,算法完全不变,记得看一下哦!:$ 好文好文,学习了!原来强爆也很有意思/:D:P
页:
[1]
2