自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

初涉iOS逆向工程:免越獄修改微信(外觀篇)

移動(dòng)開(kāi)發(fā)
偶然在網(wǎng)上看到了美化版的微信,而這些“分身版”、“美化版”的客戶端預(yù)留了大量高危接口,一不注意手機(jī)就會(huì)中招,于是生出了自己搗鼓的念頭。剛開(kāi)始的時(shí)候什么都不懂,做了一大堆無(wú)用功,寫(xiě)下來(lái)避免更多人重蹈覆轍。

美國(guó)學(xué)者埃德加·戴爾(Edgar Dale)1946年提出了“學(xué)習(xí)金字塔”(Cone of Learning)的理論。他提到:學(xué)習(xí)效果在50%以上的,都是主動(dòng)學(xué)習(xí)包括討論、實(shí)踐和講授。我希望能通過(guò)做筆記的方式,鞏固自己學(xué)過(guò)的知識(shí),以及分享這些知識(shí)給其他對(duì)此感興趣的人。

前言

微信成立七年多了,主界面也一直沒(méi)有變過(guò),和剛推出一樣的簡(jiǎn)潔,純粹。 但是看久了這個(gè)唯一的主題,總會(huì)有一些眼膩。偶然在網(wǎng)上看到了美化版的微信,而這些“分身版”、“美化版”的客戶端預(yù)留了大量高危接口,一不注意手機(jī)就會(huì)中招,于是生出了自己搗鼓的念頭。剛開(kāi)始的時(shí)候什么都不懂,做了一大堆無(wú)用功,寫(xiě)下來(lái)避免更多人重蹈覆轍。

iMazing導(dǎo)入(失敗)

  • 之前在Mac上用iMazing改過(guò)幾個(gè)小游戲的數(shù)據(jù),所以我先試著從iMazing導(dǎo)出,結(jié)果發(fā)現(xiàn)導(dǎo)出的.imazingapp文件只有幾份簡(jiǎn)單的數(shù)據(jù)(猜測(cè)是沒(méi)受簽名保護(hù)的文件),根本沒(méi)有能修改的東西,心態(tài)崩了。

PP/愛(ài)思助手導(dǎo)入(失敗)

  • 這是網(wǎng)上出現(xiàn)最多的方法,在PP助手上下載正版ipa,提取其中的文件,發(fā)現(xiàn)朋友圈的顏色在其根目錄下的color.css文件中。直接用記事本打開(kāi)隨便修改幾個(gè)RGB顏色,保存。導(dǎo)入到手機(jī)時(shí)出現(xiàn)驗(yàn)證失敗的提示,很明顯是簽名的問(wèn)題。網(wǎng)上對(duì)這個(gè)問(wèn)題的說(shuō)法不一,個(gè)人覺(jué)得是版本的問(wèn)題 。到這篇文章完成之前iOS 11.2 仍然不能越獄,第三方助手工具也沒(méi)有找到此版本對(duì)應(yīng)的漏洞,所以不支持導(dǎo)入修改過(guò)的ipa,心態(tài)繼續(xù)崩。

IPAPatch導(dǎo)入(成功)

此方法涉及到了精彩的iOS逆向工程,感謝Naituw大神帶我打開(kāi)了新世界的大門(mén)。

IPAPatch是什么?

GitHub用戶Naituw表示之前開(kāi)源的關(guān)閉 Facebook for iOS 的 HTTPS 證書(shū)校驗(yàn)的方法操作太過(guò)繁瑣,為了進(jìn)一步簡(jiǎn)化調(diào)試、驗(yàn)證操作,研發(fā)了IPAPatch,它可以提供一個(gè)簡(jiǎn)單的方法來(lái)修補(bǔ)iOS應(yīng)用程序,且不需要越獄。

IPAPatch 可以做什么呢?

和 "HackingFacebook" 類(lèi)似,"IPAPatch" 主要可以在第三方的 IPA 文件上 "添加" 自己的代碼,但過(guò)程有很大不同:

大神Github:https://github.com/Naituw/

開(kāi)整

一 . 最終效果展示 

初涉iOS逆向工程:免越獄修改微信(外觀篇)

聊天界面

初涉iOS逆向工程:免越獄修改微信(外觀篇)

發(fā)現(xiàn)界面

初涉iOS逆向工程:免越獄修改微信(外觀篇) 
我的界面

初涉iOS逆向工程:免越獄修改微信(外觀篇)

朋友圈界面

 

二 . 需要準(zhǔn)備的工具及設(shè)備

  • 清醒的頭腦
  • 開(kāi)發(fā)者賬號(hào)(或證書(shū))
  • Macbook
  • Xcode for mac
  • Reveal for mac
  • PlistEdit Pro for mac

三 . 具體實(shí)現(xiàn)步驟

1.下載開(kāi)源項(xiàng)目IPAPatch,下載地址:百度網(wǎng)盤(pán) 密碼: wu1m;

2.打開(kāi)Reveal,依次點(diǎn)擊菜單欄 Help → Show Reveal Library in Finder → iOS Library , 在iOS Library里拿到集成文件RevealServer.framework,并將此集成文件移動(dòng)到IPAPatch/Assets/Frameworks文件夾里;

初涉iOS逆向工程:免越獄修改微信(外觀篇)

初涉iOS逆向工程:免越獄修改微信(外觀篇)

3.準(zhǔn)備一個(gè)解密過(guò)的 微信.ipa 文件。可以自行砸殼,因?yàn)樯磉厸](méi)有越獄的手機(jī),所以我是在PP助手下載的越獄版。放上已破殼6.6.6版本:百度網(wǎng)盤(pán)https://pan.baidu.com/share/init?surl=zP4MlvUfLkVXwgFGqcRZtA 密碼: ipyj;

4.修改文件并保存;

5.將 微信.ipa 重命名為 app.ipa,替換文件夾IPAPatch/Assets里的模板文件app.ipa;

初涉iOS逆向工程:免越獄修改微信(外觀篇)

6.打開(kāi)IPAPatch.xcodeproj文件,點(diǎn)擊左上角項(xiàng)目欄的三角形感嘆號(hào)移動(dòng)界面至Show the Issue navigator,再點(diǎn)擊進(jìn)入左側(cè) IPAPatch-DummyApp 標(biāo)簽,在右邊的詳細(xì)信息里配置Bundle Identifier和開(kāi)發(fā)者證書(shū)。其中Display Name更改后會(huì)作為前綴添加到更改后的App上;

初涉iOS逆向工程:免越獄修改微信(外觀篇)

7.連接iPhone,趁電腦不注意,迅速點(diǎn)擊左上角的運(yùn)行按鈕,稍等片刻,將自動(dòng)將此App安裝到手機(jī)上;

  • 上面的操作其實(shí)很簡(jiǎn)單,關(guān)鍵性的編譯、執(zhí)行以及注入步驟都已經(jīng)由大神寫(xiě)進(jìn)了patch.sh的腳本里,編譯運(yùn)行時(shí),所有操作都是全自動(dòng)完成的。
  • Build Succeed后,激起了我修改更多數(shù)據(jù)的興趣,剛好又在網(wǎng)上找到了另一個(gè)大神制作的一大堆iOS主題包。
  • 隨便下載一個(gè)主題替換包,能替換的東西基本上已經(jīng)全部包含在里面了。解壓后將要替換的文件拖入之前的app.ipa里,等待文件替換完成。

再重復(fù)第七步即可。

簡(jiǎn)單介紹一下部分替換文件,有待繼續(xù)挖掘

  • app.ipa/AppIcon**x**@*x.png:微信圖標(biāo),目前更改后手機(jī)桌面仍然顯示原圖標(biāo),原因不詳
  • app.ipa/Expression_**@2x.png :老掉牙的表情

初涉iOS逆向工程:免越獄修改微信(外觀篇)

  • app.ipa/zh_CN.lproj/InfoPlist.strings :包含微信的名稱(chēng)、以及發(fā)現(xiàn)頁(yè)的幾項(xiàng)文字(朋友圈、掃一掃)

初涉iOS逆向工程:免越獄修改微信(外觀篇)

  • app.ipa/zh_CN.lproj/mm.strings:大部分文字選項(xiàng)都在這個(gè)文件里,都可以修改,隨便修改了兩項(xiàng)

初涉iOS逆向工程:免越獄修改微信(外觀篇)

  • app.ipa/Assets.car:大多數(shù)圖標(biāo)文件集成在這個(gè)文件里
  • app.ipa/in.caf :消息鈴聲

四.遇到的幾項(xiàng)問(wèn)題以及注意事項(xiàng)

  1. 個(gè)人描述證書(shū)只有七天的期限,七天后需要重新安裝。
  2. 用自己證書(shū)安裝的微信不支持Safiri瀏覽器上的網(wǎng)頁(yè)分享,應(yīng)該是未上架App store客戶端的通病。
  3. 有時(shí)候不推送通知,或只通知一次,原因不詳。
  4. 解壓后的IPAPatch文件只能用Xcode運(yùn)行一次,第二次運(yùn)行會(huì)出現(xiàn)“apple match-o linker error”,此問(wèn)題還沒(méi)有找到解決辦法,望各路大神指點(diǎn)一二。
  5. 第一次進(jìn)入微信或者結(jié)束進(jìn)程后再打開(kāi)微信會(huì)有hock成功的提示。此提示可以在IPAPatchEntry.mm文件里更改(alertControllerWithTitle;message;alertControlleraddAction;)。 

初涉iOS逆向工程:免越獄修改微信(外觀篇)
貼上代碼

初涉iOS逆向工程:免越獄修改微信(外觀篇)
hook成功的標(biāo)簽

總結(jié)

這篇文章只記錄了如何修改App的外觀,其他的例如防撤回、自動(dòng)搶紅包以及隱藏小紅點(diǎn)等功能性模塊涉及到了更多Objective-C方面的知識(shí),本人剛接觸OC,尚未弄懂其深邃的語(yǔ)法,在接下來(lái)的日子里我會(huì)繼續(xù)向深層次探索。

 

責(zé)任編輯:未麗燕 來(lái)源: 簡(jiǎn)書(shū)
相關(guān)推薦

2018-06-26 15:15:48

2018-02-06 10:46:53

2011-06-08 12:42:08

Android 藍(lán)牙

2009-12-09 10:41:19

配置靜態(tài)路由

2011-09-19 13:03:02

2017-07-28 09:30:55

2018-07-23 15:50:43

iOS越獄蘋(píng)果

2013-12-17 10:02:30

越獄iOS7

2013-08-08 10:13:25

微信

2013-03-18 15:42:47

HTML5手機(jī)游戲微信

2020-06-17 12:14:24

iOS版微信微信名修改

2014-12-02 09:58:00

2012-12-18 14:13:13

2016-01-05 15:20:02

Reverse逆向工具逆向工程

2017-08-21 15:54:47

IOS越獄工具

2022-07-03 10:43:23

JS逆向破解

2021-04-08 09:27:36

微信iOS騰訊

2017-12-15 08:32:31

微信流量QQ

2015-10-09 10:35:08

2021-07-27 12:19:42

微信用戶注冊(cè)騰訊
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)