代码反汇编:IDA Pro与Soft ICE之应用 序言

 

 边看边翻译,其中敲字错误或表述有误再所难免。如果您发现错误,而且也有时间,敬请留言告之,以便更正。 请尊重作者及译者工作之艰辛,若转摘,请务必注明出处如下:

------------------------------------------------------------------

《代码反汇编:IDA Pro与Soft ICE之应用》

英文名称:Disassembling Code IDA Pro and Soft ICE

作者:Vlad Pirogov

译者:罗祥勇 <E-mail:solo_lxy@126.com>


出自:CSDN Blog <背你走天涯>专栏


------------------------------------------------------------------

序言

 

概览

修改别人的代码是不道德的也是不合法的。很久以前,当MS-DOS还是主流操作系统的时候,我写了一个常驻内存的打印机驱动程序。在那个时候,对代码进行本地化处理或对打印机进行重编码的任务都很迫切。一年后,我发现一些其他公司也在使用我的代码。X先生安装了我的驱动程序。但是,同时这个X先生还他无所顾忌地修改了驱动程序的版权申明,并指出这个程序是他写的。在那样的场合我虽然没表现出生气的样子,但还是感觉有些愤慨。因此,我非常能够理解程序开发者发现别人修改或逆向工程他们自己的代码时的感觉。

 

但是,忽略事实并不是正确的做法。为了更好地保护他们的程序,开发者就必须知道破解者使用的工具集。此外,攻击系统保护、蠕虫和计算机病毒除了有其负面作用外,还是有其正面意义的,因为它们的存在让软件开发者对安全和保护的开发机制更为注重。尽管攻击软件或计算机系统毫无疑问地会在很大程度上导致流行病毒蠕虫,甚至会损毁很多用户的计算机,但这也充当了软件“免疫系统”刺激者的角色。本书提供了一些逆向工程和修补可执行文件的例子,但请注意,这里的所有例子都是为了教育目的的。

 

学习可执行代码挖掘还有其他的原因。理解可执行代码操作的内部细节、高级语言如何以其独有的结构将其代码转换成汇编指令,对写出高效并高度优化的程序是非常重要的。通常情况下,弄清楚运行时的随机错误需要低层次的调试。最后,每个真正的专业程序员都是求知欲极强的,他们很希望了解他或她写的程序到底是如何操作的。发现了用C++Delphi写的程序是如何在编译期间转换成汇编指令的难道不让你感兴趣吗?因此,本书提供的所有例子的目的都是为了提供正面目的而决不实施非法行为。

 

当计划本书的写作时,我不打算写一本官方教科书(尽管这样的教科书不多,也需要他们及时填补空白)。我想尽量的将我这些年来专业历程中积累的经验给大家做个交代。将来,我希望写一本基于本书的教科书。我很高兴能做这件事。

本书对在代码挖掘过程中非常强大的IDA Pro反汇编器和SoftIce调试器做重要介绍。这些工具被实践证明有着无限的功能,希望你将它们添加到你的装备库中。

本书包含了很多引用材料。为了证明自己而想写个通用的、适用于诸多方面的程序可能是典型的编程风格,但这同时又是不可达到的梦想而已。我支持这个观点,也就是,很少有书能让读者每读10页却不求助其他书或Internet以查找补充资料的。

 

当写本书的时候,我使用了Windows NT/2000/XP/2003。然而,尽管我没有测试,书中提供的多数资料也是适用于Windows 9x操作系统的。

 

本书提供的大多数例子都是用C++语言编写,并用Microsoft Visual C++编译器编译的,但还是有部分使用了Borland C++ 5.0编译。对Pascal语言和Delphi编译器没做关注。你可能问我为什么这样安排。答案就是我选择做经典的语言和最强大且流行的编译器(译者的话:Microsoft Visual C++编译器真的是这样吗,就没其他的了吗?我并不赞成作者的结论!世界上好的东西实在太多了,不能以个人喜好,就偏颇的认为用的最多、最广泛地东西肯定就是最好的。J)。

 

目标读者

本书不是为没有编程经验的读者准备的。如果你使用高级语言编写程序,但是不熟悉汇编语言,你需要找些关于汇编语言编程的书籍不时的多学习。书中提供的大多数程序都使用C++语言写的,所以做为程序员,理解这些例子应该没什么困难。

 

我希望这本书对那些希望搞清楚程序的内部操作机制,并希望理解高级编程语言是如何转换成机器代码的人们有用。也就是说,本书的目标授众是那些对代码挖掘和程序设计奥秘感兴趣的IT专家。

 

感谢

我要感谢lgor Shishigin,是他给我提供了写作本书的机会。我很享受这份工作,也希望我的努力能给你带来帮助。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值