mirror of
https://github.com/nganhkhoa/CTF-All-In-One.git
synced 2024-12-24 19:21:15 +07:00
update README
This commit is contained in:
parent
f66305c535
commit
9ee30786b8
@ -20,6 +20,8 @@
|
||||
├── pic
|
||||
│ ├── 1.3_byte_order.png
|
||||
│ └── 5.2_pin_arch.png
|
||||
├── ppt
|
||||
│ └── 01_fight-with-linux.pdf
|
||||
├── README.md
|
||||
├── src
|
||||
│ ├── Others
|
||||
@ -38,6 +40,7 @@
|
||||
- `doc`:该文件夹包含书全部内容的 Markdown 文件。(文字)
|
||||
- `pic`:该文件夹包含所有 Markdown 中引用的所有图片文件。(图片)
|
||||
- `src`:该文件夹包含书中示例和练习的二进制文件或源代码,分专题保存。(代码)
|
||||
- `ppt`:该文件夹包含以书为主要内容制作的 PPT。(分享)
|
||||
|
||||
#### 注意事项
|
||||
- 在开始编写某一个内容之前,请先在下面的表格里注明,以避免重复和冲突。如果是已经完成的章节,则可以直接进行修改。
|
||||
@ -47,6 +50,5 @@
|
||||
|
||||
|
||||
| 章节 | 作者 | 进度 |
|
||||
| ------------------ | --------- | ---- |
|
||||
| ------------------ | --------- | ------ |
|
||||
| 1.5.5_static_link | firmianay | 未完成 |
|
||||
| 1.6-Crypto/2.1-gdb | Skye | 未完成 |
|
||||
|
@ -62,6 +62,7 @@
|
||||
- [6.3 更多资源](doc/6.3_books&blogs.md)
|
||||
- [6.4 习题 write-up](doc/6.4_writeup.md)
|
||||
- [6.5 Linux x86-64 系统调用表](doc/6.5_syscall.md)
|
||||
- [6.6 PPT](doc/6.6_ppt.md)
|
||||
|
||||
|
||||
合作和贡献
|
||||
|
@ -58,3 +58,4 @@
|
||||
* [6.3 更多资源](doc/6.3_books&blogs.md)
|
||||
* [6.4 习题 write-up](doc/6.4_writeup.md)
|
||||
* [6.5 Linux x86-64 系统调用表](doc/6.5_syscall.md)
|
||||
* [6.6 PPT](doc/6.6_ppt.md)
|
||||
|
@ -487,8 +487,43 @@ continue
|
||||
#### rop
|
||||
|
||||
#### util
|
||||
`pwnlib.util.packing`, `pwnlib.util.cyclic`
|
||||
|
||||
util 其实是一些模块的集合,包含了一些实用的小工具。这里主要介绍两个,packing 和 cyclic。
|
||||
|
||||
packing 模块用于将整数打包和解包,它简化了标准库中的 `struct.pack` 和 `struct.unpack` 函数,同时增加了对任意宽度整数的支持。
|
||||
|
||||
使用 `p32`, `p64`, `u32`, `u64` 函数分别对 32 位和 64 位整数打包和解包,也可以使用 `pack()` 自己定义长度,另外添加参数 `endian` 和 `signed` 设置端序和是否带符号。
|
||||
```
|
||||
>>> p32(0xdeadbeef)
|
||||
'\xef\xbe\xad\xde'
|
||||
>>> p64(0xdeadbeef).encode('hex')
|
||||
'efbeadde00000000'
|
||||
>>> p32(0xdeadbeef, endian='big', sign='unsigned')
|
||||
'\xde\xad\xbe\xef'
|
||||
```
|
||||
```
|
||||
>>> u32('1234')
|
||||
875770417
|
||||
>>> u32('1234', endian='big', sign='signed')
|
||||
825373492
|
||||
>>> u32('\xef\xbe\xad\xde')
|
||||
3735928559
|
||||
```
|
||||
|
||||
cyclic 模块在缓冲区溢出中很有用,它帮助生成模式字符串,然后查找偏移,以确定返回地址。
|
||||
```
|
||||
>>> cyclic(20)
|
||||
'aaaabaaacaaadaaaeaaa'
|
||||
>>> cyclic_find(0x61616162)
|
||||
4
|
||||
```
|
||||
|
||||
|
||||
## Pwntools 在 CTF 中的运用
|
||||
可以在下面的仓库中找到大量使用 pwntools 的 write-up:
|
||||
[pwntools-write-ups](https://github.com/Gallopsled/pwntools-write-ups)
|
||||
|
||||
|
||||
## 参考资料
|
||||
- [docs.pwntools.com](https://docs.pwntools.com/en/stable/index.html)
|
||||
|
5
doc/6.6_ppt.md
Normal file
5
doc/6.6_ppt.md
Normal file
@ -0,0 +1,5 @@
|
||||
# PPT
|
||||
|
||||
这些是我在 XDSEC 做分享的 PPT,主要内容取自 CTF-All-In-One,可作为辅助学习。
|
||||
|
||||
- [01 Fight with Linux](../ppt/01_fight-with-linux.pdf)
|
@ -5,3 +5,4 @@
|
||||
- [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/)
|
||||
- [6.6 PPT](6.6_ppt.md)
|
||||
|
Loading…
Reference in New Issue
Block a user