Safengine Android so加密

本文介绍了一个可用于Android、嵌入式及Linux x86平台的SO库加密工具。通过使用特定工具链并修改JNI项目的配置,可以实现对SO库的加密保护。教程包括工具的下载链接及详细的使用步骤。

公司让我找一个可以对android,嵌入式和Linux x86平台的so库进行加密的工具,我看搞了两天这个工具,反正也没用上,就把教程发出来了

下载地址:http://www.safengine.com/mobile/download.html

 

使用方法:

我使用的ndk版本为r13b,以r13b举例

.se-llvm\prebuilt内含有的文件覆盖NDK安装目录toolchains\llvm\prebuilt,不要直接替换,那样会出错

 

1.JNI项目的Application.mk中增加NDK_TOOLCHAIN_VERSION := clang

2.(其中clang后的数字为ndk目录下toolchains文件夹中llvm文件夹所跟数值,如果文件夹名为llvm-3.6,则需增加NDK_TOOLCHAIN_VERSION := clang36)

 

2.根据需要在代码中增加SDK标记:

 (我用的是免费版)

    批量标记:

 

        #pragma obfuscate on/off 加密编译该区域中的所有函数(保留以上单独设定)

 

 

3.执行ndk-build编译(使用-B重新编译项目)

如出现cpu编译目标错误,则为ndk中没有对应cpu版本的工具链,在Application.mkAPP_ABI选项中去掉对应cpu版本即可,

可能是因为是免费版的缘故,还是可以看到关键指令,但是看起来还是很费劲的,插花是随机的,每次编译后都是不一样的,接下来公司让我开发一个so的壳,如果开发出来,公司用不上的话,我就发出来,用上了,我就不发了,因为我害怕被逆向。

 

转载于:https://www.cnblogs.com/HugoLester/p/6782056.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值