jijuzhe 发表于 2008-5-12 19:23

按键小精灵生成文件的破解方法

按键小精灵是用按键精灵生成的可执行文件,除了使用方便外,还可以保护脚本,现在也有注册收费功能了。

看按键精灵的主页,现在这个软件主要是针对网游了,又是国产软件,照规矩我就在这里发发算了。

本文主要参考了 UnPacK.cn的这篇文章。

-----------------正文-----------------
用peid查壳:PEBundle 2.0x - 2.4x-> Jeremy Collake

PEBundle是个捆绑壳,主要功能是把程序要用到的dll等文件绑到一个exe中。基本上没有什么保护功能。

Overlay是说程序文件后面有附加数据。

用OllyICE打开,hr 12ffc0。下这个断是典型的用ESP定律脱壳。

不停地按F9运行,等到出现一个长时间的间隔,说明PEBundle解完了。此时来到:

00466468 68 70394600push 00463970//这里
0046646D C3       retn
0046646E C8 000000 enter 0, 0

这个push+retn实质是一个jmp命令,f8两下到这里:

00463970 . 60       pushad
00463971 . BE 00C04300   mov esi, 0043C000
00463976 . 8DBE 0050FCFFlea edi, dword ptr
0046397C . 57       push edi
0046397D . 83CD FF   or ebp,FFFFFFFF
00463980 . EB 10      jmp short 00463992
00463982 90      nop
00463983 90      nop

其实这个地方用OllyICE的SFX跟踪真正入口也可以跟到。

这个入口是典型的UPX壳,没关系,一样用ESP定律搞定。按F9运行。

00463AD0 FF96 503E0600   call dword ptr //这个call
00463AD6 . 09C0      or eax, eax
00463AD8 . 74 07      je short 00463AE1
00463ADA . 8903      mov dword ptr , eax
00463ADC . 83C3 04   add ebx, 4
00463ADF .^ EB D8   jmp short 00463AB9
00463AE1 > FF96 543E0600call dword ptr
00463AE7 > 61       popad
00463AE8 .- E9 F104FBFFjmp 00413FDE //断在这里

413fde就是OEP了,在这个jmp下断,然后清掉硬件断点。

这个JMP上方的代码是两个循环,作用是填写IAT,其中标记的call实质就是GetProcAddress。

只不过是程序自己实现的,没有调用kernel.dll的GetProcAddress。

也就是因为这个原因,它只是把自己的rva填入了IAT,这样用ImpRec处理就会出现无效函数。

解决方法就是把这个call直接改成call GetProcAddress。

然后ctrl+f2重新开始,F9运行到jmp处。(刚刚下过断点的)

f8一次,来到:

00413FDE 55   push ebp
00413FDF 8BEC    mov ebp, esp
00413FE1 6A FF    push -1
00413FE3 68 A0E94100 push 0041E9A0
00413FE8 68 4A3F4100 push 00413F4A ; jmp 到 msvcrt._except_handler3

很好,标准的VC入口。用LordPE dump 下来,然后用ImpRec修复。

接下来是把Overlay部分加入到dump中,最后修改Overlay的偏移量。

那个偏移量是在DOS Header中的。不能多讲了,其实都是很简单的。
-----------------结束-----------------

Hmily 发表于 2008-5-12 20:31

杂还没到重点就结束啦~

iamok 发表于 2008-5-12 19:36

这不刚把壳脱完吗?
重点破解快点开始。。。

快乐先锋 发表于 2008-7-28 21:18

关键部位都没说~~呵呵~~帮助我们这样的菜鸟下~~

woaipj 发表于 2008-7-29 19:33

受益非浅呀,谢谢楼主,已经破解很多的精灵文件了

zgb123 发表于 2008-7-30 12:24

感谢楼主的分享学习一下

rove 发表于 2008-7-29 20:24

感谢楼主的分享,学习下!

快乐先锋 发表于 2008-9-7 20:06

不行啦。这个只能脱老版本的按键小精灵了~~新版的已经是3层壳了~~

小生我怕怕 发表于 2008-9-8 00:26

好象现在的新版的加了老款的捆绑壳,配上了TMD的壳,这个老款捆绑壳谁要是做个分离动画绝对气死兄弟工作室,哈哈,不过尊重国产!

shusheng156 发表于 2008-9-8 10:39

晕啊...最好把图都贴出来啊
我正需要小精灵的脱壳方法
虽然我不会破解
但方法应该很简单的
页: [1] 2 3 4 5 6 7
查看完整版本: 按键小精灵生成文件的破解方法