1、iOS,tweak特指那些能夠增強(qiáng)其他進(jìn)程功能的dylib。
2搞坝、一個(gè)tweak的核心是各種hook,而絕大部分的hook是針對(duì)Object-C方法的留储。
3卜录、對(duì)象鹅士、方法缘滥、實(shí)現(xiàn)是tweak的主戰(zhàn)場(chǎng)轰胁。
4、在OC里朝扼,方法和實(shí)現(xiàn)的關(guān)系不是在編譯時(shí)決定赃阀,而是在運(yùn)行時(shí)決定。
5擎颖、我們可以通過(guò)改變實(shí)現(xiàn)和方法的對(duì)應(yīng)關(guān)系榛斯,賦予一個(gè)方法新的意義,從而達(dá)到更改對(duì)象功能的目的搂捧,
6驮俗、description函數(shù)能夠把對(duì)象的內(nèi)容表示成一個(gè)NSString,object_getClassName函數(shù)能夠把對(duì)象的類名表示成一個(gè)char*异旧,兩者可分別用%@意述、%s打印出來(lái)提佣,這個(gè)就是解析參數(shù)提供了足夠的參考吮蛹。
%hook SBScreenFlash
- (void)flashColor:(id)arg1 withCompletion:(id)arg2 {
%orig;
NSLog(@"iOSRE: flashColor: %s, %@", object_getClassName(arg1), arg1); // [arg1 description] arg1
}
%end
7、grep LibNotifyWatch: /var/log/syslog
8拌屏、確認(rèn) PhoneSettingsController所在的目標(biāo)文件來(lái)自Preferences.app還是來(lái)自一個(gè)PreferenceBundle:
----
FunMaker-5:~ root# grep -r PhoneSettingsController /Applications/Preferences.app/
----
Yuanlingde-iPhone:~ root# grep -r PhoneSettingsController /System/Library/
Binary file /System/Library/Caches/com.apple.dyld/dyld_shared_cache_armv7s matches
grep: /System/Library/Frameworks/CoreGraphics.framework/Resources/libCGCorePDF.dylib: No such file or directory
grep: /System/Library/Frameworks/CoreGraphics.framework/Resources/libCMSBuiltin.dylib: No such file or directory
grep: /System/Library/Frameworks/CoreGraphics.framework/Resources/libCMaps.dylib: No such file or directory
grep: /System/Library/Frameworks/System.framework/System: No such file or directory
Binary file /System/Library/PreferenceBundles/MobilePhoneSettings.bundle/Info.plist matches
Yuanlingde-iPhone:~ root#
==》得出在這個(gè)MobilePhoneSettings.bundle
9潮针、
----
[receiver message]
objc_msgSend(receiver,@selector(message))
----
[receiver message:arg1 foo:arg2 bar:arg3]
objc_msgSend(receiver,@selector(message),arg1,arg2,arg
objc_msgSend(R0,R1,R2,R3,*SP,* (SP+sizeOfLastArg),...)
[R0 R1:R2 foo:R3 bar:*SP baz:* (SP+sizeOfLastArg qux:...]
10、金句:函數(shù)的前4個(gè)參數(shù)放在R0~R3倚喂,其他參數(shù)存放在棧中每篷,函數(shù)返回值放在R0.
10、用LLDB看看這個(gè)方法到底執(zhí)行了什么操作。
(lldb) p (char *)$r2
(char *) $2 = 0x2c4140f2 "_sendAction:withEvent:"http://打印出方法SEL
----
(lldb) x/10 $sp
0x003735a8: 0x160a6120 0x00000001 0x14d73c90 0x160a6120 0x003735b8: 0x2c3d9be5 0x003735d4 0x2bc6ebd1 0x14d73c90 0x003735c8: 0x160a6120 0x00000040 //打印棧
----
five
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
- 文/潘曉璐 我一進(jìn)店門俗他,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)脖捻,“玉大人,你說(shuō)我怎么就攤上這事兆衅〉鼐冢” “怎么了?”我有些...
- 文/不壞的土叔 我叫張陵羡亩,是天一觀的道長(zhǎng)诉濒。 經(jīng)常有香客問(wèn)我,道長(zhǎng)夕春,這世上最難降的妖魔是什么未荒? 我笑而不...
- 正文 為了忘掉前任,我火速辦了婚禮及志,結(jié)果婚禮上片排,老公的妹妹穿的比我還像新娘。我一直安慰自己速侈,他們只是感情好率寡,可當(dāng)我...
- 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著倚搬,像睡著了一般冶共。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上每界,一...
- 那天捅僵,我揣著相機(jī)與錄音,去河邊找鬼眨层。 笑死庙楚,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的趴樱。 我是一名探鬼主播馒闷,決...
- 文/蒼蘭香墨 我猛地睜開眼酪捡,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了纳账?” 一聲冷哼從身側(cè)響起逛薇,我...
- 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎疏虫,沒(méi)想到半個(gè)月后金刁,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
- 正文 獨(dú)居荒郊野嶺守林人離奇死亡议薪,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
- 正文 我和宋清朗相戀三年尤蛮,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片斯议。...
- 正文 年R本政府宣布恋昼,位于F島的核電站看靠,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏液肌。R本人自食惡果不足惜挟炬,卻給世界環(huán)境...
- 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望嗦哆。 院中可真熱鬧谤祖,春花似錦、人聲如沸老速。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)橘券。三九已至额湘,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間旁舰,已是汗流浹背锋华。 一陣腳步聲響...
- 正文 我出身青樓谨湘,卻偏偏與公主長(zhǎng)得像绽快,于是被迫代替她去往敵國(guó)和親芥丧。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
推薦閱讀更多精彩內(nèi)容
- Words and expressions 1. Wares(注意復(fù)數(shù)形式)貨品坊罢,物品 Warehouse 倉(cāng)庫(kù) ...
- 弗洛伊德說(shuō)過(guò):“我們每人都包含一個(gè)黑暗的“本我”续担、一個(gè)“自我”和一種能不可預(yù)測(cè)地從“超我”那里攫取控制權(quán)的獸性』詈ⅲ”...
- 大學(xué)畢業(yè)后我的第一個(gè)工作是瑜伽教練憾儒,隨后成為一個(gè)瑜伽館老板询兴,后來(lái)考取了教師這個(gè)行業(yè),成為了一名鄉(xiāng)村教師起趾。曾經(jīng)一度...
- 文/簡(jiǎn)書小二 我在一家港式餐廳工作诗舰。當(dāng)是和我朋友一起來(lái)的,現(xiàn)在他在水吧训裆,我廚房眶根。松比較喜歡輕松一點(diǎn)兒的工作,我呢边琉,...