ROP Emporium ARM x32
Challenge1_ret2win

1 | int __fastcall main(int argc, const char **argv, const char **envp) |
- stream: (FILE *):在很多反编译代码中,_bss_start 通常指向标准输出流 stdout。
- buf: 0 (即 NULL):表示不使用用户自定义的缓冲区。
- mode: 2 (即 _IONBF):这是关键点。2 代表 无缓冲 (No Buffering)。每当程序执行 puts 或 printf 时,数据会立即发送到终端或网络连接,而不会在内存中等待。
- size: 既然没有缓冲区,大小自然设为 0。

1 | int ret2win() |
EXP:
1 | from pwn import * |
汇编代码分析:
1 | .text:00010518 ; =============== S U B R O U T I N E ======================================= |
更新: 2026-05-07 19:57:09
原文: https://www.yuque.com/idcm/wnemg9/wbkyuinxaomtbc8n