diff --git a/CONTRIBUTION.md b/CONTRIBUTION.md
index 34386d1..9c8b663 100644
--- a/CONTRIBUTION.md
+++ b/CONTRIBUTION.md
@@ -8,7 +8,7 @@
-- 开始于 2017.7.17
### 规范
-##### 目录结构
+#### 目录结构
```
.
.
@@ -31,7 +31,7 @@
└── SUMMARY.md
```
-- `LICENSE`:贡献协议。
+- `LICENSE`:开源协议。
- `README.md`:自述文件。
- `CONTRIBUTION.md`:合作与贡献的相关内容。
- `SUMMARY.md`:gitbook 目录结构。
@@ -39,7 +39,7 @@
- `pic`:该文件夹包含所有 Markdown 中引用的所有图片文件。(图片)
- `src`:该文件夹包含书中示例和练习的二进制文件或源代码,分专题保存。(代码)
-##### 注意事项
+#### 注意事项
- 在开始编写某一个内容之前,请先在下面的表格里注明,以避免重复和冲突。如果是已经完成的章节,则可以直接进行修改。
- 每个章节开头需要有一个目录,增加或删除内容时需要做相应的修改,关于 GitHub 独特的页面跳转写法请参考 [Page Jumping in Github](https://github.com/firmianay/Life-long-Learner/blob/master/misc/github-tips.md#page-jumping-in-github)。
- [中文文案排版指北](https://github.com/sparanoid/chinese-copywriting-guidelines)
diff --git a/doc/2.6_idapro.md b/doc/2.6_idapro.md
index dabd2aa..6edfa24 100644
--- a/doc/2.6_idapro.md
+++ b/doc/2.6_idapro.md
@@ -1,9 +1,9 @@
# 2.5 IDA Pro
-- [内存 dump 脚本](#dump)
+- [内存 dump 脚本](#内存-dump-脚本)
-#### 内存 dump 脚本
+#### 内存 dump 脚本
调试程序时偶尔会需要 dump 内存,但 IDA Pro 没有直接提供此功能,可以通过脚本来实现。
```python
import idaapi
diff --git a/doc/6.4_writeup.md b/doc/6.4_writeup.md
index 701b29b..d8dd54f 100644
--- a/doc/6.4_writeup.md
+++ b/doc/6.4_writeup.md
@@ -1,35 +1,63 @@
# 6.4 习题答案
-- 一、基础知识篇
- - [1.1 ctf 介绍]
+- [一、基础知识篇]()
+ - [1.3 Linux 基础]()
+ - [1.4 Web 安全基础]()
+ - [1.5 逆向工程基础]()
+ - [1.5.1 C 语言基础]()
+ - [1.5.2 x86/x64/ARM 汇编基础]()
+ - [1.5.3 Linux ELF]()
+ - [1.5.4 Windows PE]()
+ - [1.5.5 静态链接]()
+ - [1.5.6 动态链接]()
+ - [1.5.7 内存管理]()
+ - [1.5.8 glibc malloc]()
+ - [1.6 密码学基础]()
+ - [1.7 Android 安全基础]()
+- [二、工具篇]()
+ - [2.1 VM]()
+ - [2.1 gdb/peda]()
+ - [2.2 ollydbg]()
+ - [2.3 windbg]()
+ - [2.4 radare2]()
+ - [2.5 IDA Pro]()
+ - [2.6 pwntools]()
+ - [2.8 zio]()
+ - [2.9 metasploit]()
+ - [2.10 binwalk]()
+ - [2.11 Burp Suite]()
+- [三、分类专题篇]()
+ - [3.1 Reverse]()
+ - [3.2 Crypto]()
+ - [3.3 Pwn]()
+ - [3.4 Web]()
+ - [3.5 Misc]()
+ - [3.6 Mobile]()
+- [四、技巧篇]()
+ - [4.1 AWD模式]()
+ - [4.2 Linux 命令行技巧]()
+ - [4.3 GCC 堆栈保护技术]()
+- [五、高级篇]()
+ - [5.1 Fuzz 测试]()
+ - [5.2 Pin 动态二进制插桩](#53-angr-二进制自动化分析)
+ - [5.3 angr 二进制自动化分析]()
+ - [5.4 反调试技术]()
+- [六、附录]()
+ - [6.1 更多 Linux 工具](#61-更多-linux-工具)
+ - [6.2 更多 Windows 工具]()
-- 二、工具篇
- - [2.1 gdb/peda]
- - [2.2 ollydbg]
- - [2.3 windbg]
- - [2.4 radare2]
- - [2.5 IDA Pro]
- - [2.6 pwntools]
-- 三、分类专题篇
- - [3.1 Reverse]
- - [3.2 Crypto]
- - [3.3 Pwn]
- - [3.4 Web]
- - [3.5 Misc]
- - [3.6 Mobile]
+## 5.3 angr 二进制自动化分析
+#### Baleful - picoCTF 2014
-- 四、技巧篇
+#### Reverse 400 - Hack You 2014
-- 五、高级篇
+#### wyvern 500 - CSAW CTF 2015
-- 六、附录
- - [6.1 更多 Linux 工具](#6.1)
- - [6.2 更多 Windows 工具]
- - [6.3 博客、文章和书籍]
- - [6.4 习题 write-up]
+#### rev100 - th3jackers CTF 2015
-## 6.1 更多 Linux 工具
+
+## 6.1 更多 Linux 工具
#### Strings - strings_crackme
```text
[firmy@Reverse]$ strings -e L strings_crackme
@@ -38,7 +66,7 @@ w0wgreat
#### Strings - flag_pwnablekr
```text
-[firmy@Reverse]$ ./flag_pwnablekr
+[firmy@Reverse]$ ./flag_pwnablekr
I will malloc() and strcpy the flag there. take it.
[firmy@Reverse]$ strings flag_pwnablekr | grep UPX
UPX!
@@ -46,7 +74,7 @@ $Info: This file is packed with the UPX executable packer http://upx.sf.net $
$Id: UPX 3.08 Copyright (C) 1996-2011 the UPX Team. All Rights Reserved. $
UPX!
UPX!
-[firmy@Reverse]$ upx -d flag_pwnablekr
+[firmy@Reverse]$ upx -d flag_pwnablekr
Ultimate Packer for eXecutables
Copyright (C) 1996 - 2017
UPX 3.94 Markus Oberhumer, Laszlo Molnar & John Reiser May 12th 2017
@@ -66,7 +94,7 @@ UPX...? sounds like a delivery service :)
......
```
```text
-[firmy@Reverse]$ strings -d xxd_crackme
+[firmy@Reverse]$ strings -d xxd_crackme
......
g00dJ0B!
......