调试有一个相当不好的名声。我的意思是,如果开发人员对程序有完整的了解,就不会产生任何的漏洞,他们不会在第一时间进行调试,对吗?
不要这样想。
任何软件都会有漏洞。你的产品经理要求再多的测试也无法避免这个问题。事实上,将调试看成破碎物品修复的过程实际上是一种有害的思维方式,会在心理上阻碍你的分析能力。
相反,你应该将调试看成更好地理解程序的过程。这是一个微妙的差异,但如果你真的这样想,之前调试的烦恼都会消失。
同样的负面含义也可以用在逆向工程软件。你可能会想到盗窃银行账户和信用卡的蒙面黑客,但是对于本书来说,逆向工程实际上只是在没有源代码的情况下进行调试 —— 这又可以帮助你更好地理解程序或系统。
逆向工程本身没有任何问题。 事实上,如果调试是一个游戏,那么逆向工程只是在“困难”的设定下进行调试 —— 如果你已经玩了一段时间,这将是一个非常有趣的设定。
在本书中,你将会意识到调试是一个令人愉快的过程,它可以帮助你更好地理解软件。 你不仅可以学习更快地发现漏洞,还可以了解其他开发人员是如何解决类似的问题的。 你还将学习如何创建自定义且强大的调试脚本,帮助你快速找到任何你感兴趣的项目的答案,无论是在你自己的代码中 —— 还是其他人的。
网友评论