- 1、本文档共38页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
脱壳的艺术脱壳的艺术
脱壳的艺术脱壳的艺术
Mark Vincent Yason
概述概述:脱壳是门艺术——脱壳既是一种心理挑战,同时也是逆向领域最为激动人心的智力游
概述概述
戏之一。为了甄别或解决非常难的反逆向技巧,逆向分析人员有时不得不了解操作系统的一
些底层知识,聪明和耐心也是成功脱壳的关键。这个挑战既牵涉到壳的创建者,也牵涉到那
些决心躲过这些保护的脱壳者。
本文主要目的是介绍壳常用的反逆向技术,同时也探讨了可以用来躲过或禁用这些保护
的技术及公开可用的工具。这些信息将使研究人员特别是恶意代码分析人员在分析加壳的恶
意代码时能识别出这些技术,当这些反逆向技术阻碍其成功分析时能决定下一步的动作。第
二个目的,这里介绍的信息也会被那些计划在软件中添加一些保护措施用来减缓逆向分析人
员分析其受保护代码的速度的研究人员用到。当然没有什么能使一个熟练的、消息灵通的、
坚定的逆向分析人员止步的。
关键词关键词:逆向工程、壳、保护、反调试、反逆向
关键词关键词
1 简介简介
简介简介
在逆向工程领域,壳是最有趣的谜题之一。在解谜的过程中,逆向分析人员会获得许多
关于系统底层、逆向技巧等知识。
壳(这个术语在本文中既指压缩壳也包括加密壳)是用来防止程序被分析的。它们被商
业软件合法地用于防止信息披露、篡改及盗版。可惜恶意软件也基于同样的理由在使用壳,
只不过动机不良。
由于大量恶意软件存在加壳现象,研究人员和恶意代码分析人员为了分析代码,开始学
习脱壳的技巧。但是随着时间的推移,为防止逆向分析人员分析受保护的程序并成功脱壳,
新的反逆向技术也被不断地添加到壳中。并且战斗还在继续,新的反逆向技术被开发的同时
逆向分析人员也在针锋相对地发掘技巧、研究技术并开发工具来对付它们。
本文主要关注于介绍壳所使用的反逆向技术,同时也探讨了躲过/禁用这些保护措施的工
具及技术。可能有些壳通过抓取进程映像 (dump )能够轻易被搞定,这时处理反逆向技术
似乎没有必要,但是有些情况下加密壳的代码需要加以跟踪和分析,例如:
需要躲过部分加密壳代码以便抓取进程映像、让输入表重建工具正确地工作。
深入分析加密壳代码以便在一个反病毒产品中整合进脱壳支持。
此外,当反逆向技术被恶意程序直接应用,以防止跟踪并分析其恶意行为时,熟悉反逆
向技术也是很有价值的。
本文绝不是一个完整的反逆向技术的清单,因为它只涵盖了壳中常用的、有趣的一些技
术。建议读者参阅最后一节的链接和图书资料,以了解更多其他逆向及反逆向的技术。
笔者希望您觉得这些材料有用,并能应用其中的技术。脱壳快乐!
2 调试器检测技术调试器检测技术
调试器检测技术调试器检测技术
本节列出了壳用来确定进程是否被调试或者系统内是否有调试器正在运行的技术。这些调试
器检测技术既有非常简单 (明显)的检查,也有涉及到native APIs 和内核对象的。
2.1 PEB.BeingDebugged Flag : IsDebuggerPresent()
最基本的调试器检测技术就是检测进程环境块(PEB)1 中的 BeingDebugged 标志。
kernel32!IsDebuggerPresent() API 检查这个标志以确定进程是否正在被用户模式的调试器调
试。
2
下面显示了IsDebuggerPresent() API 的实现代码。首先访问线程环境块(TEB) 得到PEB
的地址,然后检查PEB 偏移0x02 位置的BeingDebugged 标志。
mov eax, large fs: 18h
mov eax, [eax+30h]
movzx eax, byte ptr [eax+2]
retn
除了直接调用IsDebuggerPresent(),有些壳会手工检查PEB 中的BeingDebugged 标志以
防逆向分析人员在这个API 上设置断点或打补丁。
示例示例
示例示例
下面是调用IsDebuggerPresent
您可能关注的文档
- GBJ 99-1986 中小学校建筑设计规范及统计探究.pdf
- 双通道电压表程序设计说明.docx
- 行测专项题型解题思路讲解之【图形推理】(1).doc
- 2.国网行测之数量关系题库(共52页)及摘要范本.pdf
- 教材分析 MIT机电工程与计算机科学系【本科生课程】6.163.选通工程实验室Strobe.Project.Laboratory[www.ed2kers.com].pdf
- 精品解析:河南省中原名校2013届高三上学期第一次联考物理试题解析(1).doc
- 精品解析:江西省南昌市铁一中2013届高三月考物理试题.doc
- 八位数码管滚动显示案例设计说明.doc
- 科技创新专题4 电磁感应现象中的能量问题与有关课件.doc
- 第2节 动能定理1(1).doc
- 2024年中国钽材市场调查研究报告.docx
- 2024年中国不锈钢清洗车市场调查研究报告.docx
- 2024年中国分类垃圾箱市场调查研究报告.docx
- 2024年中国水气电磁阀市场调查研究报告.docx
- 2024年中国绿藻片市场调查研究报告.docx
- 2010-2023历年初中毕业升学考试(青海西宁卷)数学(带解析).docx
- 2010-2023历年福建厦门高一下学期质量检测地理卷.docx
- 2010-2023历年初中数学单元提优测试卷公式法(带解析).docx
- 2010-2023历年初中毕业升学考试(山东德州卷)化学(带解析).docx
- 2010-2023历年初中毕业升学考试(四川省泸州卷)化学(带解析).docx
文档评论(0)