4、ollvm移植到ndk中

news/2025/3/31 11:03:00/

准备ndk:

android-ndk-r21b-linux-x86_64

 git checkout ollvm-Obfuscation

将编译好的ollvm中的bin include lib三个文件夹放到ndk中的android-ndk-r21b-linux-x86_64/android-ndk-r21b/toolchains/llvm/prebuilt/linux-x86_64目录中,进行替换

确认clang版本:默认是9.0.8,替换后是9.0.1,

然后在ubuntu环境中安装jdk,下载android studio,创建c++项目,修改cpp中的makefile文件,

增加add_definitions("-mllvm -fla"),再将函数变的复杂点 定义:

extern "C"
JNIEXPORT jstring JNICALL
Java_com_example_ollvm_1ndk_MainActivity_stringFromJNI2(JNIEnv *env, jobject thiz, jint type) {std::string hello = "Hello from C++";if(type == 2){hello = "Hello from kanxue";} else if(type == 3){hello = "Hello from perty";}else if(type == 4){hello = "Hello from nowind";}return env->NewStringUTF(hello.c_str());
}

执行gradle assemblerelease 命令

生成的so在:

home/nowind/AndroidStudioProjects/ollvm_ndk/app/build/intermediates/stripped_native_libs/release/out/lib/

然后使用ida逆向看下,确实增加了平坦化的混淆 我们再弄复杂点:

add_definitions("-mllvm -fla -mllvm -split -mllvm -split_num=3")

逆向出来看的时候就变得非常复杂了


http://www.ppmy.cn/news/1276010.html

相关文章

国产Apple Find My认证芯片哪里找,伦茨科技ST17H6x芯片可以帮到您

深圳市伦茨科技有限公司(以下简称“伦茨科技”)发布ST17H6x Soc平台。成为继Nordic之后全球第二家取得Apple Find My「查找」认证的芯片厂家,该平台提供可通过Apple Find My认证的Apple查找(Find My)功能集成解决方案。…

Java 数据结构篇-实现堆的核心方法与堆的应用(实现 TOP-K 问题:最小 k 个数)

🔥博客主页: 【小扳_-CSDN博客】 ❤感谢大家点赞👍收藏⭐评论✍ 文章目录 1.0 堆的说明 2.0 堆的成员变量及其构造方法 3.0 实现堆的核心方法 3.1 实现堆的核心方法 - 获取堆顶元素 peek() 3.2 实现堆的核心方法 - 下潜 down(int i) 3.3 实…

AWS S3相关配置笔记

关闭 阻止所有公开访问 存储桶策略(开放外部访问) {"Version": "2012-10-17","Id": "S3PolicyId1","Statement": [{"Sid": "statement1","Effect": "Allow","Principal"…

Ansible常用模块详解(附各模块应用实例和Ansible环境安装部署)

目录 一、ansible概述 1、简介 2、Ansible主要功能: 3、Ansible的另一个特点:所有模块都是幂等性 4、Ansible的优点: 5、Ansible的四大组件: 二、ansible环境部署: 1、环境: 2、安装ansible&#…

【C++】对象特性:无参有参构造函数,拷贝构造函数,析构函数

目录 对象的初始化和清理1.1 构造函数和析构函数1.2 构造函数的分类及调用1.3 拷贝构造函数调用时机1.4 构造函数调用规则1.5 深拷贝与浅拷贝 对象的初始化和清理 生活中我们买的电子产品都基本会有出厂设置,在某一天我们不用时候也会删除一些自己信息数据保证安全。…

手动实现 Vue 2 的简易双向数据绑定(模仿源码)

实现 Vue 2 的简易双向数据绑定 Vue.js 是一个流行的前端框架,它以其简单易用的双向数据绑定而闻名。在下面的文章中,我们将探索 Vue 2 如何通过其响应式系统实现双向数据绑定,并尝试手动实现一个简化版本。 核心概念 Vue 2 的双向数据绑定…

探秘 AJAX:让网页变得更智能的异步技术(下)

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…