-Qfrost-

Qfrost真是个fw(

如何向LLVM提交代码

这几天给LLVM提了一些Commit,整一个提交过程非常复杂(因为其官方是不接受Github PullRequest的),review也十分严格。虽然LLVM官方给出的非常详细的开发者文档,但是,太长了,看着很复杂:LLVM Developer Policy 这里对整个PR过程做一个记录。 Patch生成因为并不是走LLVM官方的PullRequest,而是提交到LLVM自己的review平......

OLLVM 排坑优化

在写OLLVM的时候,经常会遇到各种坑点,这里就专门开一篇来记录一些自己遇到的、比较难处理的坑。本文动态更新。 复制基本块相关在Obf的时候经常要对块进行split和clone,这个过程的坑特别多 unmatched subprogram between llvm.dbg.value and !dbg在使用Debug模式编译程序,并对程序的一些基本块进行复制时,会出现此问题,报错来自于LLV......

Windows KVAS

因为一些任务需要,接触了Windows KVAS机制,并做了一些逆向分析,可以说是挺复杂的,这里非常感谢 @gmh5225 @kanren3 的帮助 什么是KVAS 内核虚拟地址影子(Kernel Virtual Address Shadow,由微软提出的一个术语,简称KVAS),类似于Linux上的KPTI(Kernel page-table isolation)内核页表隔离机制,即把进程......

ZJCTF 2022 Reverse WP

初赛 ManyCheck 第一个数是77 第二个和第三个数的平方要为3025和2401 第四个数高低16位交换后要为0x66744769 依次输入77 55 49 1198089844 后,得到flag ezpy python打包的exe,先用pyinstxtractor解包,将struct头16字节插入re头部修复pyc 这个pyc很邪门,加了花指令,使用uncompyle6去反......

OLLVM Pluto 之平坦化增强源码学习

学 (抄)了一手Pluto的平坦化增强(FlatteningEnhanced),不知道为啥Pluto的这份代码和其他的代码风格差异极大,代码可读性很差,看了好久才看明白是什么意思。 Pluto平坦化增强(FlatteningEnhanced)的核心思想是:自实现真实块的分发方式,使用树结构取代标准平坦化的switch进行分发。在构建平坦化之前,生成一颗不规则的随机的二叉树,其叶子节点数目等于......

OLLVM 之全局变量间接访问源码学习

我真的太懒了,半年前写的代码今天才翻出来写博客。 全局变量因为其所在的地址对于全局都是固定的,是否有一种可能,通过Pass将所有全局变量的地址进行加密,在访问时进行解密后访问,静态分析工具就难以对全局变量的访问进行识别,也无法进行直接的交叉引用分析。 尝试自己实现了一下,然后发现第一步就卡住了,因为全局变量、函数等符号的地址,只有在链接后才会确定,我们无法在Pass也就是代码优化阶段得到全局......

NepCTF2022 Qriver2.0出题思路

关于怎么出这道题其实想了很久,如何将我最近学习的东西和CTF联系起来,并出一道难度适中,考察面较广,且不恶心人的题。我个人比较反感CTF题中卷一堆乱七八糟很复杂的加密算法,所以这次题目的算法是非常简单并且是加解密同函数的,只要分析完程序逻辑就能马上解出该题而不用花大量时间在那里扣算法。但是又不希望题目被静态直接秒了,(比如去年NepCTF的Qriver是个Windows驱动+VM,直接有大师......

Ciscn 2022 Re&可信计算 WriteUp

作为一年一度的CTF“高考”,今年的高考应用题很迷惑,四道Web三道有非预期,Pwn一个签到一个LLVM(我不理解。Re两道阅读题眼睛快瞎了,第三道Rabit加密还可以被爆破。最迷惑的是可信计算,两道一模一样的题不知道是什么操作。 Reverse 这次高考,Reverse的应用题比重太高了,真的眼睛要瞎了 baby_tree 题目是一个.ast文件,打开看部分内容 1234567891011......

Windows下优雅使用LLVMPass

不建议在Windows下折腾LLVM(完 可以说 究极复杂 准备工作 如果想要在Windows下编译LLVM Pass需要Build好的LLVM完整项目bin与lib,和build后的include,同时需要源码的include目录。所以前面部分还是要按照 LLVM 编译与First Pass 编译得到LLVM。这里大家切记cmake要开启 LLVM_ENABLE_PLUGINS 选项,之......

腾讯游戏安全竞赛 2022 WriteUp

意外登顶(存 yyds 总得来说,这次比赛题目CTF比重较前两年大很多,但感觉区分度不高,特别是决赛的截图方案上,要么是大家都会的方法,要么是大家都不会的骚操作,不像去年百花齐放的各种外挂实现方案。(可能也正是因为这个才能让我这个半吊子CTFer以文档和提交时间偷冠成功 初赛 这里有一个画了flag的小程序,可好像出了点问题,flag丢失了,需要把它找回来。 题目: 样例: 要求: ......

浙ICP备19044916号-1