From 5330ed148723b59dc83b0150ef3e1a765f4fb44e Mon Sep 17 00:00:00 2001 From: firmianay Date: Wed, 9 Aug 2017 00:09:42 +0800 Subject: [PATCH] update --- README.md | 6 +++--- doc/1_basic.md | 11 +++++++---- doc/2.2_gdb&peda.md | 1 + doc/2_tools.md | 16 ++++++++++------ doc/4_tips.md | 3 +++ doc/5.2_pin.md | 14 +++++++------- doc/5_advanced.md | 4 +++- doc/6_appendix.md | 1 + 8 files changed, 35 insertions(+), 21 deletions(-) diff --git a/README.md b/README.md index 2ec3680..b184618 100644 --- a/README.md +++ b/README.md @@ -3,10 +3,10 @@ - [一、基础知识篇](doc/1_basic.md) - [1.1 ctf 介绍](doc/1.1_ctf.md) - [1.2 提问的智慧](https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way) - - [1.3 Linux基础](doc/1.3_linux_basic.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.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) @@ -14,7 +14,7 @@ - [1.5.6 动态链接](doc/1.5.6_dynamic_link.md) - [1.5.7 内存与虚拟内存](doc/1.5.7_memory.md) - [1.6 密码学基础](doc/1.6_crypto_basic.md) - - [1.7 Android安全基础](doc/1.7_android_basic.md) + - [1.7 Android 安全基础](doc/1.7_android_basic.md) - [二、工具篇](doc/2_tools.md) - [2.1 VM](doc/2.1_vm.md) diff --git a/doc/1_basic.md b/doc/1_basic.md index 94b6414..aecb626 100644 --- a/doc/1_basic.md +++ b/doc/1_basic.md @@ -1,13 +1,16 @@ # 第一章 基础知识篇 -- [1.1 CTF 介绍](1.1_ctf.md) -- [1.2 打造虚拟机](2.1_vm.md) -- [1.3 Linux基础](1.3_linux_basic.md) +- [1.1 ctf 介绍](1.1_ctf.md) +- [1.2 提问的智慧](https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way) +- [1.3 Linux 基础](1.3_linux_basic.md) +- [1.4 Web 安全基础](1.4_web_basic.md) - [1.5 逆向工程基础](1.5_reverse_basic.md) - - [1.5.1 C语言基础](1.5.1_c_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) - [1.5.7 内存与虚拟内存](1.5.7_memory.md) +- [1.6 密码学基础](1.6_crypto_basic.md) +- [1.7 Android 安全基础](1.7_android_basic.md) diff --git a/doc/2.2_gdb&peda.md b/doc/2.2_gdb&peda.md index f978178..08e9cf9 100644 --- a/doc/2.2_gdb&peda.md +++ b/doc/2.2_gdb&peda.md @@ -8,6 +8,7 @@ ## gdb 的组成架构 ![](../pic/2.2_gdb.png) + ## gdb 基本工作原理 gdb 通过系统调用 `ptrace` 来接管一个进程的执行。ptrace 系统调用提供了一种方法使得父进程可以观察和控制其它进程的执行,检查和改变其核心映像以及寄存器。它主要用来实现断点调试和系统调用跟踪。ptrace 系统调用的原型如下: ``` diff --git a/doc/2_tools.md b/doc/2_tools.md index 6499a2f..b20828f 100644 --- a/doc/2_tools.md +++ b/doc/2_tools.md @@ -1,8 +1,12 @@ # 第二章 工具篇 -- [2.1 gdb/peda](2.2_gdb&peda.md) -- [2.2 ollydbg](2.3_ollydbg.md) -- [2.3 windbg](2.4_windbg.md) -- [2.4 radare2](2.5_radare2.md) -- [2.5 IDA Pro](2.6_idapro.md) -- [2.6 pwntools](2.7_pwntools.md) +- [2.1 VM](2.1_vm.md) +- [2.2 gdb/peda](2.2_gdb&peda.md) +- [2.3 ollydbg](2.3_ollydbg.md) +- [2.4 windbg](2.4_windbg.md) +- [2.5 radare2](2.5_radare2.md) +- [2.6 IDA Pro](2.6_idapro.md) +- [2.7 pwntools](2.7_pwntools.md) +- [2.8 zio](2.8_zio.md) +- [2.9 metasploit](2.9_metasploit.md) +- [2.10 binwalk](2.10_binwalk.md) diff --git a/doc/4_tips.md b/doc/4_tips.md index 0c1d71f..2ac82e2 100644 --- a/doc/4_tips.md +++ b/doc/4_tips.md @@ -1 +1,4 @@ # 第四章 技巧篇 + +- [4.1 AWD模式](4.1_AWD.md) +- [4.2 Linux 命令行技巧](4.2_Linux_terminal_tips.md) diff --git a/doc/5.2_pin.md b/doc/5.2_pin.md index 37d4c06..9800810 100644 --- a/doc/5.2_pin.md +++ b/doc/5.2_pin.md @@ -334,7 +334,7 @@ Pintool 的入口为 `main` 函数,通常需要完成下面的功能: ## Pin 在 CTF 中的应用 由于程序具有循环、分支等结构,每次运行时执行的指令数量不一定相同,于是我们可是使用 Pin 来统计执行指令的数量,从而对程序进行分析。特别是对一些使用特殊指令集和虚拟机,或者运用了反调试等技术的程序来说,相对于静态分析去死磕,动态插桩技术是一个比较好的选择。 -我们先举一个例子,[源码](../source/Others/5.2_pin.c)如下: +我们先举一个例子,[源码](../src/Others/5.2_pin.c)如下: ```c #include #include @@ -414,11 +414,11 @@ Count 152786 第二位是 `b`,同时我们还可以发现,每一位正确与错误的指令计数之差均为 14。同理,我们就可以暴力破解出密码,但这种暴力破解方式大大减少了次数,提高了效率。破解脚本可查看参考资料。 #### 参考资料 -[A binary analysis, count me if you can](http://shell-storm.org/blog/A-binary-analysis-count-me-if-you-can/) -[pintool2](https://github.com/sebastiendamaye/pintool2) +- [A binary analysis, count me if you can](http://shell-storm.org/blog/A-binary-analysis-count-me-if-you-can/) +- [pintool2](https://github.com/sebastiendamaye/pintool2) #### 练习 -[Baleful - picoCTF 2014](../src/5.2_baleful) -[Reverse 400 - Hack You 2014](../src/Reverse/5.2_reverse_400) -[wyvern 500 - CSAW CTF 2015](../src/Reverse/5.2_wyvern_500) -[rev100 - th3jackers CTF 2015](../src/5.2_th3jackers_100) +- [Baleful - picoCTF 2014](../src/Reverse/5.2_baleful) +- [Reverse 400 - Hack You 2014](../src/Reverse/5.2_reverse_400) +- [wyvern 500 - CSAW CTF 2015](../src/Reverse/5.2_wyvern_500) +- [rev100 - th3jackers CTF 2015](../src/Reverse/5.2_th3jackers_100) diff --git a/doc/5_advanced.md b/doc/5_advanced.md index 2624c72..4f2876a 100644 --- a/doc/5_advanced.md +++ b/doc/5_advanced.md @@ -1,3 +1,5 @@ # 第五章 高级篇 -- [5.1 Fuzz 测试](doc/5.1_fuzz.md) +- [5.1 Fuzz 测试](5.1_fuzz.md) +- [5.2 Pin 动态二进制插桩](5.2_pin.md) +- [5.3 angr 二进制自动化分析](5.3_angr.md) diff --git a/doc/6_appendix.md b/doc/6_appendix.md index 983165a..588c7ad 100644 --- a/doc/6_appendix.md +++ b/doc/6_appendix.md @@ -4,3 +4,4 @@ - [6.2 更多 Windows 工具](6.2_wintools.md) - [6.3 博客、文章和书籍](6.3_books&blogs.md) - [6.4 习题 write-up](6.4_writeup.md) +- [6.5 Linux x86-64 系统调用表](http://blog.rchapman.org/posts/Linux_System_Call_Table_for_x86_64/)