以下是所有推荐书籍,以电子工业出版社的书籍为主线推荐。
******************************
******************************
******************************
******************************
******************************
电子工业出版社:格蠹汇编、软件调试、Windows环境下32位汇编语言程序设计、加密与解密、微软.NET程序的加密与解密
机械工业出版社:Windows PE 权威指南、Windows核心编程、C++反汇编与逆向分析技术
清华大学出版社:汇编语言(王爽)
人民邮电出版社:C语言程序设计:现代方法(第2版) [C Programming:A Modern Approach,Second Edition]
******************************************************************************************************************************************************
适合职业方向:算法逆向、反外挂
出版社名称:电子工业出版社
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
推荐书之前,先做以下假设:
以下内容作为已学部分:
人民邮电出版社:C语言程序设计:现代方法(第2版)
清华大学出版社:汇编语言(王爽编著)
推荐理由:
《C语言程序设计:现代方法(第2版)》:C语言入门书,内容非常丰富、详细,是大多编程初学者必须学习的语言。
《汇编语言》:算法逆向等必需的语言。
以下书籍作为扩展部分:
机械工业出版社:C++反汇编与逆向分析技术
机械工业出版社:Windows PE 权威指南(绝版)
机械工业出版社:Windows核心编程
推荐理由:
《C++反汇编与逆向分析技术》:学习逆向的入门书,本书虽然枯燥,但如果对逆向感兴趣,其中的内容也会充满生机,汇编还原为高级语言的原理也会使读者倍感奇妙。通过本书,读者还能了解到C++虚表、继承等的实现原理,对C++有更深入的理解。
《Windows PE 权威指南》:PE专著,要了解PE,这本书即为贴切。本书还包括与PE相关的各种应用,这些应用在逆向中有时也是需要的,如PE病毒分析,PE解锁器,PE变形。
《Windows核心编程》:讲解Windows的内部众多部件,如内存、进程、线程、SEH、DLL等。这本书会让读者体会到Windows编程的魅力、学习到Windows编程的很多技巧、为学习Windows内核知识奠定良好的基础,以及刷新读者对操作系统、编程习惯、编程思路的
想法,增强读者的内功。如果读者的计算机英语能力较强,推荐看原版书籍,这对以后搜索技术、MSDN等都有很大的帮助,同时也提升了计算机英语能力。
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
书单等级(入门/基础/精通)
入门:《C++ Primer 中文版》
推荐理由:详细地介绍了面向对象编程的思想。从逆向的角度看,这种思想对从汇编转换为高级语言是非常有帮助的。因为在接触语言时,大家学的第一种语言可能是C语言,所以从面对过程思想转换到面向对象思想,学习C++更为便捷快速,易于吸收。
基础:《加密与解密(第三版或第四版)》、《Windows环境下32位汇编语言程序设计》(绝版)、《微软.NET程序的加密与解密》(绝版)
推荐理由:
《加密与解密》:这本书可谓破解的入门书,不过在学习本书之前,需熟悉汇编逆向,因此这里首先推荐一本逆向书。要学习逆向(怎么识别条件、switch、循环、虚表、继承等),请参考《C++反汇编与逆向分析技术》,在有逆向的基础后,便可看《加密与解密》了。《加密与解密》这本书如瀚海般,包含关于破解、加密的各方面知识以及由此引出的一些基础知识(如PE)。对于初学者而言,这本书起非常好的引导作用,能让初学者知道自己还有哪些不足,该从哪方面来学习自己不足的知识,以及迅速丰富小型的实验经验,比如书中几乎所有章节开头部分都会有推荐书籍,或做一些知识铺垫,在实验中还有crackme程序供学习。虽然一些章节只是点到为止,但这也留给读者足够的思考空间,探索接下来该深入的学习方向。书中在讲破解时涉及了Windows编程的知识,为了更好的理解破解原理(为何要在这个函数下断点,为何下消息断点、什么是Hook等),这里推荐下一本书《Windows环境下32位汇编语言程序设计》。
《Windows环境下32位汇编语言程序设计》:这本书是非常难得的一本好书,从编者的行文中,能看出其用意之深、用心之至,从书中的“前言”就能探知一二。可能在学习《加密与解密》时,读者会想“我是否应该先去学Windows程序设计,把windows提供的API先熟悉了。但那本书太厚了(虽然这本书也很厚),有没有什么捷径呢?”,如果有这种想法的读者就更应学习这本书了,这本书不仅讲解了基于各类功能的Windows API编程,而且是以汇编为基础。汇编的好处是在逆向中我们能更快上手,并提高逆向汇编代码的速度,以及掌握稍偏底层的知识。除此外,本书的另一大特点是行文很顺畅,易于理解,只要有汇编基础(即使只有16位汇编基础)的读者都能掌握。学完本书的“界面篇”后,看《加密与解密》就会更加流畅,在加壳脱壳章节也能有清晰的思路,并自己写出简单的加壳器等。这两本书都介绍了有关PE的知识,为了更加全面的理解PE,这里推荐《Windows PE 权威指南》,其第一部分就涉及了PE中的大部分重要结构(导入表、导出表、资源表、重定位表等)。
补充:在学习《加密与解密》时,如果对.NET章节还意犹未尽,或者学习、工作中需要更深入了解.NET破解,那么《微软.NET程序的加密与解密》这本书就非常推荐。这本书的编者和《加密与解密》的.NET章节的编者是同一个人,所以大家应该会喜欢。
精通:《软件调试》(绝版)、《格蠹汇编》(绝版)
推荐理由:
《软件调试》:如书名一般,整本书都在讲调试,涉及Windows操作系统的用户层、内核层以及Intel处理器的硬件知识。虽然本书在“前言”中说读者的知识储备不必很多,但要理解这本书,扎实的Windows操作系统基础是必需的。因此读这本书之前,推荐《Windows核心编程第四版或第五版》,不过这本书也很厚。《软件调试》需要精读,大概读一遍应该是不能完全理解的,不过等之后遇到问题再回来翻阅也挺好。本书内容先做Windows操作系统知识和Intel处理器硬件知识铺垫,然后从用户态调试讲到内核态调试,这两种调试都会涉及很多Windows底层知识,理解颇有难度。讲了这么多,本书的推荐理由在于理解调试内部机制有助于逆向时快速锁定关键问题,通过各种方法(日志、事件跟踪、Windows验证机制、JIT、分支记录)了解程序框架,软件产品的内部设计等。除此外,本书会极大地增强读者的内功,拓宽视野,对深入Windows内核起指引作用、以及明白以前未解决的疑问。虽然这本书很厚,但从行文上,讲解思路上都很严谨,能感觉到编者对每章都很用心,每章的内容也很饱满。
《格蠹汇编》:这本书为《软件调试》的姊妹篇,《软件调试》重视理论,本书重视实践,从调试的角度思考问题,讲解WHAT、HOW和WHY,解析计算机启动过程等,对读者在逆向、解决问题时有很大的参考价值。本书中极为推荐前两部分“笃行第一”和“明辨第二”,这两部分主要讲编者的分析思路,其讲解就如武侠小说,行文时而有趣、时而严肃、时而谨慎。后两部分是拓宽视野的部分,休闲之时可拿出来品味品味。
最后于 2018-5-11 13:13
被coneco编辑
,原因: 纠正错别字