论坛首页 逆向工程技术区 阅读主题

[原创]KCTF 2025 第九题 WriteUp - LLM 一血直解

398 浏览 0 回复
#1 楼主 2026-06-01 21:08:55
一道增加了分析障碍的算法题,LLM 一眼识破障眼法,告诉最终的核心内容,拿到算法代码后 LLM 又直接给出了解题代码,仅一小时十多分便完成解题拿下一血。其实我已经四五年没打过 CTF了,今年参与看雪 CTF 2025 就是想亲自感受下 LLM 对 CTF 比赛二进制方向解题的影响。可以看到 LLM 进步如此之快,现在靠算法给 CTF 逆向题目上强度与难度已经不容易了,这是出题人亟需面对和思考的问题。拖进反编译器发现不太对劲,查壳显示加了 Enigma Virtual Box 保护。随后让 LLM 进行分析字符串和导入表:Gemini 2.5 ProLLM 轻松地判断出来程序是 .NET 和 Python 混淆编程并经过打包的,Enigma Protector 壳的话,如果看防守方出题规则可以知道是不让用第三方保护加壳的,简单搜下 Enigma Virtual Box 看到出现解包字样,判断程序只是进行了打包操作。 搜索到 Python 解包工具 pyinstxtractor,解包出相关文件夹和文件,注意到关键文件 20250805Calc-pub.pyc,反编译内容为搜素到 Enigma Virtual Box 解包工具 evbunpack,解包出 dnlib.dll 和 htg_Crackme.exe,分析发现后者不能识别为 .NET 程序。稍加思索,决定换种方法试下,使用 dnspy 选择附加到进程,点击调试->窗口->模块找到 htg_Crackme.exe,选中右击从内存中打开模块,及保存模块,成功获取到可以直接分析的 .NET 代码逻辑。现在已经得到几乎接近源码的题目算法代码,剩下的交给 LLM 即可,先贴上 .NET 和 Python 混合编程的代码让其梳理分析下。Gemini 2.5 Pro逻辑一览无余,让其写出注册机代码。Gemini 2.5 Pro运行下发现结果和题目中给的对不上,提问反馈Gemini 2.5 Pro按回答所说初始值改为 0, 0, 1,得到了比题目所给 SN 多了一个 l 的结果,继续提问反馈:Gemini 2.5 Pro两轮修正后算是可以了,运行得到答案修正后求解代码如下:这一道ctf逆向题目的字符串、导入表内容,进行梳理分析

---
来源: 看雪论坛
原文链接: https://bbs.kanxue.com/thread-288339.htm

暂无回复,快来抢沙发吧!

请登录后参与讨论

立即登录 注册账号