前言:
相信愛搞機的封釉都想過,看著別人的插件這麼牛逼,如果自己會開發插件多爽!!!
但是,國內這些的相關資料少之又少,只有極少數的玩家會分享他們的技術!!!
今天,我來了!雖然我會的沒什麼卵用,但還是分享給有夢想的同學!!!
能力有限哈,把目前學到的,分享給你們!!!
今天我們就來講講如何開發入門級插件:
【Mac系統之Theos開發環境配置】
準備設備:
- Mac系統
- 一臺越獄手機
Mac系統下環境配置:
主要配置的是【Theos】開發環境,它可以在win,linux,mac,ios上工作,以下是Mac下的相關操作!
一:安裝brew,主要用於安裝或管理Mac上的軟件
- 終端運行
<code>/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"/<code>
二:安裝ldid,主要用於iOS文件簽名
- 終端運行
<code>brew install ldid/<code>
三:安裝xz、lzma,壓縮模塊,主要用於打包插件
- 終端運行
<code>brew install xz/<code>
2. 待上面完成之後在運行
<code>sudo cpan IO::Compress::Lzma/<code>
ps:這步可能時間較長
四:添加$THEOS環境變量
- 終端運行
<code>cd ~/<code>
<code>touch .bash_profile/<code>
<code>open -e .bash_profile/<code>
將以下
export THEOS=/opt/theos
export PATH=$PATH:$THEOS/bin
複製粘貼到裡面去,按command+s保存
五:安裝Theos
- 終端運行
<code>sudo git clone --recursive https://github.com/theos/theos.git $THEOS/<code>
2. 最後設置權限生效
終端運行
<code>sudo chown -R $(id -u):$(id -g) $THEOS/<code>
在運行
<code>source ~/.bash_profile/<code>
到此!!!環境配屬已經完成!!!我也寫累了(小聲bb)
【iOS系統之Theos開發環境配置】
以下是iOS手機端環境配置教程
準備事宜:
- 越獄手機一臺
- 安裝終端NewTerm,地址https://repo.chariz.com/
- 安裝插件Theosinstaller App,地址https://repo.packix.com/
- 這個會附帶10多個依賴插件,必須開啟NNN在安裝
- 安裝之後桌面打開它,點擊Start,他會自己配置,切記不要鎖屏,NNN不能關!
- 以下2個命令是:
- MP //編譯打包
- NPTH //創建新工程
- ps:如果覺得不好記,可以去/usr/bin目錄下把上面兩個快捷方式的文件名改成好記的,我改成了mp和np
【Flex 3使用方式】
準備事宜:
- Flex 3
- Filza
- 需要逆向的對象
現在找個App來開刀,騰訓啥的就算了,畢竟初學者,給他留個面子
,主要是咱也不會!
去商店看看。。。
喲!天生對綠色敏感的我一眼就相中了【某聲多多】
在蘋果商店安裝好某聲多多之後
打開Flex 3,點擊右上角+,找到我們的某聲多多
點擊它,在點Add Units...
在點擊Executable下的可執行文件某聲多多
在選擇Process進行分析
騷等片刻後會出現>標誌
看來是分析完成,我們點進去
裡面都是一些類名
先不管,直接點擊搜索框,輸入isvip進行搜索,意思是「是會員」
接下來我們看到,有一個類名是User,意思是用戶
函數有isVIP,我們將其選擇勾選
然後返回至主界面,點擊我們的【某聲多多 Patch】
會出現一條Unit for -(bool) isVIP這條函數,然後點進去
在點擊最下方的pass-through,進去後在點擊pass-through
將其改成TRUE,意思是真
接下來我們打開某聲多多,登錄賬號後,顯示如下
OK,我們返回 Flex 3,回到主界面,將某聲多多布丁後面的開關打開,在重新打開某聲多多,在看我們的賬戶,哎喲!確實多了些東西,有沒有用先不管,說明函數定位OK!
【將找到的函數編譯打包成deb】
準備事宜:
- 好像沒啥要準備了。。。開搞!!!
打開我們的Mac終端或者iOS端的NewTerm
輸入下面的命令來創建一個新工程
<code>Mac端輸入
nic.pl/<code>
<code>手機端輸入
NPTH/<code>
以下提示,說明環境配置OK,先恭喜你們!!!
我們找到iPhone/tweak的序號輸入在回車,即為蘋果插件的意思
Project Name (required): //項目名字必填,我填的是msdd
Package Name [com.yourcompany.msdd]: //插件包的標識符,可以將其改掉,規範的話com.打頭
Author/Maintainer Name: //插件作者,默認是電腦登錄名字
[iphone/tweak] MobileSubstrate Bundle filter [com.apple.springboard]: //選擇要被注入的App應用ID
這個我就要bb幾句了,獲取這個應用ID的方式太多,這裡我講用Filza找ID,直接放圖
直接長按複製粘貼進去,ps:勸不要手動去輸去!!!
ps:手機端長按終端界面空白處出現複製粘貼
[iphone/tweak] List of applications to terminate upon installation (space-separated, '-' for none) [SpringBoard]: //安裝成功後需要結束的進程,如果不需要輸入“-”
提示
Instantiating iphone/tweak in msdd/...
Done.
說明項目創建完成,它會在電腦裡面的家目錄下創建一個以項目名字的文件夾
我們去找到它
ps:手機端在/var/mobile,確定打開終端後沒cd過其他目錄哈
家目錄即Home目錄,打開【訪達】自己找吧,不想多說了,找不到就直接搜索你輸入的項目名字
手機端一樣,用Filza進/var/mobile目錄
找到後進去,裡面是4個文件,分別是control、Makefile、項目名字.plist、Tweak.x
control 插件的配置文件
Makefile 我不知道,但是開發者都知道,大概是編譯配置文件,可以在裡面編譯規則
項目名字.plist 裡面配置的是要被注入的應用ID
Tweak.x 用來寫代碼的
好了文件介紹完了,知道我們該幹嘛了吧,沒錯,你肯定不知道!
打開我們的Tweak.x文件
將裡面的所有代碼都刪掉
打開我們的 Flex 3,找到剛才我們分析出來的那條函數
編寫語法如下
<code>%hook User //類名
-(bool) isVIP { //函數
return TRUE; //返回值
}
%end //結束/<code>
OK,大概就是這樣,錯了請吊大的朋友糾正
我們打開終端,進入到我們的工程目錄
<code>msdd是我的工程名字
cd ~/msdd/<code>
<code>直接編譯+打包
make package/<code>
<code>手機端
MP/<code>
完成後會在工程目錄下創建一個packages文件夾,裡面就是已經編譯打包好的deb文件,拿去安裝吧!!!
今天的分享到此結束!!!
目前也只是會這麼一點,有空在研究吧!!!
整理編輯耗時幾個小時,哎不說了,泡麵去了
最後推薦幾本書吧
沒事看一下OC對逆向很大幫助
Flex 3學習可以找封釉排骨的文章 @糖醋丶炒排骨
我記得還有某公眾號也有2篇關於Flex 3的文章
閱讀更多 fanyunhui2007 的文章