公司讓我找一個可以對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.mk的APP_ABI選項中去掉對應cpu版本即可,
可能是因為是免費版的緣故,還是可以看到關鍵指令,但是看起來還是很費勁的,插花是隨機的,每次編譯后都是不一樣的,接下來公司讓我開發一個so的殼,如果開發出來,公司用不上的話,我就發出來,用上了,我就不發了,因為我害怕被逆向。
?