准备编译环境: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
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.