ios發(fā)包混淆教程

前言:拿了人家的項(xiàng)目作為馬甲包來(lái)搞成自己的項(xiàng)目,修改完之后怕蘋(píng)果審核查出來(lái),怎么辦。按步驟來(lái)吧?!

1、安裝混淆工具

首先電腦上要安裝homebrew,通過(guò)homebrew來(lái)安裝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

如果沒(méi)有安裝,按下面方法安裝
brew官網(wǎng)  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.(下圖)
則運(yùn)行 xcode-select --install  下載那個(gè)東西
然后再 brew install wget

沒(méi)有安裝的提示.png

2、生成混淆文件 由于混淆需要首先獲取應(yīng)用的符號(hào)表,因此我們需要先打一個(gè)中間包,通過(guò)XCode Archive以后Export一個(gè)正式包

假設(shè)打出來(lái)的包名
prizeClaw.ipa

將這個(gè)包解壓縮


屏幕快照 2017-12-21 14.56.21.png

將Payload文件夾拷貝到我們的工程目錄下面


屏幕快照 2017-12-21 14.58.17.png

3、(切記) 在開(kāi)始一切操作之前,由于我們的混淆操作會(huì)修改項(xiàng)目代碼(混淆只是一種手段,將當(dāng)前的項(xiàng)目?jī)?nèi)部類名換個(gè)名字上架,如果做過(guò)以下混淆操作后,項(xiàng)目代碼是不能再正常迭代運(yùn)行的),因此先將我們混淆前的工程代碼都提交到git倉(cāng)庫(kù)上面保存起來(lái)?;煜^(guò)后的項(xiàng)目用于打包上架,從git上拉取保存的可運(yùn)行的源碼進(jìn)行以后的迭代開(kāi)發(fā)。確保以上操作后,我們開(kāi)始混淆,打開(kāi)終端,進(jìn)入我們的工程目錄,粘貼如下代碼

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改成你之前解壓縮目錄中的對(duì)應(yīng)文件,比如你包名叫test.ipa,那么就改成Payload/test.app/test

運(yùn)行這段代碼

如果出現(xiàn)zsh: command not found: ppios-rename這種問(wèn)題
打開(kāi) .bash_profile.zshrc,在里面添加ppios-rename的路徑export PATH="$PATH":"/private/tmp/PPiOS-Rename-v1.2.0/"source .zshrc source ~/.bash_profile

ppios-rename路徑

.bash_profile 路徑

.zshrc 路徑

4、等上一步運(yùn)行完成之后,粘貼如下代碼

ppios-rename --obfuscate-sources

運(yùn)行

5、混淆完畢以后,進(jìn)行打包、流程跟之前打包一樣,然后導(dǎo)出的ipa就是混淆以后的ipa了,可以用來(lái)提交App Store

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容