在编译器的优化过程中,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...
「免杀对抗」利用LLVM解释器执行你的代码
原文首发在:奇安信攻防社区https://forum.butian.net/share/3743llvm工具链中的lli.exe可以执行中间bitcode文件,通过这一方法在目标环境执行代码,能...
LLVM IR 深入研究分析
题目领取 后台回复文件获取相关附件LLVM是C++编写的构架编译器的框架系统,可用于优化以任意程序语言编写的程序。LLVM IR可以理解为LLVM平台的汇编语言,所以官方也是以语言参考手册(L...
llvm实现防dump的字符串加密
有黑产进行突破so的加密算法,但是为了更加保护算法,不容易被分析人员看到加密参数在哪,可以增加一下定位难度,用llvm写了个字符串混淆,特此分享思路出来。 ⊙1.效果 ⊙2.整体思路 ⊙3.ndk 效...