日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Theos-tweak工程

發(fā)布時(shí)間:2023/12/16 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Theos-tweak工程 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1、查看《iOS逆向 開發(fā)工具》 Theos的使用方法做準(zhǔn)備工作;
2、創(chuàng)建tweak工程,實(shí)現(xiàn)在屏幕上添加彈框(越獄手機(jī));
3、Logos語法。
完成該工程,我們可以實(shí)現(xiàn)在任意地方添加我們想要的功能。任性,吼吼。

###一、給屏幕添加彈框
項(xiàng)目目錄:/Users/yanghaibo/Documents/iOS逆向/Theos/

1、創(chuàng)建tweak工程,進(jìn)入工程目錄執(zhí)行命令:

/opt/theos/bin/nic.pl

會出現(xiàn)列表:

NIC 2.0 - New Instance Creator ------------------------------[1.] iphone/activator_event[2.] iphone/application_modern[3.] iphone/application_swift[4.] iphone/cydget[5.] iphone/flipswitch_switch[6.] iphone/framework[7.] iphone/ios7_notification_center_widget[8.] iphone/library[9.] iphone/notification_center_widget[10.] iphone/preference_bundle_modern[11.] iphone/tool[12.] iphone/tool_swift[13.] iphone/tweak[14.] iphone/xpc_service Choose a Template (required):

2、選擇13創(chuàng)建一個(gè)tweak工程;
3、輸入tweak的工程名稱Project Name: first
4、輸入deb包的名字,Package Name: com.yahibo.first
5、輸入tweak作者的名稱,Author: yahibo
6、輸入作用對象的bundle identifier: com.apple.springboard
7、安裝完成后需要重啟應(yīng)用,以進(jìn)程名表示 命令:使用空格
項(xiàng)目創(chuàng)建完成如下:

8、修改Tweak.xm文件

%hook SpringBoard-(void)applicationDidFinishLaunching:(id)application{%orig;UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"提示" message:@"我來了,哈哈哈" delegate:nil cancelButtonTitle:@"不見" otherButtonTitles:@"好的", nil];[alert show]; }%end

9、修改Makefile文件,指定設(shè)備IP,指定處理器架構(gòu),指定SDK版本,導(dǎo)入framework,多個(gè)framework 空格添加。

THEOS_DEVICE_IP = 192.168.0.105 ARCHS = armv7 arm64 TARGET = iphone:latest:8.0include $(THEOS)/makefiles/common.mkTWEAK_NAME = first first_FILES = Tweak.xm first_FRAMEWORKS = UIKitinclude $(THEOS_MAKE_PATH)/tweak.mkafter-install::install.exec "killall -9 SpringBoard"

10、配置完后終端進(jìn)入工程文件執(zhí)行安裝命令:

make package install

執(zhí)行如下:

手機(jī)端顯示如下:


以上大功告成,完成了鎖屏狀態(tài)下加彈框。

11、工程被打包到:./packages/com.yahibo.first_0.0.1-23+debug_iphoneos-arm.deb中,可使用dpkg 查看deb包信息:

dpkg -I ./packages/com.yahibo.first_0.0.1-23+debug_iphoneos-arm.deb

12、在Cydia應(yīng)用中搜索syslogd to/var/log/syslog并安裝;搜索Core Utilities并安裝,安裝后可以使用tail命令查看文件。
13、項(xiàng)目打包成一個(gè).dylib動(dòng)態(tài)庫在越獄手機(jī)/Library/MobileSubstrate/DynamicLibraries/目錄下。

修改內(nèi)容需要清除包

make clean rm -rf packages

重啟SpringBoard殺死進(jìn)程會自動(dòng)重啟

killall -9 SpringBoard

卸載動(dòng)態(tài)庫:

make package uninstall

###二、常用的Logos語法簡介

1、%hook指定需要hook的類名,以%end結(jié)尾。

%hook SpringBoard-(void)applicationDidFinishLaunching:(id)application{%orig;//執(zhí)行原始操作UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"提示" message:@"我來了,哈哈哈" delegate:nil cancelButtonTitle:@"不見" otherButtonTitles:@"好的", nil];[alert show]; }%end

示例代碼為鉤住SpringBoard類的applicationDidFinishLaunching函數(shù),先執(zhí)行原始操作,再顯示彈框。

2、%log用來打印log的,將信息輸入到syslog中,格式%log([(<type><expr>,...)])。

%hook SpringBoard -(void)applicationDidFinishLaunching:(id)application{%orig;//執(zhí)行原始操作%log((NSString *)@"iOSRE",(NSString *)@"Debug"); } %end

3、%orig執(zhí)行被hook函數(shù)的原始代碼,類似于super.method功能,如果去掉,原始代碼不會執(zhí)行。還可以使用該函數(shù)更改原始函數(shù)的參數(shù):

%hook SBLockScreenDateViewController -(void)setCustomSubtitleText:(id)arg1 withColor:(id)arg2{%orig(@"hello I am hibo",arg2); } %end

4、%group該指令用于%hook的分組,%group后邊跟的是組名,%group也是必須以%end結(jié)尾,其中可以包含多個(gè)%hook。

5、%init該指令用來初始化某個(gè)%group,一個(gè)group只有被初始化后才可生效,init必須在hook中進(jìn)行執(zhí)行。

6、%ctor tweak的構(gòu)造器,用來初始化,如果不顯式定義,Theos就會自動(dòng)生成一個(gè)%ctor,并在其中調(diào)用%init(_ungrouped).如:%ctor { %init(_ungrouped)}。

7、%new該指令用來給現(xiàn)有的class添加一個(gè)新的函數(shù)。與Runtime中的class_addMethod相同。

8、%c該指令用來獲取一個(gè)類的名稱,類似于objc_getClass。

從越獄手機(jī)中我們可以拿到蘋果設(shè)備的桌面程序SpringBoard.app,砸殼后獲取到SpringBoard對應(yīng)的頭文件。根據(jù)頭文件我們可以大致猜測到類及類方法的作用,因此使用以上方法,我們也可以更改其他一些顯示,修改桌面時(shí)間文本、顏色、電池狀態(tài)、電量,當(dāng)然這些可能沒有實(shí)用價(jià)值,我們只是通過這種方式來進(jìn)一步了解逆向。
蘋果設(shè)備桌面頭文件

總結(jié)

以上是生活随笔為你收集整理的Theos-tweak工程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。