2026-04-19

发布于 

OLLVM 指令替换与分割基本块

前言 在之前的文章中我们介绍了 OLLVM 控制流平坦化的原理与实现。除了控制流平坦化之外,OLLVM 还提供了两个同样重要的混淆 Pass:指令替换(Instruction Substitution,-sub)和分割基本块(Block Splitting,-spl)。这两个 Pass 的核心目标各不相同——前者让每条指令变得"面目全非",后者让代码结构变得"...

发布于 Android 逆向

2026-04-19

发布于 

LLVM 简介和移植过程

OLLVM 简介 OLLVM(Obfuscator-LLVM)是一个增强LLVM编译器安全性的项目。它为LLVM添加了多种代码混淆的技术,比如控制流平坦化、指令替换和伪造控制流等,用来提高生成的二进制文件的复杂性。这使得分析和理解软件逻辑更加困难,从而保护应用程序不易被恶意用户攻击和逆向。 OLLVM的移植过程指的是将OLLVM集成到现有的开发流程中,使得你可以使用OLLVM提供的混淆功能...

发布于 Android 逆向

2026-04-19

发布于 

ROS 机器人仿真系统配置

效果 系统环境 Ubuntu 20.04 安装ROS Noetic版 配置Ubuntu软件库: sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list&#...

发布于 ROS

固件源码研究(UEFI固件&EDK II)

在 UEFI 固件和设备引导流程中,EDK II(EFI Development Kit II)是一个开源的UEFI固件开发环境,通常用于开发UEFI应用、驱动和固件。EDK II提供了一个标准的固件开发框架,支持多种处理器架构,包括x86、x64、ARM等。 DisplayImageFv.inc 这个文件路径看起来是一个特定于硬件,可能是基于高通平台的 SoC(System on Chip...

发布于 ROS

Android基于自然语言模型生成交流模型

步骤 收集和清洗数据 收集数据:您可以通过爬虫、问卷调查、社交媒体等方式来收集文本数据。 清洗数据:清洗数据是为了去除一些不必要的信息、过滤掉噪声数据等。常见的清洗方法包括去除HTML标签、去除停用词、去除重复数据等。 建立词汇表 将文本转化为数字:使用分词器对文本进行分词,并将每个单词表示成唯一的数字编码。 建立词汇表:建立一个词汇表,存储所有单词和它们对应的数字编码。 ...

发布于 Android开发

顺序

Android高级逆向 - 学习顺序如下 05 彻底搞懂 OLLVM: 因为OLLVM(Obfuscator-LLVM)涉及底层编译技术和高级代码混淆技术,这对于增强逆向安全性非常重要。通过理解和移植OLLVM,您能更好地分析和逆向混淆后的代码,这对提升逆向分析技能至关重要。 06 高级调试之 VMP: VMP(Virtual Machine Protection)是一种先进的代码保...

发布于 Android 逆向

ARM 可执行程序的生成过程,ARM汇编寻址、汇编指令、汇编开发

发布于 Android 逆向
11112131415