ios发包混淆教程
2017-12-21 本文已影响834人
江湖闹士
前言:拿了人家的项目作为马甲包来搞成自己的项目,修改完之后怕苹果审核查出来,怎么办。按步骤来吧?!
1、安装混淆工具
首先电脑上要安装homebrew,通过homebrew来安装wget
1、 cd /tmp
2、 wget https://gist.githubusercontent.com/turygo/038bb56910ee584797e63e494cb789dc/raw/37f90cab05cf14be692bb1bd641aecb1c72f237c/install.sh
3、 chmod a+x install.sh
4、 ./install.sh
如果没有安装,按下面方法安装
brew官网 https://brew.sh/index_zh-tw.html
1. brew安装:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
2. wget安装:
brew install wget
如果提示 Error: Xcode alone is not sufficient on Sierra.(下图)
则运行 xcode-select --install 下载那个东西
然后再 brew install wget
没有安装的提示.png
2、生成混淆文件 由于混淆需要首先获取应用的符号表,因此我们需要先打一个中间包,通过XCode Archive以后Export一个正式包
假设打出来的包名
prizeClaw.ipa
将这个包解压缩
屏幕快照 2017-12-21 14.56.21.png
将Payload文件夹拷贝到我们的工程目录下面
屏幕快照 2017-12-21 14.58.17.png
3、(切记) 在开始一切操作之前,由于我们的混淆操作会修改项目代码(混淆只是一种手段,将当前的项目内部类名换个名字上架,如果做过以下混淆操作后,项目代码是不能再正常迭代运行的),因此先将我们混淆前的工程代码都提交到git仓库上面保存起来。混淆过后的项目用于打包上架,从git上拉取保存的可运行的源码进行以后的迭代开发。确保以上操作后,我们开始混淆,打开终端,进入我们的工程目录,粘贴如下代码
ppios-rename --analyze Payload/prizeClaw.app/prizeClaw -F '!ZX*' -F '!ZY*' -F '!NIM*' -F '!IJK*' -F '!UM*' -F '!Bugly*' -F '!JQ*' -F '!GeTuiSdk*' -F '!QMTV*' -F '!MTA*' -x 'utime' -x 'tm' -x '_tm' -x 'SmAntiFraud' -x 'Growing' -x 'SmOption' -x 'WXApi' -x 'PayResp' -x 'PayReq' -x 'MobClick' -x 'AlipaySDK' -x 'getDeviceId' -x 'SSZipArchive' -x 'SDCycleScrollView' -x 'FCFileManager' -x 'SVProgressHUD' -x 'MJRefreshNormalHeader' -x 'handleUrl' -x 'BButon' -x 'setBExternEdge' -x 'AddressViewController' -x 'NewAddressViewController' -x 'BaseWebViewController' -x 'payOrder' -x 'fromScheme' -x 'processOrderWithPaymentResult' -x 'standbyCallback' -x 'y_Y' -x 'partnerId' -x 'sendReq' -x 'x_X'
将Payload/prizeClaw.app/prizeClaw改成你之前解压缩目录中的对应文件,比如你包名叫test.ipa,那么就改成Payload/test.app/test
运行这段代码
4、等上一步运行完成之后,粘贴如下代码
ppios-rename --obfuscate-sources
运行