- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第三十一章-脱壳简介
原定本章是要介绍P-CODE的Part3,然后再
介绍脱壳的。但是很多朋友跟我说P-CODE
,WKT的教程有很多,并且现在P-CODE的应
用程序已经很少了,没有必要过多的介绍P
-CODE,希望我能够多讲讲壳,提高大家脱
壳的能力。所以说本章我们开始讨论壳,
首先要给大家明确一点,壳的种类繁多(PS
:这里说种类繁多,并不准确,种类也就那
么几种,压缩壳,加密壳,虚拟机壳,所以说
应该是数量多,之前发过一篇帖子收集了T
4社区的各种脱壳脚本,充斥着各种各样的
壳,大家可以看看),所以接下来的章节,我
不会介绍所有的壳,只会给大家介绍壳的
基本概念以及原理,还有几个具体壳的实
例,大家不要指望看完本教程将能搞定所
有壳,本教程的目的在于帮助大家理解壳
的原理,锻炼大家解决未知壳的能力,大家
要学会举一反三,触类旁通。
本章我们将介绍壳的基本概念,这对我们
后面脱壳是大有裨益的,大家不要因为简
单,就忽视它,后面章节,我们会介绍一些
手工脱壳的实例。
首先大家可能会问为什么要给程序加壳?(
PS:其实地球人都知道,嘿嘿)
我们知道一个未加壳或者脱过壳的程序修
改起来很方便,但是如果一个加过壳或者
自修改的程序,要想修改它就比较困难了,
我们在入口点(PS:这里指的入口点是壳的
入口点)处修改程序是不起作用的,只有当
壳把原程序区段解密完成后修改才能起作
用。
加过壳的程序,原程序代码段通常是被加
密过的,我们想修改它就不那么容易了。
加壳程序给 目标程序加壳的原理通常是加
密/压缩原程序各个区段,并且给 目标程序
添加一个或者多个区段作为原程序的引导
代码 (壳代码),然后将原程序入口点修改
为外壳程序的入口点。
如果我们将加过壳的程序用OllyDbg加载
的话,OllyDbg会停在壳的解密例程的入口
点处,由此开始执行。
壳的解密例程 (外壳程序)首先会定位加密
/压缩过的原程序的各个区段,将其解密/
解压,然后跳转至OEP (程序未加壳时的入
口点)处开始执行。
现在我们来看一个最简单的壳,UPX壳,大
家可以去下面网址中下载一个GUI版,名称
为GUiPeX_Setup。
/guipex/
安装好以后运行起来。
我们加壳的对象就选择大家熟悉的CrueHe
ad的CrackMe,首先我们不加壳将其加载到
OllyDbg中。
我们可以看到其入口点是401000,也就是
说,运行它,将从401000地址处开始执行。
现在我们用GUiPeX将其加壳,解密其区段,
并且将入口点修改为解密例程 (外壳程序)
的起始地址。
当我们运行加壳后的CrackMe,首先会从解
密例程开始执行,解密例程会解密原程序
各个区段,然后定位到位于原程序代码段
中的入口点,也就是大家常说的OEP (Origi
anl Entry Point),即401000,接着跳往OE
P处开始执行原程序代码。
下面我们就来讨论CrueHead这个被加过壳
的CrackMe,该CrackMe的OEP位于何处我们
已经清楚了。
我们将该CrackMe保存一份备份并将其放
到一个安全的地方,比如说桌面,因为接下
来我们需要将加过壳的CrackMe与原始的C
rackMe进行对比。
打开GUiPeX。
我们将CrackMe拖拽到上面那个窗口中。
我们可以看到上面窗口中显示出了带加壳
的CrackMe的完整路径。后边的Commands(
命令)选项我们选择Compress(压缩)。
通过这个工具我们可以给 目标程序压缩或
者解压缩。
然后我们按Run按钮就开始给该CrackMe加
壳了。
我们可以看到UPX Output窗口中显示该Cr
ackMe加壳成功了。
我们将加壳后的CrackMe重命名为CRACKM
UPX.EXE。
我们会发现加壳后要比原来的小很多,加
壳程序给原程序添加了额外的代码来保护
原程序,体积反而变小了,嘿嘿。
我们将加壳后的CrackMe运行起来,可以看
到跟原CrackMe运行效果一样。
现在我们用两个OllyDbg分别加载CRACKM
UPX.EXE和CRACKME.EXE,比较一下两者有
什么不同。
CRACKME.EXE的入 口点
CRACKME UPX.EXE的入 口点
正如大家所看到的,CRACKME UPX的入口点
变成了409BF0,将从这里开始执行解密例
程,如果我们定位401000地址处,会发现找
不到原程序的代码任何踪迹。
正如大家所看到的原程序的代码段是空的
,即
您可能关注的文档
- 糖尿病教育-01-糖尿病基础知识.pptx
- 糖尿病教育-02-从关键指标看糖尿病的诊断与治疗.pptx
- 糖尿病教育-05-糖尿病降糖药物的选择.ppt
- 糖尿病教育-08-HbA1c测试介绍.pptx
- 糖尿病教育-09-糖尿病与并发症.pptx
- 糖尿病教育-11-关注下肢血管病变和糖尿病足.pptx
- 糖尿病教育-12-β细胞功能知多少.pptx
- 糖尿病教育-16-体重控制.pptx
- 糖尿病教育-17-肥胖糖尿病患者的治疗与管理.pptx
- 人工神经元网络模型.pptx
- 使用OllyDbg从零开始Cracking-32第三十二章-OEP寻踪.pdf
- 使用OllyDbg从零开始Cracking-33第三十三章-神马是IAT 如何修复.pdf
- 使用OllyDbg从零开始Cracking-34第三十四章-手脱UPX,修复IAT.pdf
- 使用OllyDbg从零开始Cracking-36第三十六章-IAT重定向.pdf
- 使用OllyDbg从零开始Cracking-38第三十八章-手脱Yoda's Protector v1.pdf
- 使用OllyDbg从零开始Cracking-39第三十九章-神马是stolen bytes.pdf
- 使用OllyDbg从零开始Cracking-40第四十章-OllyDbg脚本的编写.pdf
- 使用OllyDbg从零开始Cracking-41第四十一章-神马是AntiDump.pdf
- 使用OllyDbg从零开始Cracking-42第四十二章-ACProtect V1.pdf
- 使用OllyDbg从零开始Cracking-43第四十三章-ACProtect V1.pdf
原创力文档


文档评论(0)