很适合学习C++与汇编_C++反汇编与逆向分析技术揭秘书评-查字典图书网
查字典图书网
当前位置: 查字典 > 图书网 > 编程 > C++反汇编与逆向分析技术揭秘 > 很适合学习C++与汇编
soliddream C++反汇编与逆向分析技术揭秘 的书评 发表时间:2013-06-15 16:06:04

很适合学习C++与汇编

建议读者看这本书时,有什么C++概念不清楚参考C++经典书,比如《C++程序设计语言》。书中代码与谭浩强的《C语言程序设计》有的一拼。C++概念有些地方也阐述的不到位。比如P269值得吐槽的太多了,挑倒数第二段吐下槽。记得当初学C++的时候,老师教我们父类和子类的关系是"是",比如手表是表的子类的话,那么手表是表。书中以张三与张三他爹比喻子类和父类实例,以像不像来说明父类和子类的关系。我只问一句儿子是老爸吗?难道儿子是老爸生的,儿子就是子类,老爸就是父类?要真这么想的话,那才"可能会给你的社会交际带来潜在的危险"(书中原话)。

缺少某些汇编指令的讲解,比如
        • test
        • setnz


第一章 熟悉工作环境和相关工具
自己制作SIG文件,让IDA可以识别第三方提供的库函数,这功能不错,更方便调试和学习。举了一个实际应用例子,很简略。后面用到了的操作再临时提出来。我喜欢,有虎头之风。

第二章 基本数据类型的表现形式
介绍了各类基本数据类型的汇编。作者对本章的定位"是学习后面内容的基础,读者应重点掌握"。没细看,一扫而过。

第三章 认识启动函数,找到用户人口
以前看过《程序员的自我修养---链接、装载和库》,重温了这部分知识。

第四章 观察各种表达式的求值过程
够深度,不仅介绍了篇幅不少的数学理论,还介绍了Release版本与Debug版本的不同以及编译器优化技巧。比较深的跳过,回头用到了再看。

例子先来一段源码,然后源码和汇编对比。这样比较浪费篇幅,要么只保留源码和汇编对比,要么一段源码,一段汇编。

P85 表4-1 条件跳转指令表

第五章 流程控制语句的识别
看了switch一节,终于确定作者对于效率异乎寻常的兴趣。效率与主题关系不大,但是由于作者的兴趣,效率相关的篇幅很大。有序线性跳转表、索引表与判定树跳过,有空时再看。
P394 分析OD删除硬件断点例子用到了switch跳转表

实在不欣赏使用goto语句模拟do循环(代码清单5-21)。

P140 "while 循环结构中使用了两次跳转指令完成循环,由于多使用了一次跳转指令,因此while循环要比do循环效率低一些。"结论很容易误导别人。while循环和do循环两者效率不可比,从功能上讲两者是不可替换的。效率之说也唯有可以替换的情况下才能谈吧,不然的话从何谈起?

第九章 结构体和类
P225 异常处理是动态运行时的代码吗?
理解
        • 浅拷贝
        
第十二章 从内存角度看继承和多重继承
P269值得吐槽的太多了,挑个吐下槽
倒数第二段。记得当初学C++的时候,老师教我们父类和子类的关系是"是",比如手表是表的子类的话,那么手表是表。书中以张三与张三他爹比喻子类和父类实例,以像不像来说明父类和子类的关系。我只问一句儿子是老爸吗?难道儿子是老爸生的,儿子就是子类,老爸就是父类?要真这么想的话,那才"可能会给你的社会交际带来潜在的危险"(书中原话)。
建议读者看这本书时,有什么C++概念不清楚参考C++经典书,比如《C++程序设计语言》。

第十六章 调试器OllyDBG的工作原理分析
OllyDBG的逆向分析很成熟,或许应该看看OllyDBG的逆向分析,从而学习逆向分析?

延伸课题:制作自己的OD

P396 汇编mov ecx, DebugEvent.dwProcessId解释获取异常类型,应为获取异常进程ID

第十七章 反汇编代码的重建与编译
重建反汇编代码很实用,我利用书中的ToUpper例子重新编译制作了DLL。

展开全文


推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读