playboy 发表于 2022-2-10 21:01

逆向工程学习教程Reverse Engineering

本帖最后由 playboy 于 2022-2-11 01:13 编辑

逆向工程简介逆向工程(也称为反向工程)是一种过程或方法,通过该过程或方法,人们试图通过演绎推理来理解先前制造的设备、过程、系统或软件如何以较少的步骤(如果有的话)完成任务并深入了解它是如何做到的。
逆向工程是适用的领域计算机工程,机械工程,设计,电子工程,软件工程,化学工程,和系统生物学。逆向工程教程简介这套全面的逆向工程教程涵盖 x86、x64 以及 32 位 ARM 和 64 位架构。如果您是想要学习逆向的新手,或者只是想要修改某些概念的人,那么您来对地方了。作为初学者,这些教程将带您从零到逆向工程的中级基础,这是网络安全领域的每个人都应该具备的技能。如果您在这里只是为了刷新一些概念,您可以方便地使用侧栏查看到目前为止已涵盖的部分。教程目录列表中文:

[*]x86 课程
·      第 1 部分:目标·      第 2 部分:技术·      第 3 部分:恶意软件的类型·      第 4 部分:x86程序集介绍·      第 5 部分:二进制数系统·      第 6 部分:十六进制数系统·      第 7 部分:晶体管和存储器·      第 8 部分– 字节、字、双字等…·      第 9 部分:x86基本架构·      第 10 部分:通用寄存器·      第 11 部分:段寄存器·      第 12 部分:指令指针寄存器·      第 13 部分:控制寄存器·      第 14 部分:标志·      第 15 部分:堆栈·      第 16 部分:堆·      第 17 部分– 如何安装 Linux·      第 18 部分– vim 文本编辑器·      第 19 部分– 为什么要学习组装·      第 20 部分– 指令代码处理·      第 21 部分– 如何编译程序·      第 22 部分– ASM 程序 1 [移动即时数据]·      第 23 部分– ASM 调试 1 [移动即时数据]·      第 24 部分– ASM 黑客 1 [移动即时数据]·      第 25 部分– ASM 程序 2 [在寄存器之间移动数据]·      第 26 部分– ASM 调试 2 [在寄存器之间移动数据]·      第 27 部分– ASM 黑客攻击 2 [在寄存器之间移动数据]·      第 28 部分– ASM 程序 3 [在内存和寄存器之间移动数据]·      第 29 部分– ASM 调试 3 [在内存和寄存器之间移动数据]·      第 30 部分– ASM Hacking 3 [在内存和寄存器之间移动数据]·      第 31 部分– ASM 程序 4 [在寄存器和内存之间移动数据]·      第 32 部分– ASM 调试 4 [在寄存器和内存之间移动数据]·      第 33 部分– ASM Hacking 4 [在寄存器和内存之间移动数据]·      第 34 部分– ASM 程序 5 [使用寄存器间接寻址]·      第 35 部分– ASM 调试 5 [使用寄存器间接寻址]·      第 36 部分– ASM 黑客 5 [使用寄存器间接寻址]·      第 37 部分– ASM 程序 6 ·      第 38 部分– ASM 调试 6 ·      第 39 部分– ASM 黑客 6 ·      第 40 部分– 结论

[*]ARM-32   课程 1
·      第 1 部分——生命的意义·      第 2 部分– 数字系统·      第 3 部分– 二进制加法·      第 4 部分– 二进制减法·      第 5 部分– 字长·      第 6 部分– 寄存器·      第 7 部分– 程序计数器·      第 8 部分– CPSR·      第 9 部分– 链接寄存器·      第 10 部分– 堆栈指针·      第 11 部分– ARM 固件引导过程·      第 12 部分– 冯诺依曼架构·      第 13 部分– 指令管道·      第 14 部分– 添加·      第 15 部分– 调试 ADD·      第 16 部分– 逆向 ADD·      第 17 部分– ADD·      第 18 部分– 调试 ADDS·      第 19 部分– 攻击 ADDS·      第 20 部分– ADC·      第 21 部分– 调试 ADC·      第 22 部分– 攻击 ADC·      第 23 部分– SUB·      第 24 部分– 调试 SUB·      第 25 部分– 逆向 SUB

[*]ARM-32   课程 2
·      第 1 部分– 生命的意义第 2 部分·      第 2 部分– 数字系统·      第 3 部分– 二进制加法·      第 4 部分– 二进制减法·      第 5 部分– 字长·      第 6 部分– 寄存器·      第 7 部分– 程序计数器·      第 8 部分– CPSR·      第 9 部分– 链接寄存器·      第 10 部分– 堆栈指针·      第 11 部分– 固件引导程序·      第 12 部分– 冯诺依曼架构·      第 13 部分– 指令管道·      第 14 部分– 你好世界·      第 15 部分– 调试 Hello World·      第 16 部分– 逆向 Hello World·      第 17 部分– 常量·      第 18 部分– 调试常量·      第 19 部分– 逆向常量·      第 20 部分– 字符变量·      第 21 部分– 调试字符变量·      第 22 部分– 逆向字符变量·      第 23 部分– 布尔变量·      第 24 部分– 调试布尔变量·      第 25 部分– 逆向布尔变量·      第 26 部分– 整数变量·      第 27 部分– 调试整型变量·      第 28 部分– 逆向整数变量·      第 29 部分– 浮点变量·      第 30 部分– 调试浮点变量·      第 31 部分– 逆向浮点变量·      第 32 部分– 双变量·      第 33 部分– 调试双重变量·      第 34 部分– 逆向双重变量·      第 35 部分– SizeOf 运算符·      第 36 部分– 调试 SizeOf 运算符·      第 37 部分– 逆向 SizeOf 运算符·      第 38 部分– 预增量运算符·      第 39 部分– 调试预增量运算符·      第 40 部分– 逆向预增量运算符·      第 41 部分– 后增量运算符·      第 42 部分– 调试后增量运算符·      第 43 部分– 逆向后增量运算符·      第 44 部分– 预减运算符·      第 45 部分– 调试预减运算符·      第 46 部分– 逆向预减运算符·      第 47 部分– 后递减运算符·      第 48 部分– 调试后减运算符·      第 49 部分– 逆向后递减运算符

[*]x64 课程
·      第 1 部分– 网络革命·      第 2 部分– 晶体管·      第 3 部分– 逻辑门·      第 4 部分– 数字系统·      第 5 部分– 二进制加法·      第 6 部分– 二进制减法·      第 7 部分– 字长·      第 8 部分– 通用架构·      第 9 部分– 调用约定·      第 10 部分– 布尔指令·      第 11 部分– 指针·      第 12 部分– 加载有效地址·      第 13 部分– 数据段·      第 14 部分– SHL 指令·      第 15 部分– SHR 说明·      第 16 部分– ROL 指令·      第 17 部分– ROR 说明·      第 18 部分– 引导扇区基础 [第 1 部分]·      第 19 部分– 引导扇区基础知识 [第 2 部分]·      第 20 部分– 引导扇区基础知识 [第 3 部分]·      第 21 部分– 引导扇区基础知识 [第 4 部分]·      第 22 部分– 引导扇区基础 [第 5 部分]·      第 23 部分– 引导扇区基础 [第 6 部分]·      第 24 部分– 引导扇区基础 [第 7 部分]·      第 25 部分– 引导扇区基础知识 [第 8 部分]·      第 26 部分– 引导扇区基础知识 [第 9 部分]·      第 27 部分– x64 组件 [第 1 部分]·      第 28 部分– x64 组件 [第 2 部分]·      第 29 部分– x64 组件 [第 3 部分]·      第 30 部分– x64 组件 [第 4 部分]·      第 31 部分– x64 组件 [第 5 部分]·      第 32 部分– x64 组件 [第 6 部分]·      第 33 部分– x64 组件 [第 7 部分]·      第 34 部分– x64 C++ 1 代码 [第 1 部分]·      第 35 部分– x64 C++ 2 调试 [第 2 部分]·      第 36 部分– x64 C++ 3 黑客攻击 [第 3 部分]·      第 37 部分– x64 C 和生命的起源·      第 38 部分– x64 网络基础知识·      第 39 部分– 为什么选择 C?·      第 40 部分– 逆向 Hello World!·      第 41 部分– 逆向变量!·      第 42 部分– 入侵分支!·      第 43 部分– 黑客指针!

[*]ARM-64   课程
·      第 1 部分– 生命的意义·      第 2 部分– 开发设置·      第 3 部分– “Hello World”·      第 4 部分– 调试“Hello World”·      第 5 部分– 逆向“Hello World”·      第 6 部分– 基本 I/O·      第 7 部分– 调试基本 I/O·      第 8 部分– 逆向基本 I/O·      第 9 部分– 字符原始数据类型·      第 10 部分– 调试字符原始数据类型·      第 11 部分– 逆向字符原始数据类型·      第 12 部分– 布尔原始数据类型·      第 13 部分– 调试布尔原始数据类型·      第 14 部分– 逆向布尔原始数据类型·      第 15 部分– 浮点基本数据类型·      第 16 部分– 调试浮点基本数据类型·      第 17 部分– 逆向浮点原始数据类型·      第 18 部分– 双原语数据类型·      第 19 部分– 调试双基本数据类型·      第 20 部分– 逆向双重原始数据类型

[*]Pico   黑客课程
·      第 1 部分– 为什么,如何…·      第 2 部分– 你好世界·      第 3 部分– 调试 Hello World·      第 4 部分– 逆向 Hello World·      第 5 部分– 字符·      第 6 部分– 调试字符·      第 7 部分– 逆向字符·      第 8 部分– 整数·      第 9 部分– 调试 int·      第 10 部分– 逆向 int·      第 11 部分– 浮动·      第 12 部分– 调试float·      第 13 部分– 黑客float·      第 14 部分– 双倍·      第 15 部分– 调试双重·      第 16 部分– 黑客双打·      第 17 部分– “绝对权力绝对腐败!”,输入的悲惨故事……·      第 18 部分– “我训练了 800 年的绝地武士!”,输入的力量……·      第 19 部分– 输入·      第 20 部分– 调试输入英文:

[*]x86   Course
·      Part 1:Goals·      Part2: Techniques·      Part3: Types Of Malware·      Part4: x86 Assembly Intro·      Part5: Binary Number System·      Part6: Hexadecimal Number System·      Part7: Transistors And Memory·      Part8 – Bytes, Words, Double Words, etc…·      Part9: x86 Basic Architecture·      Part10: General-purpose Registers·      Part11: Segment Registers·      Part12: Instruction Pointer Register·      Part13: Control Registers·      Part14: Flags·      Part15: Stack·      Part 16:Heap·      Part17 – How To Install Linux·      Part18 – vim Text Editor·      Part19 – Why Learn Assembly·      Part20 – Instruction Code Handling·      Part21 – How To Compile A Program·      Part22 – ASM Program 1 ·      Part23 – ASM Debugging 1 ·      Part24 – ASM Hacking 1 ·      Part25 – ASM Program 2 ·      Part26 – ASM Debugging 2 ·      Part27 – ASM Hacking 2 ·      Part28 – ASM Program 3 ·      Part29 – ASM Debugging 3 ·      Part30 – ASM Hacking 3 ·      Part31 – ASM Program 4 ·      Part32 – ASM Debugging 4 ·      Part33 – ASM Hacking 4 ·      Part34 – ASM Program 5 ·      Part35 – ASM Debugging 5 ·      Part36 – ASM Hacking 5 ·      Part37 – ASM Program 6 ·      Part38 – ASM Debugging 6 ·      Part39 – ASM Hacking 6 ·      Part40 – Conclusion

[*]ARM-32   Course 1
·      Part1 – The Meaning Of Life·      Part2 – Number Systems·      Part3 – Binary Addition·      Part4 – Binary Subtraction·      Part5 – Word Lengths·      Part6 – Registers·      Part7 – Program Counter·      Part 8 –CPSR·      Part9 – Link Register·      Part10 – Stack Pointer·      Part11 – ARM Firmware Boot Procedures·      Part12 – Von Neumann Architecture·      Part13 – Instruction Pipeline·      Part 14 –ADD·      Part15 – Debugging ADD·      Part16 – Hacking ADD·      Part 17– ADDS·      Part18 – Debugging ADDS·      Part19 – Hacking ADDS·      Part 20 –ADC·      Part21 – Debugging ADC·      Part22 – Hacking ADC·      Part 23 –SUB·      Part24 – Debugging SUB·      Part25 – Hacking SUB

[*]ARM-32   Course 2
·      Part1 – The Meaning Of Life Part 2·      Part2 – Number Systems·      Part3 – Binary Addition·      Part4 – Binary Subtraction·      Part5 – Word Lengths·      Part6 – Registers·      Part7 – Program Counter·      Part 8 –CPSR·      Part9 – Link Register·      Part10 – Stack Pointer·      Part11 – Firmware Boot Procedures·      Part12 – Von Neumann Architecture·      Part13 – Instruction Pipeline·      Part14 – Hello World·      Part15 – Debugging Hello World·      Part16 – Hacking Hello World·      Part17 – Constants·      Part18 – Debugging Constants·      Part19 – Hacking Constants·      Part20 – Character Variables·      Part21 – Debugging Character Variables·      Part22 – Hacking Character Variables·      Part23 – Boolean Variables·      Part24 – Debugging Boolean Variables·      Part25 – Hacking Boolean Variables·      Part26 – Integer Variables·      Part27 – Debugging Integer Variables·      Part28 – Hacking Integer Variables·      Part29 – Float Variables·      Part30 – Debugging Float Variables·      Part31 – Hacking Float Variables·      Part32 – Double Variables·      Part33 – Debugging Double Variables·      Part34 – Hacking Double Variables·      Part35 – SizeOf Operator·      Part36 – Debugging SizeOf Operator·      Part37 – Hacking SizeOf Operator·      Part38 – Pre-Increment Operator·      Part39 – Debugging Pre-Increment Operator·      Part40 – Hacking Pre-Increment Operator·      Part41 – Post-Increment Operator·      Part42 – Debugging Post-Increment Operator·      Part43 – Hacking Post-Increment Operator·      Part44 – Pre-Decrement Operator·      Part45 – Debugging Pre-Decrement Operator·      Part46 – Hacking Pre-Decrement Operator·      Part47 – Post-Decrement Operator·      Part48 – Debugging Post-Decrement Operator·      Part49 – Hacking Post-Decrement Operator

[*]x64   Course
·      Part1 – The Cyber Revolution·      Part2 – Transistors·      Part3 – Logic Gates·      Part4 – Number Systems·      Part5 – Binary Addition·      Part6 – Binary Subtraction·      Part7 – Word Lengths·      Part8 – General Architecture·      Part9 – Calling Conventions·      Part10 – Boolean Instructions·      Part11 – Pointers·      Part12 – Load Effective Address·      Part13 – The Data Segment·      Part14 – SHL Instruction·      Part15 – SHR Instruction·      Part16 – ROL Instruction·      Part17 – ROR Instruction·      Part18 – Boot Sector Basics ·      Part19 – Boot Sector Basics ·      Part20 – Boot Sector Basics ·      Part21 – Boot Sector Basics ·      Part22 – Boot Sector Basics ·      Part23 – Boot Sector Basics ·      Part24 – Boot Sector Basics ·      Part25 – Boot Sector Basics ·      Part26 – Boot Sector Basics ·      Part27 – x64 Assembly ·      Part28 – x64 Assembly ·      Part29 – x64 Assembly ·      Part30 – x64 Assembly ·      Part31 – x64 Assembly ·      Part32 – x64 Assembly ·      Part33 – x64 Assembly ·      Part34 – x64 C++ 1 Code ·      Part35 – x64 C++ 2 Debug ·      Part36 – x64 C++ 3 Hacking ·      Part37 – x64 C & Genesis Of Life·      Part38 – x64 Networking Basics·      Part 39– Why C?·      Part40 – Hacking Hello World!·      Part41 – Hacking Variables!·      Part42 – Hacking Branches!·      Part43 – Hacking Pointers!

[*]ARM-64   Course
·      Part1 – The Meaning Of Life·      Part2 – Development Setup·      Part3 – “Hello World”·      Part4 – Debugging “Hello World”·      Part5 – Hacking “Hello World”·      Part6 – Basic I/O·      Part7 – Debugging Basic I/O·      Part8 – Hacking Basic I/O·      Part9 – Character Primitive Datatype·      Part10 – Debugging Character Primitive Datatype·      Part11 – Hacking Character Primitive Datatype·      Part12 – Boolean Primitive Datatype·      Part13 – Debugging Boolean Primitive Datatype·      Part14 – Hacking Boolean Primitive Datatype·      Part15 – Float Primitive Datatype·      Part16 – Debugging Float Primitive Datatype·      Part17 – Hacking Float Primitive Datatype·      Part18 – Double Primitive Datatype·      Part19 – Debugging Double Primitive Datatype·      Part20 – Hacking Double Primitive Datatype

[*]Pico   Hacking Course
·      Part1 – The Why, The How…·      Part2 – Hello World·      Part3 – Debugging Hello World·      Part4 – Hacking Hello World·      Part 5 –char·      Part6 – Debugging char·      Part7 – Hacking char·      Part 8 –int·      Part9 – Debugging int·      Part10 – Hacking int·      Part 11– float·      Part12 – Debugging float·      Part13 – Hacking float·      Part14 – double·      Part15 – Debugging double·      Part16 – Hacking double·      Part17 – “ABSOLUTE POWER CORRUPTS ABSOLUTELY!”, The Tragic Tale Of Input…·      Part18 – “FOR 800 YEARS HAVE I TRAINED JEDI!”, The FORCE That IS Input…·      Part 19– Input·      Part20 – Debugging Input逆向工程教程官网地址https://0xinfection.github.io/reversing/教程pdf下载[ PDF | MOBI ]

cQHmsZNlTr 发表于 2022-2-10 21:03

谢谢分享

YVQOH0948 发表于 2022-2-10 21:04

感谢楼主

YLa3 发表于 2022-2-10 21:07

感谢楼主

afxKhM081 发表于 2022-2-10 21:08

感谢楼主

JYmejiO 发表于 2022-2-10 21:08

楼主分享不易,顶帖是必须的~

fMb42 发表于 2022-2-10 21:11

我现在已经把楼主作为我的学习目标了!

zwVqG0972 发表于 2022-2-10 21:13

感谢楼主

fMb42 发表于 2022-2-10 21:24

感谢楼主

CLybc73 发表于 2022-2-10 21:24

甘拜下风,谢谢分享
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 逆向工程学习教程Reverse Engineering