C++软件异常分析与排查的学习历程

图片[1]-C++软件异常分析与排查的学习历程-卡核

 1、汇编与反汇编

(1)汇编
       学习普通x86下汇编语言的设计,尤其是用汇编语言编写面向对象的程序,汇编语言编写win32程序,旨在通过编程的思路了解C++的核心原理。书籍推荐罗云彬《windows环境下32位汇编语言程序设计》

(2)反汇编
       因为我们的代码是直接编译成机器语言的,当我们的程序出现了bug,我们调试的时候所看到的汇编码实际上是根据机器语言反汇编的,和汇编有点出入,但是不大,此项学习同上面的汇编相辅相成。书籍推荐看雪论坛出的《c++反汇编与逆向分析技术揭秘》。另外我们还要学习基本的反汇编工具的使用,比如windbg和IDA。

2、工具的使用

(1)windbg
       动态调试工具,不用说了,这是主要的调试工具,主要是通过其帮助文档来学习,前期学习其命令,基本的使用等。这个是重点要掌握的东西,难点在于知识零散,而且不系统。

(2)IDA
       这个是一款强大的静态反汇编工具,如果我们没有pdb,map,我们只有源程序和二进制文件,那么就只能使用IDA来反汇编了,其工具的使用学习是一项,书籍推荐《IDA pro 权威指南》,当然内功的修炼要通过反汇编的学习,实际上是阅读反汇编程序。

(3)其他辅助性工具

        辅助性工具包括SPY++、DependencyWalkers、GDIView、Process Explorer、ProcessHacker、Process Monitor、API Monitor等。

3、提升调试能力的书籍推荐

(1)张银奎《软件调试》,重中之重,这个是仅有的国内的软件调试方面的系统性书籍,比较重视windows调试系统的原理,当发生疑难杂症的时候其很有用,另外也是crashreport项目的开发与维护的指导书籍。

(2)《inside windows debugging》 和《windows高级调试》,这两本可以简略的看看,理论上并没有《软件调试》丰富,比较实践性。

(3)《memory dump analysis anthology》和张银奎《格蠹汇编》从实践的windbg使用来解决实际问题的解决方案集锦。

© 版权声明
THE END
喜欢就支持一下吧
点赞1.5W+赞赏 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容