PE结构体
可以参考 这篇博客
AE64
AE64 AE64 is a tool which can transform any amd64 architecture shellcode into pure alphanumeric shellcode using self-modify code technology, so the page need to be writable.
Install git clone https://github.com/veritas501/ae64.git --depth 1 cd ae64 sudo python3 setup.py install Usage For usage example, you can see example folder.
Quickstart from ae64 import AE64 from pwn import * context.arch='amd64' # get bytes format shellcode shellcode = asm(shellcraft.sh()) # get alphanumeric shellcode enc_shellcode = AE64().
arm pwn基础知识
all in one arm ret2csu 参考博客 arm汇编学习 arm汇编学习 调试 #类似用gdbserver启动运行这个二进制文件 binary_path = "/home/zp9080/PWN/pwn" qemu_bin = 'qemu-aarch64' # Ensure this is installed p = process([qemu_bin,'-L','/usr/aarch64-linux-gnu/','-g', '1234', binary_path]) # p = process([qemu_bin, '-L','/usr/aarch64-linux-gnu/',
arm pwn例题
以xyctf2024 EZ2.0?为例题,主要记录一下做题过程 发现pwntools的gdb.debug功能非常强大,可以很方便的调试 第一步看静
basic
[TOC] 写入的字节数 但是写入4字节,也就是32位一般会太大不让写,所以一般都写入2字节 %n的理解 要利用%k$n这个特性,%n的特性:不输出字符,但
basic skills
[TOC] 各个bin的大小 以下皆为chunk的大小: fastbin:0x20-0x80 smallbin:<=0x3f0 largebin:>=0x400 tcache:0x20-0x410 unlink unlink 的目的是把一个双向链表中的空闲块拿出来(例如 free 时和目前物理相邻的 free chunk 进行合并)比如当
basic_shellcode
[TOC] 注意架构 通常情况下,pwntools 会根据您的操作系统和系统架构来自动选择合适的默认架构。如果您在64位操作系统上运行 pwntools,它