简介

调试有一个相当不好的名声。我的意思是,如果开发人员对程序有完整的了解,就不会产生任何的漏洞,他们不会在第一时间进行调试,对吗?

不要这样想。

任何软件都会有漏洞。你的产品经理要求再多的测试也无法避免这个问题。事实上,将调试看成破碎物品修复的过程实际上是一种有害的思维方式,会在心理上阻碍你的分析能力。

相反,你应该将调试看成更好地理解程序的过程。这是一个微妙的差异,但如果你真的这样想,之前调试的烦恼都会消失。

同样的负面含义也可以用在逆向工程软件。你可能会想到盗窃银行账户和信用卡的蒙面黑客,但是对于本书来说,逆向工程实际上只是在没有源代码的情况下进行调试 —— 这又可以帮助你更好地理解程序或系统。

逆向工程本身没有任何问题。 事实上,如果调试是一个游戏,那么逆向工程只是在“困难”的设定下进行调试 —— 如果你已经玩了一段时间,这将是一个非常有趣的设定。

在本书中,你将会意识到调试是一个令人愉快的过程,它可以帮助你更好地理解软件。 你不仅可以学习更快地发现漏洞,还可以了解其他开发人员是如何解决类似的问题的。 你还将学习如何创建自定义且强大的调试脚本,帮助你快速找到任何你感兴趣的项目的答案,无论是在你自己的代码中 —— 还是其他人的。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 刘利刚 中国科技大学 http://staff.ustc.edu.cn/~lgliu 【前言】 自半年前笔者发表博...
    DIGITALMAN阅读 7,804评论 5 83
  • Java简介 Java是一种计算机编程语言,拥有跨平台、面向对象、泛型编程的特性,广泛应用于企业级Web应用开发和...
    craneyuan阅读 3,101评论 1 18
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,972评论 25 709
  • Docker白皮书 译者:李毅 中国惠普大学资深培训专家 摘要 最近几年中软件开发方式的演进已经根本性地改变了应...
    Leo_Liyi阅读 1,020评论 0 1
  • 午后,我走进房间,发现平日空空如也的桌子上,此时赫然放着一个女式的杯子。 那是一个通体雪白的瓷杯,干净、光滑、精巧...
    心与物语阅读 563评论 13 12