《逆向工程核心原理》相关说明


 


致亲爱的中国读者:

大家好 !我是《逆向工程核心原理》 作者 李承远(ReverseCore)。

(韩文博客地址:www.reversecore.com)

首先,很高兴我的《逆向工程核心原理》-书在中国IT强国出版。我以前是C/C++开发工程师,后来有机会加入安全公司并从事恶意代码分析工作,从此开始对逆向技术进行深入研究。熟悉逆向技术就能轻松了解程序内部结构,这让我逐渐沉醉于逆向技术的魅力。所以想与大家分享我所知的逆向技术知识,这就是本书的缘起。
《逆向工程核心原理》这本书是针对初学者而写的,本书为各位提供了很多实际调试过程的截图、源代码、示例文件等,能够帮助理解。本书于2012年9月在韩国上市后
很多学校、IT培训班以及安全公司的新职员恶意代码分析培训等都在使用此书。读完这本书后希望所有读者都能成为一名优秀的逆向分析专家。


书中所有示例文件均为正常代码,部分示例文件使用程序的壳、反调试等技术可能会被部分杀毒软件误报为病毒。各位不必对此感到担心,请放心使用。

注意事项:

1.示例文件使用的UPack壳可能会被杀毒软件诊断为病毒,Upack 壳对PE结构整体进行一定修改以达到最大压缩率,所以Upack壳也常用于很多病毒木马使用。因此,大部分杀毒软件也有可能把Upack壳本身诊断为病毒。然而PE文件相关讲解中,UPack之类的优秀示例较少,所以为了详细介绍逆向技术,书中忽略杀毒软件诊断规范。
2.“高级逆向”、”反调试” 技术示例文件可能会被诊断为病毒。示例文件中使用的技术与部分病毒使用的技术类似,因此,反病毒产品启发式引擎(启发式技术=启发式扫描+启发式监控)会检测到特征码,从而把示例文件诊断为病毒。
3.部分示例文件使用反调试SHE,TLS 回调等技术,这些技术可能会被杀毒公司自动化系统诊断为病毒。但请大家放心,示例文件都是正常。
4.简单介绍一下恶意代码基本含义。恶意代码是指未经过用户许可的情况下,在用户计算机或其它终端安装运行收集用户信息、泄漏用户信息等有恶意行为的软件。示例文件中全部都是以学习研究反调为目的而使用到的一些特定技术并无恶意行为。
5.鉴于其他杀毒软件的诊断,各位调试示例样本时最好暂时关闭杀毒软件的"实时监控”功能,调试学习结束后,再开启。
6.Windows7环境下调试时,建议关闭UAC(User Access Control)功能以便调试。


源代码 

* 所有示例文件源代码均使用 MS Visual C++ Express 2010工具开发而成。

* 编译后的文件根据用户环境而略有差异。

* 为便与调试,请使用以下源代码。

* 下载地址  : http://download.csdn.net/download/u014769426/7214171

* 解压密码  :reversecore

 

实践示例代码

* example_ex.zip文件双重压缩是为了避免杀毒软件的实时扫描。
* 第五部分“64位&Windows Kernel 6”中的示例文件需要在Windows XP/Vista/7 64位系统中运行。
* 其余所有示例文件均可在MS Windows XP SP3 32位&Windows 7 32位系统中实现。
* 下载地址 :http://download.csdn.net/detail/u014769426/7214337 双重压缩(第一次解压会看到exsample.zip,再次解压exsample.zip文件即可)
* 解压密码 :reversecore

附加:恶意代码分析相关工具大全以及恶意代码检测网站chichoo博客 -> http://blog.csdn.net/chichoo/article/details/23352431 - 复制网址

 *无法下载或者对杀毒软件诊断有疑问请留言。

《逆向工程核心原理》讨论QQ群: 338185175



 

 

 




已标记关键词 清除标记
相关推荐
Reversing--逆向工程揭密/安全技术大系 本书描述的是在逆向与反逆向之间展开的一场旷日持久的拉锯战。作者Eldad Eilam以一个解说人的身份为我们详尽地评述了双方使用的每一招每一式的优点与不足。   书中包含的主要内容有:操作系统的逆向工程;.NET平台上的逆向工程;逆向未公开的文件格式和网络协议;逆向工程的合法性问题;拷贝保护和数字版权管理技术的逆向工程;防止别人对你的代码实施逆向工程的各种技术;恶意程序的逆向工程;反编译器的基本原理以及它对逆向过程的影响。   本书适合软件逆向工程的从业人员以及软件开发者们阅读。 译者序回到顶部↑  记得第一次做与逆向有关的工作是2000年,当时由于项目的需要,做过一个钩子(hook)程序,用于截获一个第三方控件发出的消息,但是当时还不知道什么是逆向工程。第一次看到“逆向工程”这个词是在2001年的《机械工程学报》上的一篇文章中,主要是讲用三坐标测量仪测量产品中各个部件的三维尺寸并在计算机中快速建模、进而反推其设计思想和基本设计原则。第一次使用逆向工程工具也是在2001年,当时从网上下载了Numega SoftICE,具体哪个版本已经记不清了,在家里的旧电脑上折腾了好几天,直到系统崩溃才罢手。.   之后呢,只是零零星星地看过一些相关的资料。因此,当初电子工业出版社和我联系此书的翻译时,我有些犹豫——近600页的逆向工程“巨”著,而且该书无论从深度还是广度上都较其他有关逆向工程的书更胜一筹。但褚华博士和王玉英博士的“加盟”,让我心里踏实了许多,她俩做过系统的逆向工程和程序理解的研究工作,也发表过不少相关的研究论文。   逆向工程这一术语最早来源于机械工程领域(我的老本行)。随着软件业的发展,逆向工程被引入软件工程领域。对于软件逆向工程,IEEE软件工程技术委员会行政秘书E. J. Chikofsky和J. H. Cross在他们的文章中给出了如下定义:软件逆向工程是分析目标系统,认定系统的组件及其交互关系,并且通过高层抽象或其他的形式来展现目标系统的过程。..   经过十几年的发展,软件逆向工程领域已有不少研究成果和商业化的产品;但是软件逆向工程仍然算不上成熟,这主要表现在对理论和实践的研究都还处于早期的探究阶段,并未形成统一的、系统的、科学的软件逆向工程的理论和方法。从工程实际的角度来看,大体上可以将软件逆向工程分为两大类:   第一类是从已知软件系统的完整代码出发,生成对应系统的结构以及相关设计原理和算法思想的文档。实际上,学习和研究别人的源代码就属于此类。Chikofsky在本书的序中特别指出:阅读别人写的代码或者自己以前写的代码实际上也是逆向工程在起作用。   第二类是从没有源代码的程序出发,生成对应的源程序、系统结构以及相关设计原理和算法思想的文档等,亦即本书重点讨论的二进制逆向工程。   本书共有13章和三个附录,涵盖了逆向工程的基础知识、应用、开发和拓展的方方面面问题。其中第5章、第9章和附录A、B、C由韩琪翻译,第3章、第11章和第13章由杨艳翻译,第7章、第8章和第10章由王玉英翻译,第4章和第6章由李娜翻译,第1章由褚华翻译,第2章由陈贵敏翻译,第12章由辛健斌翻译;全部译稿的校对由陈贵敏和褚华完成。所有的翻译和校对工作历时半年多,在此,我要感谢为本书的出版付出辛勤汗水的电子工业出版社博文视点的工作人员,特别要感谢本书的策划编辑朱沭红老师和责任编辑顾慧芳老师,她们的严谨认真工作使该译本可读性更高,她们的鼓励更使我信心百倍。   由于译者水平所限,加之时间仓促,译文中肯定存在错误和疏漏,敬请读者批评指正。我的E-mail:efoxxx@126.com。   陈贵敏   2007年5月于西安电子科技大学...             前言回到顶部↑  欢迎你阅读《逆向:逆向工程揭密》一书。本书是在我参与了多年的软件开发项目之后写的,这些项目由于各种各样的原因需要反复地对第三方代码进行逆向工程。起初,我觉得这是一个非常单调乏味的过程,只是在没有替代方法来获取信息的情况下才不得已使用它。后来,一霎那间我破除了某个思维障碍,我发现自己迅速地“驰骋”于无正式文献记录的机器码中,快速地破译了代码的涵义并得到我想要的有关代码功能和用途的答案。这时候,我逐渐明白这是一种威力强大的技术,因为这意味着不管我有什么样的有关要处理软件的问题,我都可以非常容易地找到答案,即使我没有看过任何相关的文献资料或者正在处理的程序的源代码。本书就是要为每一个对软件有深刻理解的读者能够这样做提供相关的知识和技术。.   其思想很简单:我们应当对底层软件有深入的理解,还要学习那些能够让我们轻松进入任何程序的二进制码并获取信息的技术。不知道系统为什么会以它那样的工作
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页