我对漏洞研究很感兴趣,我想开始阅读标题中提到的书。
但问题是,虽然我对 Python 和 PHP 相当有信心,但我对任何低级语言的低级编程一无所知。有人告诉我,在说“我今天开始学习倒车”之前,我需要具备扎实的汇编和 C 知识。
说到这里,在开始学习这本书之前,我需要具备哪些编程或计算机科学方面的知识?
谢谢!
我对漏洞研究很感兴趣,我想开始阅读标题中提到的书。
但问题是,虽然我对 Python 和 PHP 相当有信心,但我对任何低级语言的低级编程一无所知。有人告诉我,在说“我今天开始学习倒车”之前,我需要具备扎实的汇编和 C 知识。
说到这里,在开始学习这本书之前,我需要具备哪些编程或计算机科学方面的知识?
谢谢!
IDA Pro 书是关于 IDA 使用的。书中有一些关于反汇编的技巧,有助于逆向进步,但绝对不是学习汇编语言或逆向工程的书。
我认为你必须学习几乎汇编语言的基础知识和你计划研究漏洞的环境的基础知识。例如,如果您的目标是 Windows 和 Intel、Windows SDK 和 C 语言。尽管您必须学习处理器架构,因为例如使用 x86,处理器指令集只是处理器提供给开发人员的一小部分,您必须了解 IA32 或 IA64 架构(内存管理、保护、中断和异常,任务管理等)。请参阅那里的系统编程指南:http : //www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html
阅读“Assembly Language for x86 Processors”之类的书来学习汇编语言,以及“Reversing: Secrets of Reverse Engineering”或“Practical Reverse Engineering”之类的书会更有效率。
还尝试编写一些简单的汇编语言程序来理解指令集以及程序流控制是如何用汇编语言实现的(循环、条件等)。
尽管这与漏洞研究无关,但请考虑先阅读“实用恶意软件分析”一书。它可以帮助您喜欢第 2 部分和第 3 部分对于学习如何分析和理解 Windows 二进制文件非常有价值。请注意,第 5 章是一本 IDA Pro 小书!这本书写得非常好。
这是一段漫长而有趣的旅程!