iOS逆向 Reveal FLEXLoader 圖層結(jié)構(gòu)
提要
對(duì)于iOS逆向卫袒,在我們拿到解密后的可執(zhí)行文件后扣唱,我們研究的突破口其實(shí)就是界面的所在信息汞舱,畢竟在沒(méi)有任何的針對(duì)信息的情況下诸老,去在Hopper中看可執(zhí)行文件的數(shù)據(jù)隆夯,無(wú)異于大海撈針。所以這時(shí)候我們需要針對(duì)的信息,需要我們hook的控制器或是類名蹄衷,這樣接下來(lái)的研究就會(huì)有自己的方向了忧额。
準(zhǔn)備工作
- 越獄手機(jī)
- 在Cydia中安裝Reveal Loader
- 在Cydia中安裝FLEXLoader
Reveal
學(xué)iOS的童鞋都知道這個(gè)神器,不管我們?cè)谡蜻€是逆向開(kāi)發(fā)中都可以用到這個(gè)查看圖層信息的工具愧口,當(dāng)然在兩種情況的使用的方法是不一樣的睦番,這兒我主要介紹Reveal在逆向開(kāi)發(fā)中的使用方法。
在用這個(gè)工具的時(shí)候耍属,其實(shí)是踩了很大的坑的托嚣。
利用兩種方式的使用Reveal工具,在打開(kāi)需要逆向的APP后厚骗,提示The network connection was lost
至于這兩種方式:
打開(kāi)Reveal 示启,Reveal菜單->Help->Show Reveal Library in Finder ->iOS Library
方式一:
- 利用iFunBox,把Reveal.framework放進(jìn)手機(jī)的/System/Library/Frameworks/目錄下
- libReveal.dylib放進(jìn)手機(jī)的/Library/MobileSubstrate/DynamicLibraries/目錄下
在本地創(chuàng)建libReveal.plist,同樣放進(jìn)手機(jī)的/Library/MobileSubstrate/DynamicLibraries/目錄下
注意溯捆,這個(gè)plist文件的格式不能出錯(cuò)丑搔,不然killall SpringBoard命令后出現(xiàn)白蘋(píng)果厦瓢,至于他們的bundleid 提揍,直接到APP的目錄下看info.plist文件即可。
方式二:
推薦方式
/Library/RHRevealLoader煮仇,在手機(jī)的Library下建立RHRevealLoader文件夾劳跃,之后把libReveal.dylib放進(jìn)這個(gè)文件夾下。
在手機(jī)中的設(shè)置中找到Reveal->Enabled Applications->你需要的app
之后將mac和iOS設(shè)備中連接同一個(gè)局域網(wǎng)中浙垫,打開(kāi)APP后刨仑,在Reveal中查看圖層信息
當(dāng)然如果你也出現(xiàn)了Reveal中無(wú)法顯示問(wèn)題時(shí):
解決方法:這個(gè)是你的libReveal.dylib有問(wèn)題,這時(shí)候你需要換一個(gè)
github下的v2.0中的Reveal.dylib地址
這樣將新的libReveal.dylib在手機(jī)中替換原來(lái)的即可夹姥,當(dāng)然還有一種可能就是連接的局域網(wǎng)網(wǎng)速太差了杉武。
我們期待的結(jié)果是:
FLEXLoader
這個(gè)工具是在怎么安裝Reveal都安裝不了的情況下,去了解的一個(gè)可以看圖層的工具辙售,這個(gè)工具和Reveal不同的是不需要連接Mac電腦轻抱,只需要在Cydia中安裝并且在設(shè)置中開(kāi)啟需要的查看的圖層的APP。
可以看到這個(gè)工具可以查看APP的文件目錄旦部,整個(gè)APP的視圖構(gòu)架祈搜,當(dāng)前視圖的圖層結(jié)構(gòu),當(dāng)然還有很多功能等著你去發(fā)現(xiàn)士八。
這個(gè)是我們的目標(biāo)視圖的圖層結(jié)構(gòu)容燕。
這個(gè)是這個(gè)view的有哪些屬性的信息。
這樣通過(guò)圖層工具我們就比較快的找到我們需要研究的對(duì)象了婚度。