多语言展示
当前在线:1114今日阅读:167今日分享:16

【几维安全】如何生成包含Bitcode的静态库?

iOS编译生成包含Bitcode的静态库,需要Xcode7及其以上版本。Android下的静态库由NDK编译生成,为了更好的稳定性,建议使用Android-Ndk-R10及其以上版本。
工具/原料
1

A PP 加 密

2

移 动应 用安 全,几 维安 全网 站

方法/步骤
1

一、iOS篇如果上传的静态库不包含Bitcode,加密后的静态库不存在任何安全效果!编译生成包含Bitcode的静态库,需要Xcode7及其以上版本1. 打开您的静态库项目,将Build Settings中'Enable Bitcode'设置为'Yes';

3

3. 点击Product菜单下的Clean按钮,清理完毕后点击Archive按钮开始执行编译;4. 执行成功后通过操作记录页面找到您的.a静态库,如下图

4

5. 确认静态库是否包含Bitcode,可执行 otool -l libDemo.a,通过Ctrl+F查找__bitcode的size是否大于1字节;如果没有或者为0x在表示不包含Bitcode代码,请检查操作步骤!

5

二、Android篇如果上传的静态库不包含Bitcode,加密后的静态库不存在任何安全效果!Android下的静态库由NDK编译生成,为了更好的稳定性,建议使用Android-Ndk-R10及其以上版本。1. 修改Application.mk文件,将NDK_TOOLCHAIN_VERSION指定为clang,如图1NDK_TOOLCHAIN_VERSION := clang

6

2. 修改Android.mk文件,在LOCAL_CFLAGS中添加 -emit-llvm 选项,如图2:O_LLVM :=-emit-llvm LOCAL_CFLAGS += $(O_LLVM) ( 注:如果是动态库,需修改为静态库: include $(BUILD_STATIC_LIBRARY))

7

3. 编译静态库项目在项目路径下执行$NDK/ndk-build命令($NDK为您的NDK路径),执行成功后,在libs目录下会生成包含Bitcode的静态库。4. 加密静态库将该静态库上传到静态库加密板块,完成加密保护。

注意事项

如果上传的静态库不包含Bitcode,加密后的静态库不存在任何安全效果!

推荐信息