Android NDK UPX加固

準備編譯環境:android

一、zlib-1.2.8.tar.gz
二、ucl-1.03.tar.gz
三、lzma443.tar.bz2
四、upx-hg-d9e7cb4b5485.tar.gz  https://www.pysol.org:4443/hg/upx.hg

編譯UPX設置環境變量:
shell

export UPX_UCLDIR=/usr/local/android/upx/ucl-1.03
export UPX_ZLIBDIR=/usr/local/android/upx/zlib-1.2.8
export UPX_LZMADIR=/usr/local/android/upx/lzma
export UPX_LZMA_VERSION=0x443
export UPX_DIR=/usr/local/android/upx/upx-hg-d9e7cb4b5485

提示幾點:code

一、upx使用上面給的連接下載,這個版本修復了加固SO後沒法在手機上運行的錯誤get

二、編譯時提示找不到libz庫,須要在UPXDIR/src/MakeFile中添加編譯

INCLUDES += -I$(UPX_ZLIBDIR)
LIBS += $(addprefix -L,$(dir $(wildcard $(UPX_ZLIBDIR)/libz$(libext))))

最後在UPX根目錄使用make all編譯,編譯完成後會在src目錄下生成upx.outclass

準備JNI環境變量

使用編譯好的Upx.out將jni生成的.so文件加固後放入APK中便可在手機上運行起來。file

加固語法:下載

$./upx.out -f -o libjin_upx.so libjni.so
.....
packed 1 file.
相關文章
相關標籤/搜索