首先在许多书和文章了解了许多逆向的介绍
高级语言(c/c++)经过编译成为汇编语言,然后再执行汇编变成机器语言,也就是变成了很多对象文件,然后经过链接把对象文件串起来,这就是我们经常说的:
编译-链接-执行
当然,这个过程有许多信息的丢失,如注释,函数名等等,所以过程是不可逆的,这就引出了我们的逆向!
逆向就是逆向我们的exe文件,但是windows除了exe是可执行文件,还有许多其他类型,因此在windows中统称为“PE”可执行文件。(Linux中叫“ELF”)
我们逆向也就是分析它啦!网上有许多crashme文件,就是用来学逆向的时候破解的,下载了一些挺好玩的!
“PE”文件的格式也挺麻烦的。只是大约看了一下,下载了一些分析pe和elf文件的软件,叫IDA(主要是静态分析)、ollydbg(动态分析),他们可以把我们的pe文件反汇编,甚至变成伪代码。
当然,pe文件也不会等着我们去逆向分析,他们会“加壳”保护自己,因此之后我们还需要学习“脱壳”。
总结一下:
需要学习的有:汇编、编译、一些工具的使用、C++
汇编学习:
在学习汇编的时候,现在一般我们用的windows已经不能通过cmd中dos的debug命令