一、 为什么要学习编译原理,使用LLVM?1.高级语言表示IDA Pro等工具可以将汇编代码反编译为高级语言表示,但这些表示通常仍然是汇编级别的,难以进行高级分析和修改。LLVM提供了更高级别的中间表...
「免杀对抗」怎样实现一个基础的shellcodeloader
在越来越多的攻防演练项目中,上线机器至C2(Command & Control)以及钓鱼打开内网入口点都需对其所使用的落地文件进行处理,因此免杀是这类项目中至关重要的一环。 目前...
NDK集成OLLVM模块流程记录
一 集成流程 具体的编译NDK的LLVM的流程可参考文章:编译NDK特定的LLVM版本的流程记录https://bbs.kanxue.com/thread-277727.htm 获取 ollvm 混淆...
第三章:Kaleidoscope LLVM IR的生成
⊙3.1第三章简介⊙3.2代码生成设置⊙3.3表达式代码生成⊙3.4功能代码生成⊙3.5程序的结束3.1 第三章 简介欢迎来到使用llvm实现语言的第三章,本章将展示使用第二章构建的抽象语法树转换为L...
当逆向和Unicorn碰撞!解决问题更轻松
逆向分析是一门深奥的学问,当你走进逆向的大门,学得越多,就会发现还有更多自己不懂的知识,等待去挖掘。当逆向和Unicorn碰撞,热门行业就此产生,掌握Unicorn高级逆向和反混淆,升职加薪不是梦!能...
基于 LLVM Optimization Pass 的堆栈欺骗和 Indirect Syscall
1. 概述llvm-yx-callobfuscator[1] 是一个 LLVM Pass Plugin,它作用于 IR Optimization 的阶段,识别并替换 API 调用的 IR,非侵入式的为...
每周蓝军技术推送(2024.1.13-1.19)
Web安全Scanme:基于GoPacket库的网络扫描器https://github.com/CyberRoute/scanmeDomainim:针对组织网络的快速域名扫描工具https://git...
在Windows平台使用VS2022的MSVC编译LLVM16
一 前言 联动一下隔壁帖子,本文章仅作为一个补充: 如何优雅的在 Windows 上使用 LLVM Pass 插件进行代码混淆https://bbs.kanxue.com/thread-272346....
让LLVM16在windows上再次优雅起来
一 前言 有许多文章介绍了可以在windows动态加载的pass插件的方式使用LLVM,但都是针对一些老版本的LLVM,譬如12、8等。本文以LLVM16进行动态编译适配VS2022 pro。 ...
PWN学习之LLVM入门
一、基本流程①找到runOnFunction函数时如何重写的,一般来说runOnFunction都会在函数表最下面,找PASS注册的名称,一般会在README文件中给出,若是没有给出,可通过对__cx...
SSA格式到底是个啥?
SSA在编译过程中的位置介绍编译领域的整体介绍。编译问题根本上说,是一个从一个语言转换为同等语义的另一个语言的过程。在计算机领域中,我们期望的是编程语言可以越来越符合人类的理解,而机器可理解可运行的是...
windows defender免杀十种方法3:改头换面
环境带有 Ubuntu Linux AMI 的 AWS EC2 作为攻击者 C2 服务器。带有 Windows Server 2019 AMI 的 AWS EC2 作为受害者机器。安装 Visual ...