Post List
VNCTF2026出题笔记
# VNCTF2026 出题笔记
很高兴能在 VNCTF2026 与大家见面,希望大家都能够玩的开心,有所收获
Ciallo~(∠・ω< )⌒★
# delicious obf
打开程序后根据字符串定位到主要函数,根据功能重命名函数
其中 check 函数就是主要的 flag 验证函数,但是点进去会发现函数反编译不成功
这里其实是对程序进行了混淆
# 混淆分析
原始程序部分汇编如下
1234567891011121314151617181920212223242526272829303132333435_Z11check_debugv: push rbp mov rbp,...
more...
2025 鹏程杯 逆向 wp
# 2025 鹏程杯 逆向 wp
前两天复习课内考试一直没怎么打 ctf,赛中只解了两道,最近考完试以后又把剩下的题做完了(除了驱动),题目质量还是非常不错的,值得一做
# MoreMoreFlower
花指令 + vm,非常常规且老套的题
反编译看到 vm 不全,转汇编
经典 call + retn 花,写了一个简单 idc 脚本去除
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849#include <idc.idc>static...
more...
Mini vnctf Crackme Wirteup
# Mini vnctf Crackme Wirteup
反调试在 ctf 中是非常常见且基础的技术,作为招新赛的考点不会太难,单出又不是很有意思,所以把它和 hook 结合起来出题,不知道大家有没有玩的开心~
那让我们开始吧!
# 程序分析
shift + f12 查找字符串定位,根据函数功能重命名出 printf 、 scanf 函数
发现逻辑非常简单,将输入的数据与 0x14 异或后再加 0x10,最后和密文比较
解密后发现这是一个 fake...
more...
2025N1CTF 逆向wp
# 2025N1CTF 逆向 wp
www 赛中解出两道,赛后一道,总体难度还是适中的_
# n1vm
程序接收四个输入,其中 sub_140001360 是主要加密函数,打开发现进行了轻微混淆
这个 lea + push + retn 明显是一个模拟 jmp 的操作,可以写 idc 脚本匹配特征然后计算偏移 patch 成 jmp,去除后可以成功反编译,但是伪代码非常难看,可以发现另一种混淆
123456789101112131415.text:0000000140001CBD mov r11, [r8+18h].text:0000000140001CC1 test r11,...
more...
香山杯 - Nesting - 复现
# 香山杯 - Nesting - 复现
main 里两个函数,一个初始化数据,另一个是 vm 主程序,定义 vmdata 结构体如下
12345678910111213struct vmdata{ uint8_t mem[3072]; uint64_t consts[71]; uint16_t padding[228]; uint16_t stack[256]; uint16_t index; uint16_t ptr; uint16_t res; uint16_t _rsp; uint16_t unk2; uint16_t...
more...
2025羊城杯逆向wp
# 2025 羊城杯逆向 wp
新博客,随便水一篇先
# GD1
这个图标一眼 godot 逆向,使用 gdre_tools 工具进行解包,一般来说,里面的一些数据可能是被加密过的,但这个题没有,直接就能打开
godot 的源代码语言以.gd 文件结尾,gd 文件编译后会变成 gdc,而 remap 文件是用来资源重映射的,一个 main.gd.remap 就应该指向 main.gdc 文件
分析 main.gdc,发现当 socre 到达 7906...
more...




