Categories · 9 entries
帮曾经的校队一起看的,一道简单题 DIE 查壳,有 UPX 壳,没有魔改对抗,直接 upx -d 静态链接,需要还原一下 libc 符号,可以看到还有一大堆没有识别的,推测还静态链接了别的库 主函数有一点平坦化和 data 解密的内容,可以使用调试来 dump 这些数据,在 puts 下断点 可以看到比较关键的数据是 …
a pseudorandom dog 2025-12-28
ezelf Drink the tea and go to find the fish!! ollvm 平坦化过的控制流 使用 deflat 去平坦化 首先要过一个魔改过的 xxtea,这里的明文是密钥 DASCTF{dr1nk_te@_4nd_cont1nu3..} 然后过一个魔改过得 blowfish,粗略看了下用 …
a pseudorandom dog 2024-11-07
maze 静态链接,先恢复符号 readelf -p .comment Maze GCC: (Debian 10.2.1-6) 10.2.1 20210110 首先程序用 freopen 将文件重定向到 STDIN 然后所有的 scanf 就是从文件读取内容而不是终端了 走迷宫的代码,迷宫大小是 201x201 要求是 …
a pseudorandom dog 2023-08-27
controlflow 这个程序的控制流好像有点奇怪 可以通过识别 push ebp 来确定真实的函数的位置 设置函数起始处跳过这些插入的代码块并勾选 BP-Based Frame 可以成功 F5 每个小函数上下断点可以找到执行的顺序如下 main -> func3 -> func5 -> func6 …
a pseudorandom dog 2023-07-31
大部分比较水,有几题有点价值,所以贴一下 volcano Inspired by recent "traumatic" events. nc amt.rs 31010 过关要求输入 b, v, p 使得: b % 22890 == 18476 17 <= binary_ones(v) <= …
a pseudorandom dog 2023-07-21
d3sky Beautiful sky~ main 函数很简单,sub_401190 是 RC4 数据的位宽是两字节,XOR 时只解密最低字节 每次调用加密函数 i 和 j 都会重新设置,但 sbox 的状态是继承的 对 sbox 做交叉引用可以找到一个 TLS 回调函数 sub_401050 该函数里引用了 RC4 …
a pseudorandom dog 2023-05-22
Traditions 假随机,种子 0x7E6 import ctypes libc = ctypes.CDLL("libc.so.6") libc.srand(0x7E6) stream = [libc.rand() for i in range(47)] Oldschool You'll …
a pseudorandom dog 2022-10-12
main 函数反编译失败,原因是撞到了 __stack_chk_fail,而这个函数是 __noreturn 的 但是调试可以发现,__stack_chk_fail 的 got 项被劫持为 sub_403608,这个函数就是异或 0xdeadbeef 补丁打法:mov eax, xxx; xor eax, …
a pseudorandom dog 2022-10-01
TagAlong 执行后提示: something is tagging along this PE file... 47 根据提示 flag 应该藏在 PE 文件里面,用 ResourceHacker 打开之 这里面有很多 0x47,而一般来说一个二进制里最多的是 0,将这一整段 XOR 0x47 得到 flag …
a pseudorandom dog 2022-04-11