iOS逆向初探工具集應(yīng)用簡介

在今年春季裝了一回 微信的搶紅包插件,也夠裝了一回牛X了,總結(jié)下插件在iOS在實現(xiàn)越獄手機(jī)里實現(xiàn)方法;在網(wǎng)上找了各種資料,收集起來做一個總結(jié)。

class-dump

下載地址: http://stevenygard.com/projects/class-dump/
class-dump利用Objective-C語言的runtime特性,將存儲在Mach-O文件中的頭文件信息提取出來,并生成對應(yīng)的.h文件。

安裝步驟

將下載下來的class-dump復(fù)制到 /usr/bin/ 目錄下,然后執(zhí)行

# 修改class-dump執(zhí)行權(quán)限
adideMacBook-Pro:~ adi$chmod 777 /usr/bin/class-dump 
  • 注意:OS X10.11+的mac 在把class-dump放進(jìn) /usr/bin/的時候會出現(xiàn)如下問題:
adideMacBook-Pro:~ adi$ mv ~/Desktop/class-dump /usr/bin/class-dump
mv: rename /Users/adi/Desktop/class-dump to /usr/bin/class-dump: Operation not permitted
adideMacBoo

原因是mac新系統(tǒng)加強(qiáng)了安全權(quán)限防護(hù)Rootless機(jī)制,解決方法2種:
1.關(guān)閉Rootless機(jī)制:重啟mac 按住 Command+R,進(jìn)入恢復(fù)模式,打開Termina,輸入csrutil disable把class-dump放入/usr/bin/文件夾下,然后在重啟mac 按住 Command+R輸入csrutil enable 恢復(fù)原來;
這里是 mac os 引入SIP的一個說明鏈接:http://ju.outofmemory.cn/entry/211399
2.修改環(huán)境變量:http://bbs.iosre.com/t/10-11-usr-bin-class-dump/1936
我自己放入了/usr/local/bin 的目錄下。

Theos

Theos是非常出名的iOS越獄開發(fā)工具包;

安裝步驟

  1. Xcode Command Line Tools
#選擇Theos指定xcode
  adideMacBook-Pro:~ adi$ sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
  1. 下載Theos
adideMacBook-Pro:~ adi$ export  THEOS=/opt/theos
adideMacBook-Pro:~ adi$ sudo git clone https://github.com/theos/theos.git $THEOS 
Cloning into '/opt/theos'...
remote: Counting objects: 7536, done.
remote: Compressing objects: 100% (52/52), done.
remote: Total 7536 (delta 24), reused 0 (delta 0), pack-reused 7484
Receiving objects: 100% (7536/7536), 1.96 MiB | 31.00 KiB/s, done.
Resolving deltas: 100% (4594/4594), done.
  1. 配置ldid
    ldid是專門用來簽名iOS可執(zhí)行文件的工具,用以在越獄iOS中取代Xcode自帶的codesign;
    下載地址:http://joedj.net/ldid
# 放入/opt/theos/bin 文件夾下
adideMacBook-Pro:~ adi$ sudo mv ~/Downloads/ldid /opt/theos/bin/
Password:
adideMacBook-Pro:~ adi$ chmod 777 /opt/theos/bin/ldid 
  1. 配置CydiaSubstrate
    運行 Theos 自動化配置腳本:
$sudo /opt/theos/bin/bootstrap.sh substrate

***注:最新版的 theos 里面已經(jīng)沒有這個腳本了,可以跳過執(zhí)行腳本這一步
接下來要做的就是從 iOS 上已經(jīng)安裝的 Cydia Substrate 上復(fù)制 cydiaSubstrate 文件到 theos 上。
要想在 Mac 上訪問 iOS 設(shè)備的文件目錄,新手可以直接使用 iFunBox,或者如果你覺得不屑使用圖形化工具,也可以直接使用 scp
命令來進(jìn)行拷貝。

adideMacBook-Pro:~ adi$ scp root@手機(jī)ip地址XXX:/Library/Frameworks/CydiaSubstrate.framework/CydiaSubstrate ~/Desktop/
adideMacBook-Pro:~ adi$ sudo mv ~/Desktop/CydiaSubstrate /opt/theos/libsubstrate.dylib

需要拷貝的文件位于 iOS 上的 “/Library/Frameworks/CydiaSubstrate.framework/CydiaSubstrate”,將其拷貝到 OSX 上,然后重命名為 libsubstrate.dylib 后放到 “/opt/theos/libsubstrate.dylib” 中。

  1. 配置dpkg-deb
    deb 是越獄開發(fā)安裝包的標(biāo)準(zhǔn)格式,而 dpkg-deb 是操作 deb 文件的工具,有了這個工具,Theos 才能將工程正確地打包成 deb 包。
    https://raw.githubusercontent.com/DHowett/dm.pl/master/dm.pl下載dm.pl,將其重命名為 dpkg-deb后,放到 “/opt/theos/bin/“ 目錄下,然后設(shè)置它的可執(zhí)行權(quán)限:
$sudo chmod 777 /opt/theos/bin/dpkg-deb

其實,Theos 已經(jīng)是一個 tweak 的開發(fā)環(huán)境了,但是由于這里只是因為需要編譯 tweak 而用到它,所以它的很多后續(xù)配置也沒有詳細(xì)講解了。
至此,我們的安裝環(huán)境就搭建完了,下一步可以正式地開始安裝 tweak 了。

Reveal

mac端:https://revealapp.com/
Reveal2破解版:https://pan.baidu.com/s/1jIPY5me
Reveal用于查看某個App的UI布局;
https://github.com/heardrwt/RevealLoader

  1. 安裝Reveal Loader(手機(jī)端)
    在 Cydia搜索Reveal Loader并安裝,如果沒有找到話先添加軟件源 Cydia > Sources Tab > Edit > Add加入源http://rheard.com/cydia或者 你沒有添加bigBoss源,在Cydia 首頁Tab,點擊更多軟件源,找到bigBoss源進(jìn)行安裝即可。
    WechatIMG2.jpeg

    2.安裝Reveal2(Mac端)我用的是Reveal2破解版
    安裝完成之后再 Reveal 的 “Help” 選項下 “Show Reveal Library in Finder”
    屏幕快照 2017-02-09 下午11.35.20.png

    導(dǎo)出RevealServer.framework里的RevealServer,并重命名libReveal.dylib,然后
#如果沒有RHRevealLoader文件夾,就創(chuàng)建下
adideMacBook-Pro:~ adi$ scp ~/Desktop/libReveal.dylib root@192.168.0.100:/Library/RHRevealLoader/

然后就可以在手機(jī)setting里的reveal里,設(shè)置你想要看的App的UI布局了。如圖:(58同城的app)


屏幕快照 2017-02-09 下午11.24.55.png

IDA 或者 hopper

這2個反匯編工具是重點嘍,使用到時候再說,先裝上,想了半天反正都沒用過都裝上
IDA Demo下載地址:https://www.hex-rays.com/products/ida/support/download_demo.shtml
用這個作為一個新手足夠了,如果有穩(wěn)定的破解版歡迎各位向我推薦;但是有個為題哦,就是 IDA Demo Mac版只支持32位的,如果要分析64的,我這邊只能用hopper
Hopper Disassembler v4 已經(jīng)支持swift分析;

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

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

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