GKLBB

当你经历了暴风雨,你也就成为了暴风雨

导航

人生感悟 --- 逆向工程为什么十分枯燥且无聊 --- 这里引用一句逆向工程核心原理的话

1.3 代码逆向准备

进行代码逆向分析前,需要准备好目标(Goal)、激情(Passion)、谷歌(Google)。

1.3.1 目标

首先要回答自己为什么学习代码逆向分析技术。这并不需要多么华丽、宏大的理由,不管何种原因,只要理由充分就可以了。最重要的是,你的理由一定要明确。在学习这条艰辛的道路上,明确的目标会不断鼓励你前行,为你指引方向。确定目标后,把它写在书的封面上,字体要大一

些、醒目一些,这样每次拿出书准备学习的时候,就会把目标深深地印在心中。同时在书的封底写上"我的目标达成了吗?"读完全书的时候看到这句话,我们就会自觉检查目标完成率。显然,带有明确目的比盲目学习效果要好很多。

1.3.2 激情

在达成目标的道路上推动我们不断前行的力量(能量)就是激情。学习代码逆向分析技术的过程中,有时候会遇到挫折,让人感到厌倦,这可能会让我们暂停学习。不过,只要保持对逆向分析技术的激情,我们就不会放弃,而会再次挑战。通过一次又一次的尝试,我们最终会成为代码逆向分析专家。

1.3.3 谷歌

毫无疑问,谷歌是这个世界上最棒的搜索引擎。

使用搜索引擎前,请先相信这样一句话:"我想找的任何东西都能在谷歌上找到!"事实上,某个人已经在几年前学习过我们要学习的内容了,并且这几年间又有很多人搜索过。所以,只是暂时查不到,而不是不存在。


1.4 学习逆向分析技术的禁忌

下面了解一下代码逆向分析学习过程中的几点禁忌。

1.4.1 贪心

与其他IT技术相比,代码逆向技术对我们来说还是个比较陌生的领域。开始会遇到大量陌生的概念,这些都不可能一下子掌握。要习得一种知识,往往需要大量的基础知识做铺垫,而学习这些基础知识又需要大量的背景知识。如果是初学者就想掌握所有内容,那么会在学习时陷入痛苦的泥潭。刚开始要循序渐进,"嗯,先学这些概念吧,其他慢慢学。"这才是学习逆向技术的正确态度。

1.4.2 急躁

逆向分析技术涵盖的内容很多,学习过程中有时会出现这样的想法:"我学习逆向分析技术都几天了,怎么到现在连这种问题都解决不了!"有些问题还解决不了是正常的。用吃的打个比方,逆向分析技术不是快餐(Fast food),而是有益于健康的慢餐(Slow food)。做起来要花费相当长的时间,需要足够的耐心。只要熬过了这段等待的时间,谁都可以成为优秀的逆向分析专家。


1.5 逆向分析技术的乐趣

代码逆向分析过程中,由高级语言(如:C++、VB、Delphi等)编写的程序会先被转换为低级语言(Assembly)的形式,然后再加以分析研究。这样,即使程序的开发者未公开程序源码,只提供了程序的可执行文件,有实力的逆向分析人员也能掌握程序的内部组成结构。换言之,对极少数人来说,程序的源码是一览无余的,这也正是学习逆向分析技术的乐趣所在吧!

不懂的东西总是看上去很难,而了解其运行原理与内部结构后,又发现原来如此简单,世间万物皆通此理。当然,"了解"这个词包含了许多内容,所以只是刚开始比较辛苦而已。后面章节会结合示例讲解,希望大家亲自尝试,体验逆向分析技术的魅力(本书用到的示例文件与源代码可在http://www.reversecore.com或 http://blog.insightbook.co.kr下载)。

 

posted on 2026-04-25 15:32  GKLBB  阅读(10)  评论(0)    收藏  举报