吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 3837|回复: 4
收起左侧

[原创] 新手发一篇tElock的脱文,送给和我一样的小白

[复制链接]
YHZX_2013 发表于 2014-11-18 20:52
这里选择的程序是http://www.52pojie.cn/thread-11112-1-1.html【小生大大脱壳练习第六期】中的那个程序,Peid侦壳的加壳类型是:tElock1.0P.S.整个脱文基本上参照小生大大的动画视频,结尾也列出了一些同类的帖子,请叫我知识的搬运工 = =



1、先使用最简单的最后一次异常法:
首先把程序扔到OllyIce里面设置OD调试选项中的异常选项,
1.bmp


仅保留内存非法访问异常,然后使用异常计数器插件,在使用前要清空断点设置:
2.bmp

等到程序正常运行后,重新加载程序,再选择第二步,停在最后一次异常之前:
3.bmp

然后用Alt+M转到内存窗口,对主程序code段下内存断点,SHIFT+F9执行:
4.bmp

这样程序就中断在了正确的OEP处,可以选择从模块中删除分析以显示正常分析的汇编代码。然后使用LoadPE dump程序,并修正程序映像大小:
5.bmp

接下来就是修复dump的程序,选择重新打开dump前的程序,使用ImportREC v1.6F Fix版,输入正确的OEP,获取函数输入表信息:
6.bmp

这时会发现有很多无效的函数指针,使用方法一修复后,再使用方法三可以完全修复:
7.bmp

再点击Fix dump,可以修复之前dump下来的程序,脱壳完成:
8.bmp

2、再使用二次内存断点法:

首先载入程序,将所有的异常类型忽略,然后在IDAta段设置内存断点:
9.bmp
10.bmp

然后SHIFT+F9,停下来后再次在code段设置内存断点,再次SHIFT+F9执行,可以直接达到正确的OEP中:
11.bmp
然后LoadPE dump,然后修复……同方法一。

3、寻找magic jump以及修复函数表完成后dump程序

前两步还是加内存断点(idatacode),然后定位到程序的正确OEP处。
12.bmp

然后如果这时使用LoadPE dump后修复,就和前两种一样了。这里先是使用ImportREC获取函数输入表第一个位置的指针地址。
13.bmp

然后得到函数指针偏移地址在0x005512C,加上基地址后为0x045512C,这时在该位置下硬件访问双字断点。再重新SHIFT+F9忽略异常执行后,由于下了断点,会触发tElockCRC校验错误:
14.bmp

所以这里要先绕过CRC校验,才能成功执行到硬件断点位置,所以首先暂停程序,然后使用Alt+F9返回用户代码。点击确定按钮后,程序暂停在调用ExitProcess的位置:
15.bmp

现在要向上找一找能跳过这个退出的跳转(CRC判断跳转?),然后进行修改并跳过:
16.bmp

找到了应该修改的位置,但是如果修改之后重新运行是会被恢复的,所以先记下来这个跳转的地址,0x00469622。重新运行之后,在idata断设置内存断点,SHIFT+F9停下后,再Ctrl+G找到修改点再修改。修改完之后再设置之前的硬件断点,这样不会触发CRC校验错误了……

无数次的SHIFT+F9之后,在寄存器窗口可以看到指针以及能够正常显示:

17.bmp


然后此时F8单步,找magic jump……小生大大是通过分析疑似CRC跳转得到magic jump的位置:
18.bmp

这里记下来magic jump的地址是0x0046973B,然后清空udd文件,删除硬件断点,再次重新运行程序,然后在idata下内存断点停住,然后Ctrl+G找到magic jump位置处,修改跳转:
19.bmp

然后在code段下内存断点:
20.bmp

然后SHIFT+F9执行,停下来就到了OEP的位置:
21.bmp

这时候再dump程序,IAT表已经被修复,可以直接获得脱壳版程序:
22.bmp

相关参考的文章:
http://www.52pojie.cn/thread-11112-1-1.html(小生大大的脱壳第六期)

免费评分

参与人数 1热心值 +1 收起 理由
lies2014 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩.

查看全部评分

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

巅烽2 发表于 2014-11-19 09:19
第一个支持
lies2014 发表于 2014-11-20 02:14
zaikk 发表于 2014-11-20 13:43
 楼主| YHZX_2013 发表于 2014-11-20 14:26
zaikk 发表于 2014-11-20 13:43
你已经不是小白了

主要基本上是参考了小生大大和其他人的方法,自己对这样脱壳的原理也不理解……
发这个帖子主要是想汇集下关于这种壳的资料,让其他需要的人方便学习,也方便自己以后忘了再看看……
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-17 23:49

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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