This commit is contained in:
firmianay 2017-08-12 00:24:19 +08:00
parent 6e61a3f025
commit d034ab3f83
2 changed files with 52 additions and 0 deletions

49
SUMMARY.md Normal file
View File

@ -0,0 +1,49 @@
# Summary
* [简介](README.md)
* [一、基础知识篇](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.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)
* [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)
* [二、工具篇](doc/2_tools.md)
* [2.1 VM](doc/2.1_vm.md)
* [2.1 gdb/peda](doc/2.2_gdb&peda.md)
* [2.2 ollydbg](doc/2.3_ollydbg.md)
* [2.3 windbg](doc/2.4_windbg.md)
* [2.4 radare2](doc/2.5_radare2.md)
* [2.5 IDA Pro](doc/2.6_idapro.md)
* [2.6 pwntools](doc/2.7_pwntools.md)
* [2.8 zio](doc/2.8_zio.md)
* [2.9 metasploit](doc/2.9_metasploit.md)
* [2.10 binwalk](doc/2.10_binwalk.md)
* [三、分类专题篇](doc/3_topics.md)
* [3.1 Reverse](doc/3.1_reverse.md)
* [3.2 Crypto](doc/3.2_crypto.md)
* [3.3 Pwn](doc/3.3_pwn.md)
* [3.4 Web](doc/3.4_web.md)
* [3.5 Misc](doc/3.5_misc.md)
* [3.6 Mobile](doc/3.6_mobile.md)
* [四、技巧篇](doc/4_tips.md)
* [4.1 AWD模式](doc/4.1_AWD.md)
* [4.2 Linux 命令行技巧](doc/4.2_Linux_terminal_tips.md)
* [五、高级篇](doc/5_advanced.md)
* [5.1 Fuzz 测试](doc/5.1_fuzz.md)
* [5.2 Pin 动态二进制插桩](doc/5.2_pin.md)
* [5.3 angr 二进制自动化分析](doc/5.3_angr.md)
* [六、附录](doc/6_appendix.md)
* [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.5 Linux x86*64 系统调用表](http://blog.rchapman.org/posts/Linux_System_Call_Table_for_x86_64/)

View File

@ -169,5 +169,8 @@ End of assembler dump.
## 堆与内存管理
#### 堆
堆是用于存放除了栈里的东西之外所有其他东西的内存区域,当使用 `malloc()``free()` 时就是在操作堆中的内存。对于堆来说,释放工作由程序员控制,容易产生 memory leak。
堆是向高地址扩展的数据结构,是不连续的内存区域。这是由于系统是用链表来存储的空闲内存地址的,而链表的遍历方向是由低地址向高地址。堆的大小受限于计算机系统中有效的虚拟内存。由此可见,堆获得的空间比较灵活,也比较大。
#### 进程堆管理