吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 17370|回复: 19
收起左侧

[原创] MPRESS V2.00-V2.0X -> MATCODE Software * Sign.By.fly * 20090423 *脱壳记

  [复制链接]
HPKEr 发表于 2012-12-16 21:02
本帖最后由 HPKEr 于 2012-12-17 00:46 编辑

【文章标题】: MPRESS V2.00-V2.0X -> MATCODE Software   * Sign.By.fly * 20090423 *脱壳
【文章作者】: HPKEr
软件名称】: 国外某外挂
【软件大小】: 572 KB
【下载地址】:暂不提供
【编写语言】: Microsoft Visual C++ 7.0 Method2
【使用工具】: OD、PEID 0.95、ImportREC v1.6
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
【详细过程】
昨天晚上朋友给我一外挂(国外挂,国内暂无),运行程序再进入游戏听见有人在砸电脑,我想我的电脑这下完蛋了,急忙关掉游戏,发现电脑完好无损,只是虚惊一场!决定去掉程序中音效,让它那美妙的声音从此消失。PEID 0.95查壳如下:

0.jpg

方法一:ESP定律法

1.单击OD选项菜单打开调试设置忽略所有异常,OD加载实验品.exe如图:

1.jpg


看壳的入口就知道是压缩壳!
2.用ESP定律脱壳,单步F8走到壳入口下一行,在寄存器窗口右键单击ESP选择“数据窗口中跟随”如图:

2.jpg

3.在数据窗口中选中第一行右键单击,选择断点-硬件访问-Word如图:

3.jpg

4.F9运行,单击调试菜单选择硬件断点如图:

4.jpg

5.在硬件断点窗口单击删除1,然后单击确定按钮,如图:

5.jpg

6.OD停在0040B791处,如图:

0.jpg

7.F8单步走到0040A8C3处,此处就是OEP如图:

7.jpg

8.在主窗口中单击右键选择用OllyDump脱壳调试进程如图:

8.jpg

9.复制A8C3,一会用到,单击脱壳如图:

9.jpg

10.保存脱壳后文件为:样品.exe如图:

00.jpg

11.脱壳后修复,打开ImportREC v1.6选择实验品.exe进程如图:

11.jpg

12.将前面复制的A8C3粘贴到OEP处单击自动查找IAT如图:

13.jpg

13.单击确定按钮,单击获取输入表按钮,再单击显示无效函数,没有无效函数,然后单击修复转存文件按钮如图:

14.jpg

14.选择样品.exe,再单击打开如图:

15.jpg

15.修复成功!

方法二:BP VirtualProtectEx函数断点法或BP VirtualProtect函数断点法

1.OD加载实验品.exe在主窗口中单击右键选择查找-所有模块中的名称如图:

16.jpg

2.找到VirtualProtectEx函数如图:

10.jpg

3.在命令行下BP VirtualProtectEx断点,shift+F9运行两次,为什么只运行两次,因为运行第三次程序就会跑飞,如图:

4.jpg

4.单击调试菜单选择执行到用户代码如图:

65655656.jpg

5.F8单步走到OEP如图:

7.jpg

脱壳、修复和方法一一样在此省略.......

--------------------------------------------------------------------------------
【经验总结】
  1.方法一:从壳入口点就可以知道是压缩壳,用ESP定律脱壳搞定
  2.方法二:BP VirtualProtectEx函数断点法 为什么要选择VirtualProtectEx函数 ,网上N多教程都说用某某函数下断点,也不知道教程作者知道不知道函数作用是什么?为什么要选择这个函数而不其他函数?把小菜们弄得百思不得其解! BP VirtualProtectEx函数断点法 : VirtualProtectEx函数可以改变在特定进程中内存区域的保护属性。 BP VirtualProtect函数断点法 :VirtualProtect 函数作用: VirtualProtect 函数被当做对应之 Win32 函数的逻辑包装函数。VirtualProtect 的 Win32 实作会在呼叫处理程序的虚拟位址空间里,变更认可页面区域上的保护。
3.此壳就是用VirtualProtectEx函数和VirtualProtect函数对原程序进行保护,下BP VirtualProtectEx函数断点和BP VirtualProtect函数断点,正所谓“打蛇要打七寸”也就是这个道理。
4.两种脱壳方法:脱壳后程序必须修复。
--------------------------------------------------------------------------------
【版权声明】: 本文原创于吾爱破解技术论坛, 转载请注明作者并保持文章的完整, 谢谢!
                                                       2012年12月16日 晚 21:00:00





免费评分

参与人数 1威望 +1 收起 理由
淡然出尘 + 1 欢迎分析讨论交流,[吾爱破解论坛]有你更精.

查看全部评分

本帖被以下淘专辑推荐:

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

淡然出尘 发表于 2012-12-16 21:17
前排膜拜大师、
小雨细无声 发表于 2012-12-16 21:21
Hmily 发表于 2012-12-16 22:13
初级教程,挺详细,方法多样,加精鼓励,期待更多作品!
179836774 发表于 2012-12-16 22:25
确实很详细,值得学习。
逍遥枷锁 发表于 2012-12-16 23:36
很精辟学习了,谢谢,希望出更多的图文或教程分享大家学习,膜拜大神
jerry828 发表于 2012-12-16 23:45
估计是.net的挂
gxwtk 发表于 2012-12-17 01:28
国外的挂好像都少加强壳,如Wl,VMP之类的。
我们的一个小小程序都是上面的,和SE
长风at成都 发表于 2012-12-17 01:38
不错哈楼主,我支持你。。。写的很详细。。。。
☆子龍哥☆ 发表于 2012-12-17 19:24 来自手机
楼主真牛逼啊
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-17 16:03

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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