diff --git a/README.md b/README.md index 19e6608..9211b76 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,16 @@ - [一、基础知识篇](doc/1_basic.md) - [1.1 ctf 介绍](doc/1.1_ctf.md) + - [1.2 打造虚拟机](doc/1.2_vm.md) + - [1.3 Linux基础](doc/1.3_linux_basic.md) + - [1.4 Web 安全基础](doc/1.4_web_basic.md) + - [1.5 逆向工程基础](doc/1.5_reverse_basic.md) + - [1.5.1 C语言基础](doc/1.5.1_c_basic.md) + - [1.5.2 x86/x64/ARM 汇编基础](doc/1.5.2_x86&x64&ARM.md) + - [1.5.3 Linux ELF](doc/1.5.3_elf.md) + - [1.5.4 Windows PE](doc/1.5.4_pe.md) + - [1.5.5 静态链接](doc/1.5.5_static_link.md) + - [1.5.6 动态链接](doc/1.5.6_dynamic_link.md) - [二、工具篇](doc/2_tools.md) - [2.1 gdb/peda](doc/2.1gdb&peda.md) diff --git a/doc/1.2_vm.md b/doc/1.2_vm.md new file mode 100644 index 0000000..05074aa --- /dev/null +++ b/doc/1.2_vm.md @@ -0,0 +1 @@ +# 虚拟机环境 diff --git a/doc/1.3_linux_basic.md b/doc/1.3_linux_basic.md new file mode 100644 index 0000000..eb126ce --- /dev/null +++ b/doc/1.3_linux_basic.md @@ -0,0 +1,29 @@ +# Linux 基础 + +## 常用基础命令 +```text +ls 用来显示目标列表 + +cd [path] 用来切换工作目录 + +pwd 以绝对路径的方式显示用户当前工作目录 + +man [command] 查看Linux中的指令帮助、配置文件帮助和编程帮助等信息 + +apropos [whatever] 在一些特定的包含系统命令的简短描述的数据库文件里查找关键字 + +cat [file] 连接文件并打印到标准输出设备上 + +less [file] 允许用户向前或向后浏览文字档案的内容 + +mv [file1] [file2] 用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中 + +cp [file1] [file2] 用来将一个或多个源文件或者目录复制到指定的目的文件或目录 + +rm [file] 可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉 + +nano / vim / emacs 字符终端的文本编辑器 +``` +```text +管道命令符 "|" 将一个命令的标准输出作为另一个命令的标准输入 +``` diff --git a/doc/1.4_web_basic.md b/doc/1.4_web_basic.md new file mode 100644 index 0000000..6a012d5 --- /dev/null +++ b/doc/1.4_web_basic.md @@ -0,0 +1 @@ +# Web 安全基础 diff --git a/doc/1.5.1_c_basic.md b/doc/1.5.1_c_basic.md new file mode 100644 index 0000000..28da748 --- /dev/null +++ b/doc/1.5.1_c_basic.md @@ -0,0 +1 @@ +# C 语言基础 diff --git a/doc/1.5.2_x86&x64&ARM.md b/doc/1.5.2_x86&x64&ARM.md new file mode 100644 index 0000000..d4c4641 --- /dev/null +++ b/doc/1.5.2_x86&x64&ARM.md @@ -0,0 +1 @@ +# x86 汇编基础 diff --git a/doc/1.5.3_elf.md b/doc/1.5.3_elf.md new file mode 100644 index 0000000..3ecb13e --- /dev/null +++ b/doc/1.5.3_elf.md @@ -0,0 +1 @@ +# Linux ELF diff --git a/doc/1.5.4_pe.md b/doc/1.5.4_pe.md new file mode 100644 index 0000000..763124c --- /dev/null +++ b/doc/1.5.4_pe.md @@ -0,0 +1 @@ +# Windows PE diff --git a/doc/1.5.5_static_link.md b/doc/1.5.5_static_link.md new file mode 100644 index 0000000..e72b579 --- /dev/null +++ b/doc/1.5.5_static_link.md @@ -0,0 +1 @@ +# 静态链接 diff --git a/doc/1.5.6_dynamic_link.md b/doc/1.5.6_dynamic_link.md new file mode 100644 index 0000000..2f3658d --- /dev/null +++ b/doc/1.5.6_dynamic_link.md @@ -0,0 +1 @@ +# 动态链接 diff --git a/doc/1.5_reverse_basic.md b/doc/1.5_reverse_basic.md new file mode 100644 index 0000000..7879d91 --- /dev/null +++ b/doc/1.5_reverse_basic.md @@ -0,0 +1 @@ +# 逆向工程基础 diff --git a/doc/1_basic.md b/doc/1_basic.md index 0f6eca1..5c6e859 100644 --- a/doc/1_basic.md +++ b/doc/1_basic.md @@ -1,3 +1,12 @@ # 第一章 基础知识篇 - [1.1 CTF 介绍](1.1_ctf.md) +- [1.2 打造虚拟机](1.2_vm.md) +- [1.3 Linux基础](1.3_linux_basic.md) +- [1.5 逆向工程基础](1.5_reverse_basic.md) + - [1.5.1 C语言基础](1.5.1_c_basic.md) + - [1.5.2 x86/x64/ARM 汇编基础](1.5.2_x86&x64&ARM.md) + - [1.5.3 Linux ELF](1.5.3_elf.md) + - [1.5.4 Windows PE](1.5.4_pe.md) + - [1.5.5 静态链接](1.5.5_static_link.md) + - [1.5.6 动态链接](1.5.6_dynamic_link.md) diff --git a/doc/2.5_idapro.md b/doc/2.5_idapro.md index bb702a9..b423c99 100644 --- a/doc/2.5_idapro.md +++ b/doc/2.5_idapro.md @@ -1 +1,12 @@ # 2.5 IDA Pro + +#### 内存 dump 脚本 +调试程序时偶尔会需要 dump 内存,但 IDA Pro 没有直接提供此功能,可以通过脚本来实现。 +```python +import idaapi + +data = idaapi.dbg_read_memory(start_address, data_length) +fp = open('path/to/dump', 'wb') +fp.write(data) +fp.close() +``` diff --git a/doc/6.3_books&blogs.md b/doc/6.3_books&blogs.md index 00de620..52dccdb 100644 --- a/doc/6.3_books&blogs.md +++ b/doc/6.3_books&blogs.md @@ -8,3 +8,5 @@ - Hacking: The Art of Exploitation, 2nd Edition by Jon Erickson - The Shellcoder's Handbook: Discovering and Exploiting Security Holes, 2nd Edition by Chris Anley et al - The IDA Pro Book: The Unofficial Guide to the World's Most Popular Disassembler 2nd Edition +- Practical Malware Analysis by Michael Sikorski and Andrew Honig +- Practical Reverse Engineering by Dang, Gazet, Bachaalany diff --git a/doc/6_appendix.md b/doc/6_appendix.md index 697c80f..983165a 100644 --- a/doc/6_appendix.md +++ b/doc/6_appendix.md @@ -1,6 +1,6 @@ # 第六章 附录篇 -- [6.1 更多 Linux 工具](doc/6.1_Linuxtools.md) -- [6.2 更多 Windows 工具](doc/6.2_wintools.md) -- [6.3 博客、文章和书籍](doc/6.3_books&blogs.md) -- [6.4 习题 write-up](doc/6.4_writeup.md) +- [6.1 更多 Linux 工具](6.1_Linuxtools.md) +- [6.2 更多 Windows 工具](6.2_wintools.md) +- [6.3 博客、文章和书籍](6.3_books&blogs.md) +- [6.4 习题 write-up](6.4_writeup.md)