SATool来自于ciscn2021初赛。分析处理逻辑比起yakagame根本不能看,yakagame至少还能勉强看明白,这个程序完全就是一坨,在里面摸了几个字符串如下:B4ckDo0rsavetak...
底层虚拟机LLVM PASS插入花指令研究
使用LLVM(Low Level Virtual Machine) PASS可以通过编译器后端自动插入花指令, 而不需要手动在源代码里内联汇编。1. 花指令简介简单来说就是一块无意义的汇编指令, 用于...
免杀之LLVM PASS入门: hello world
前言五一本来想出去玩的,但是人太多了,所以来研究一下llvm pass,不得不说,这玩意是真的方便,之前写壳花了大力气都在函数识别,全局变量识别,重定位 等等上了,而pass用来做各种代码层面的事情正...
llvm进阶(2)LowerSwitch(Switch 到 Branch 的奥秘)
在编译器的优化过程中,Switch`指令的处理是一个既经典又充满挑战的问题。Switch`作为一种高效的多路分支结构,广泛存在于高级语言的代码中,但在底层实现中,不同硬件平台对 Switch`指令的支...
llvm进阶(1)SplitAllCriticalEdges(关键边切割的艺术)
在现代编译器中,控制流是优化的关键环节之一。LLVM(Low Level Virtual Machine)作为一个强大的编译器框架,提供了多种工具来优化代码。其中,SplitAllCriticalEd...
eBPF编程指北
—1 —开发环境这里以 Ubuntu 20.04 为例构建 eBPF 开发环境:$ uname -aLinux VM-1-3-ubuntu 5.4.0-42-generic #46-Ubuntu SM...
Unicorn高级逆向与反混淆
逆向分析是一门深奥的学问,当你走进逆向的大门,学得越多,就会发现还有更多自己不懂的知识,等待去挖掘。当逆向和Unicorn碰撞,热门行业就此产生,掌握Unicorn高级逆向和反混淆,升职加薪不是梦!能...
基于 LLVM 的虚拟化二进制文件去混淆
LLVM-powered deobfuscation of virtualized binaries这项工作是在 Thalium 进行的实习期间完成的,主题是虚拟化二进制文件的去混淆。背景混淆是故意使...
LLVM Pass转储类或结构的内存布局
创建: 2024-12-01 19:55目录: ☆ 背景介绍 ☆ dumpclass.cpp ☆ dumptarget.cpp ☆ 用dumpclass.so处理dumptar...
eBPF(一)—— eBPF介绍&内核编译
eBPF(一)—— eBPF介绍&内核编译目录○ eBPF介绍○ eBPF基础 ◇ 代码验证 ◇ 即时编译○ eBPF开发工具 ◇ BCC ◇ bpftrace ...
2023CISCN—华中赛区 pwn 题解
一llvm之前写过几篇llvm的分析和题解,感觉这次ciscn还得出llvm,不过这个llvm相对之前的还是比较简单的,漏洞点也是白给,利用也较为简单。(这里我用的是ubuntu20。)程序分析先简单...
将 OLLVM 从 LLVM4 移植到 LLVM16
本文介绍了将OLLVM从官方的LLVM4分支移植到最新的LLVM16,包含LLVM API更新和OLLVM的BUG修复。完整源码我不想知道怎么适配的,给我源码!这是GitHub链接:https://g...