什么是逆向工程
- ? ? ? 欲知逆向,先懂正向!!!
- ? ? ? 我们正常写程序的过程,可以叫做正向,例如:用C++写一个程序,是从C++一层层编译到 0 1代码变成可执行程序的。
- ? ? ? 逆向工程就是和正向相反的,是从0 1 代码变成人类可懂的代码。
为什么需要逆向工程
- 随着互联网的发展和网络设备的普及,网络安全越发的重要,骇客的恶意软件层出不穷,所以安全人员需要分析他们的恶意代码,查找一些相关信 ? ? ? 息,所以需要逆向分析他们软件的流程等等(因为看不到源码,只能逆向分析)。
- 最近 方程式 ?那些 0day 漏洞,就是通过逆向分析得到的,所以逆向工程也可以挖掘漏洞。
- 还有一种,也是最常见的就是,通过逆向分析,破解收费软件。
逆向工程分类
- Windows逆向
- Win32程序。
- VB程序。
- MFC程序。
- QT程序。
- Delphi程序。
- .Net程序。
- Java程序。
- 易语言程序。
- 等等等等。
- Linux平台逆向
- QT程序。
- Windows程序(Linux可以执行Windows程序)。
- Java程序。
- 等等等等。
- Android ?逆向
- iOS 苹果 ?逆向
- Mac ? ? ? ? 逆向
- C/C++程序。
- OC程序。
- 等等。
- 其它固件 ?等等
怎么学习逆向工程呢?
- 学习正向开发,懂正向,知逆向,懂进攻,知防守。
- 学习编程语言,C/C++,Java,OC,汇编等等。
- 学习汇编(Intel,Arm汇编)。
- 学习高级语言中间代码。
- Smali(Android),iL(.Net)。
- 学习各种可执行文件结构PE/ELF等等 。
- 学习操作系统相关知识内核,驱动开发。
- 等等等等等等等。
无人与我立黄昏,无人问我粥可温。无人与我捻熄灯,无人共我书半生。无人陪我夜已深,无人与我把酒分。无人拭我相思泪,无人梦我与前尘。无人陪我顾星辰,?无人知我茶已冷。无人听我述衷肠,无人解我心头梦。?无人拘我言中泪?,无人愁我独行路。? 回首向来萧瑟处,无人等在灯火阑珊处。