插件開發初級篇之-如何將Flex 3找到的函數編譯成deb插件

前言:

相信愛搞機的封釉都想過,看著別人的插件這麼牛逼,如果自己會開發插件多爽!!!

但是,國內這些的相關資料少之又少,只有極少數的玩家會分享他們的技術!!!

今天,我來了!雖然我會的沒什麼卵用,但還是分享給有夢想的同學!!!

能力有限哈,把目前學到的,分享給你們!!!

今天我們就來講講如何開發入門級插件:




【Mac系統之Theos開發環境配置】

準備設備:

  • Mac系統
  • 一臺越獄手機

Mac系統下環境配置:

主要配置的是【Theos】開發環境,它可以在win,linux,mac,ios上工作,以下是Mac下的相關操作!

一:安裝brew,主要用於安裝或管理Mac上的軟件

  1. 終端運行
<code>/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"/<code>


二:安裝ldid,主要用於iOS文件簽名

  1. 終端運行
<code>brew install ldid/<code>


三:安裝xz、lzma,壓縮模塊,主要用於打包插件

  1. 終端運行
<code>brew install xz/<code>

2. 待上面完成之後在運行

<code>sudo cpan IO::Compress::Lzma/<code>

ps:這步可能時間較長


四:添加$THEOS環境變量

  1. 終端運行
<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

  1. 終端運行
<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找到的函數編譯成deb插件

,主要是咱也不會!


去商店看看。。。


喲!天生對綠色敏感的我一眼就相中了【某聲多多】


在蘋果商店安裝好某聲多多之後


打開Flex 3,點擊右上角+,找到我們的某聲多多


點擊它,在點Add Units...


在點擊Executable下的可執行文件某聲多多


在選擇Process進行分析


騷等片刻後會出現>標誌


看來是分析完成,我們點進去


裡面都是一些類名


先不管,直接點擊搜索框,輸入isvip進行搜索,意思是「是會員」


接下來我們看到,有一個類名是User,意思是用戶


函數有isVIP,我們將其選擇勾選

插件開發初級篇之-如何將Flex 3找到的函數編譯成deb插件

然後返回至主界面,點擊我們的【某聲多多 Patch】


會出現一條Unit for -(bool) isVIP這條函數,然後點進去


在點擊最下方的pass-through,進去後在點擊pass-through

將其改成TRUE,意思是真


接下來我們打開某聲多多,登錄賬號後,顯示如下

插件開發初級篇之-如何將Flex 3找到的函數編譯成deb插件

OK,我們返回 Flex 3,回到主界面,將某聲多多布丁後面的開關打開,在重新打開某聲多多,在看我們的賬戶,哎喲!確實多了些東西,有沒有用先不管,說明函數定位OK!

插件開發初級篇之-如何將Flex 3找到的函數編譯成deb插件




【將找到的函數編譯打包成deb】

準備事宜:

  • 好像沒啥要準備了。。。開搞!!!


打開我們的Mac終端或者iOS端的NewTerm

輸入下面的命令來創建一個新工程

<code>Mac端輸入
nic.pl/<code>
<code>手機端輸入
NPTH/<code>

以下提示,說明環境配置OK,先恭喜你們!!!

插件開發初級篇之-如何將Flex 3找到的函數編譯成deb插件


我們找到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,直接放圖

插件開發初級篇之-如何將Flex 3找到的函數編譯成deb插件

插件開發初級篇之-如何將Flex 3找到的函數編譯成deb插件

插件開發初級篇之-如何將Flex 3找到的函數編譯成deb插件

插件開發初級篇之-如何將Flex 3找到的函數編譯成deb插件

直接長按複製粘貼進去,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,找到剛才我們分析出來的那條函數

插件開發初級篇之-如何將Flex 3找到的函數編譯成deb插件

編寫語法如下

插件開發初級篇之-如何將Flex 3找到的函數編譯成deb插件

<code>%hook User        //類名
-(bool) isVIP { //函數
return TRUE; //返回值
}
%end //結束/<code>


OK,大概就是這樣,錯了請吊大的朋友糾正


我們打開終端,進入到我們的工程目錄

<code>msdd是我的工程名字
cd ~/msdd/<code>
<code>直接編譯+打包
make package/<code>


<code>手機端
MP/<code>
插件開發初級篇之-如何將Flex 3找到的函數編譯成deb插件

完成後會在工程目錄下創建一個packages文件夾,裡面就是已經編譯打包好的deb文件,拿去安裝吧!!!

今天的分享到此結束!!!

目前也只是會這麼一點,有空在研究吧!!!

整理編輯耗時幾個小時,哎不說了,泡麵去了

插件開發初級篇之-如何將Flex 3找到的函數編譯成deb插件



最後推薦幾本書吧

插件開發初級篇之-如何將Flex 3找到的函數編譯成deb插件

沒事看一下OC對逆向很大幫助

Flex 3學習可以找封釉排骨的文章 @糖醋丶炒排骨

我記得還有某公眾號也有2篇關於Flex 3的文章


分享到:


相關文章: