iOS攻防 (十)theos的介紹,安裝和使用

2021-08-01 20:19:52 字數 4193 閱讀 2021

theos就是一套越獄開發工具包

export theos=/opt/theos

sudo git clone $theos

sudo brew install ldid

sudo chmod 777 /opt/theos/bin/ldid

2.3 生成libsubstrate.dylib庫

sudo /opt/theos/bin/bootstrap.sh substrate

sudo chmod 777 /opt/theos/bin/dpkg-deb

如果想自定義模板,看這個教程 :

3.1 在終端輸入以下命令可以看到

3.2 這裡我們做乙個最簡單的栗子,每個應用啟動時都會彈出乙個uialertview

根據步驟3.1的命令,然後我們選擇9,然後根據提示輸入

(1)輸入你的工程的名字(project name,必選項),此處我們工程的名字是iosregreetings

(2)輸入包名(package name),包名的命名規則一般是你們公司網域名稱的到這寫,如: com.victor.iosregreetings;切記:包名一定要小寫,如果在使用make package時發生錯誤,請看這裡

建立完成後,如下目錄顯示

3.3 修改tweak.xm檔案

%hook

springboard

%orig

; uialertview *alert = [[uialertview alloc] initwithtitle:@"come to for more fun!" message:nil delegate:self cancelbuttontitle:@"ok" otherbuttontitles:nil];

[alert show];

[alert release]; }

%end

3.4 修改makefile檔案

注意:第一行export theos_device_ip = 10.18.136.168這個ip,是你的越獄iphone連線的wifi ip位址

export theos_device_ip = 10.18.136.168

export archs = armv7 arm64

export target = iphone:clang:latest:8.0

include theos/makefiles/common.mk

tweak_name = iosregreetings

iosregreetings_files = tweak.xm

iosregreetings_frameworks = uikit

include $(theos_make_path)/tweak.mk

after-install::

install.exec "killall -9 springboard"

3.5 修改control檔案

package: com.victor.iosregreetings

name: iosregreetings

depends: mobilesubstrate, firmware (>= 8.0)

version: 1.0

architecture: iphoneos-arm

description: this is my first tweak project , very ******!

maintainer: victor

author: victor

section: tweaks

homepage:

3.6 打包,並安裝到iphone

cd iosregreetings/

make package install

make package install其實是這三種命令的組合makemake packagemake install然後解開鎖後,開啟cydia應用,你會看到你剛才開發的應用

4.1 說明tweak.xm檔案,檔案的內容都是logos語言,這裡有wiki解釋

我們這裡只用了幾種常用的,分別解釋如下

%hook 指定需要hook的類名,以%end結尾

%log 用來列印log的,將資訊輸入到syslog中,如%log((nsstring *)@」victor」)

%orig 執行被hook函式的原始函式,類似於oc的語法: [super method]功能

%group 該指令用於%hook的分組,%group後邊跟的是組名,%group也是必須以%end結尾,其中可以包含多個%hook

%init 該指令用來初始化某個%group,乙個group只有被初始化後才可生效,init必須在hook中進行執行。

%ctor tweak的構造器,用來初始化,如果不顯式定義,theos就會自動生成乙個%ctor,並在其中呼叫%init(_ungrouped). 如:%ctor

%new 該指令用來給現有的class新增乙個新的函式。與runtime中的class_addmethod相同。

%c 該指令用來獲取乙個類的名稱,類似於objc_getclass。

4.2 說明makefile檔案,指定一些frameworks和libraries

1.export theos_device_ip = 10.18.136.168指定要匯入到越獄裝置ip

2.export archs = armv7 arm64指定cpu架構,不同的cpu架構用空格分開

3.export target = iphone:clang:latest:8.0指定sdk版本,latest意思是base sdk使用當前mac os x最新的,8.0表示最低發布版本

4.include theos/makefiles/common.mk固定模式,別修改此檔案

5.tweak_name = iosregreetings專案名稱,建立時就指定了,以後別再修改了

6.iosregreetings_files = tweak.xmtweak專案的原始檔,不能指定標頭檔案,但是可以如下這樣寫

7.iosreproject_files = tweak.xm hook.xm new.x objc.m objc++.mm4.3 說明control檔案

control檔案中儲存的內容記錄了deb包管理系統所需的基本資訊,會被打包進deb包裡。包含:包唯一識別符號,包名,依賴,版本,架構,描述,作者,主頁等等

4.5 編譯,打包和安裝

編譯

make

打包 make package

安裝 make install

以上三條命令合併一條是

make package install

清除命令

make clean 會刪除專案打包時的檔案

rm *.deb 會刪除.deb安裝包

Flask SQLAlchemy的介紹與安裝

1.認識flask sqlalchemy 再來說一下orm優缺點 優點 缺點 2.環境安裝 pip install flask sqlalchemy方案1 安裝 mysqlclient依賴包 如果失敗再嘗試方案2 pip install mysqlclient方案2 安裝pymysql依賴包 pip...

安卓ios檔案讀寫的存放

1.從bundle中讀取檔案 nsstring path nsbundle mainbundle pathforresource outfile.pcm oftype nil 2.使用沙盒路徑做儲存資料 nsarray paths nssearchpathfordirectoriesindomain...

Zookeeper 介紹及Linux下的安裝

zookeeper 是 apache hadoop 的子專案,是乙個樹型的目錄服務,支援變更推送,適合作為 dubbox 服務的註冊中心,工業強度較高,可用於生產環境。1.zookeeper 在 linux 系統的安裝 安裝步驟 第一步 安裝 jdk 第二步 把 zookeeper 的壓縮包上傳到 ...