-
-
春天电子书1.2破解(老版本ARM)!!!
-
发表于:
2005-9-25 11:23
9950
-
【破解作者】 bnbn
【作者邮箱】 165423750@qq.com
【使用工具】 FLYOD+PEID+ImportREC+LORDPE
【破解平台】 Win9x/NT/2000/XP
【软件名称】 春天电子书(EbookMaker)1.2
【下载地址】 http://www.thespringsoft.com
【软件简介】 做电子书的软件,界面很不错
【加壳方式】 Armadillo 1.xx - 2.xx
【破解声明】 本文原创,还请指点!
--------------------------------------------------------------------------------
【破解内容】
本文已经投稿,请勿转贴。
切入正题,先运行软件,看出软件用次数限制+功能限制+注册码保护。
打开任务管理器,发现是单进程,这下可以省了不少功夫了。
初步脱壳
用FLY修改的OD载入软件主程序eBookMaker.exe,设置Ollydbg忽略所有的异常选项。载入完成以后OD停在图二所示的地方。然后下断点BP GetModuleHandleA+5,然后shift+f9运行,程序被中断在如图3所示地方,然后按F9,同时要密切留意堆栈的变化:
第一次:
0012FF34 /0012FFC0
0012FF38 |005AA181 返回到 eBookMak.<ModuleEntryPoint>+0C8 来自 kernel32.GetModuleHandleA
(为了节约版面,其他几次省略,请大家自己观察)
第六次:
0012DED4 /0012DF10
0012DED8 |003C471F 返回到 003C471F 来自 kernel32.GetModuleHandleA
0012DEDC |003DD824 ASCII "kernel32.dll" //★★★★★
这里就是返回的时机了,取消断点,我们按ALT+F9返回
003C471F 8906 mov dword ptr ds:[esi],eax ; //返回到这里
(省略一部分代码…………)
003C4732 74 19 je short 003C474D //
我们根据大虾们的教程,003C4732的JE应该就是magic jmp了,可是这里就算修改了也是没有得到正确的IAT,所以我们就不用改了,直接按照FLY的内存断点大法直达OEP。在OD中按ALT+M,打开内存镜像窗口,然后找到图4的地方,点右键,设置内存访问断点,然后F9一下,呵呵,到了OEP了005778E0。然后用LORDPE修正一下影像大小,就可以DUMP了。
初步修复IAT
现在先运行原程序eBookMaker.exe,然后打开ImportREC V1.6,在列表中选中这个进程,输入我们得到的OEP=005778E0-00400000=001778e0,点击"自动搜索IAT",发现一些无效函数,然后点"显示无效函数",然后用右键剪掉这些无效函数,最后修复抓取文件。运行修复以后的文件,不能运行。我们开始进一步的修复。
深入修复!
下面用OD装入DUMP下来的文件:dumped.exe,看下面代码:
005778E0 d> 55 push ebp //OD装入以后停留在这里
005778E1 8BEC mov ebp,esp
005778E3 83C4 F0 add esp,-10
005778E6 B8 20725700 mov eax,dumped_.00577220
005778EB E8 B0F5E8FF call dumped_.00406EA0 //★ 这里用F7跟进
~~~~~~~~~~~
00406EA0 53 push ebx //跟进005778EB的CALL以后来到这里
00406EA1 8BD8 mov ebx,eax
00406EA3 33C0 xor eax,eax
00406EA5 A3 C4805700 mov dword ptr ds:[5780C4],eax
00406EAA 6A 00 push 0
00406EAC E8 2BFFFFFF call <jmp.&kernel32.GetModuleHand> //f7进入得到函数地址
现在我们留意一下如图5所示的地方,记下数据:5802A4
下面再次用OD装入原程序eBookMaker.exe,下硬件断点:hr 5802A4,F9运行,中断在003D4553这个地方,取消断点:HD 5802A4,然后就要用F8+F7+F4一步一步的走,反正就是不能往回走,走啊走~直到我们发现下面这些语句:
003D2219 8985 9CFEFFFF mov dword ptr ss:[ebp-164],eax //放慢脚步
003D221F FFB5 64FCFFFF push dword ptr ss:[ebp-39C]
003D2225 FFB5 88FCFFFF push dword ptr ss:[ebp-378]
003D222B E8 3629FFFF call 003C4B66
//★★ 注意,双击这一行,把代码修改为call kernel32.GetProcAddress,然后用F8走过这一行
003D2230 8985 6CFCFFFF mov dword ptr ss:[ebp-394],eax
哈哈哈哈,到了这里我们就要成功了,F9运行,出现了如图六的错误,不管他,点确定,
这个时候进程中止了,呵呵,不过这个对我们没有什么影响,现在我们再次按照上文的方法,用ImportREC修复抓取的文件,哈哈哈,成功运行,而且我们已经是注册用户了!如图7。
这次我们的破解之旅就圆满结束了,我们下次再见!
--------------------------------------------------------------------------------
【破解总结】
呵呵,没什么难度,壳脱了软件也不用注册了!感谢夜凉如水的指点
--------------------------------------------------------------------------------
【版权声明】 本文纯属技术交流, 转载请注明作者并保持文章的完整, 谢谢!
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!