iOS逆向工程

iOS 使用openssl 生成静态包

2016-07-14  本文已影响141人  居然是村长

搞了也有大半天,赶紧记录下,免得再坑。

下载源文件

注:建议使用tag里面较新的正常版本,我这里用的是 OpenSSL_1_0_2
https://github.com/openssl/openssl

cd /Users/juyiwei/Desktop/openssl-OpenSSL_1_0_2 
mkdir openssl_arm64 openssl_armv7 openssl_armv7s openssl_i386

循环使用:

./configure BSD-generic32 --openssldir=/Users/juyiwei/Desktop/openssl-OpenSSL_1_0_2/openssl_arm64
./configure BSD-generic32 --openssldir=/Users/juyiwei/Desktop/openssl-OpenSSL_1_0_2/openssl_armv7
./configure BSD-generic32 --openssldir=/Users/juyiwei/Desktop/openssl-OpenSSL_1_0_2/openssl_armv7s
./configure BSD-generic32 --openssldir=/Users/juyiwei/Desktop/openssl-OpenSSL_1_0_2/openssl_i386

// 成功提示 make[1]: Nothing to be done for `generate'.
替换文件中的 CC=gcc:将 gcc 替换成 
/Applications/Xcode.app/Contents/Developer/usr/bin/gcc -arch arm64
/Applications/Xcode.app/Contents/Developer/usr/bin/gcc -arch armv7
/Applications/Xcode.app/Contents/Developer/usr/bin/gcc -arch armv7s
/Applications/Xcode.app/Contents/Developer/usr/bin/gcc -arch i386
注:是自己本地电脑的 gcc,并且附带指定指令集
// 模拟器版本
-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk

// 真机版本
-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk 
make
// 编译成功会提示 make[1]: Nothing to be done for `all'.

make install
// 编译成功之后,在之前创建的 arm64 文件夹下生成完整的文件(lib中有2个.a文件,include中包含头文件)
// 建议将arm64 文件夹整体拖走

make clean
// 清空编译内容,在开始循环内容编译 armv7,armv7s,i386

生成了多套数据包,可以合并.a,导入工程使用

同时导入 openssl 头文件
Enable Bitcode ->NO
header Search -> $(inherited) $(PROJECT_DIR)/productName

上一篇下一篇

猜你喜欢

热点阅读