對(duì)象本質(zhì) clangclang是?個(gè)C語(yǔ)?前方、C++如捅、Objective-C語(yǔ)?的輕量級(jí)編譯器婉徘。源代碼發(fā)布于BSD協(xié)議下clang將?持其普通lambda表達(dá)式、返回類(lèi)型的簡(jiǎn)化...
對(duì)象本質(zhì) clangclang是?個(gè)C語(yǔ)?前方、C++如捅、Objective-C語(yǔ)?的輕量級(jí)編譯器婉徘。源代碼發(fā)布于BSD協(xié)議下clang將?持其普通lambda表達(dá)式、返回類(lèi)型的簡(jiǎn)化...
instanceSize分析 instanceSize函數(shù)是alloc的核心方法之一,負(fù)責(zé)計(jì)算內(nèi)存大小打開(kāi)objc4-818.2源碼進(jìn)入instanceSize函數(shù)inlin...
內(nèi)存地址 & 指針地址 搭建allocDemo項(xiàng)目打印對(duì)象的內(nèi)存地址和指針地址- (void)viewDidLoad { [super viewDidLoad]; L...
Tweak原理 執(zhí)行make命令時(shí),在.theos的隱藏目錄中,編譯出obj/debug目錄牡属,包含arm64、armv7兩種架構(gòu)扼睬,同時(shí)生成RedDemo.dylib動(dòng)態(tài)庫(kù)在a...
調(diào)試一款應(yīng)用逮栅,使用重簽名方案,很容易被第三方察覺(jué)窗宇。在越獄環(huán)境中措伐,我們可以在不污染App的情況下,對(duì)第三方程序進(jìn)行動(dòng)態(tài)調(diào)試军俊。 Reveal Reveal是一款UI調(diào)試神器侥加,對(duì)i...
adv-cmds adv cmds是PushFix依賴包中的一個(gè)組件,而PushFix依賴包則是Cydia插件必備依賴包(絕大多數(shù)Cydia程序的依賴)之一在Cydia中粪躬,安...
軟件脫殼担败,顧名思義,就是對(duì)軟件加殼的逆操作镰官,把軟件上存在的殼去掉(解密)提前。 砸殼原理 應(yīng)用加殼(加密)提交給AppStore發(fā)布的App,都經(jīng)過(guò)官方保護(hù)而加密泳唠,這樣可以保證機(jī)...
越獄概述 越獄(Jailbreak):通過(guò)iOS系統(tǒng)安全啟動(dòng)鏈漏洞狈网,從而禁止掉信任鏈中負(fù)責(zé)驗(yàn)證的組件。拿到iOS系統(tǒng)最大權(quán)限r(nóng)oot權(quán)限 安全啟動(dòng)鏈當(dāng)啟動(dòng)一臺(tái)iOS設(shè)備時(shí)笨腥,系...
使用MokeyDev對(duì)WeChat進(jìn)行重簽名并安裝拓哺,在設(shè)置頁(yè),增加自動(dòng)搶紅包的UI脖母,包含是否啟用自動(dòng)搶紅包功能的開(kāi)關(guān)士鸥,以及搶紅包時(shí)的手速設(shè)置 界面分析 使用class-dum...
Logos語(yǔ)法,其實(shí)是CydiaSubstruct框架提供的一組宏定義镶奉。便于開(kāi)發(fā)者使用宏進(jìn)行HOOK操作础淤。語(yǔ)法簡(jiǎn)單,功能強(qiáng)大且穩(wěn)定哨苛。 基本使用 案例1:搭建App項(xiàng)目打開(kāi)Vi...
Cycript是由Cydia創(chuàng)始人Saurik推出的一款腳本語(yǔ)言鸽凶,Cycript混合了OC、JavaScript語(yǔ)法的解釋器建峭,這意味著我們能夠在一個(gè)命令中使用OC或者Java...
虛擬內(nèi)存 早期的操作系統(tǒng)早期的操作系統(tǒng)玻侥,并沒(méi)有虛擬內(nèi)存的概念。系統(tǒng)由進(jìn)程直接訪問(wèn)內(nèi)存中的物理地址亿蒸,這種方式存在嚴(yán)重的安全隱患凑兰。內(nèi)存中的不同進(jìn)程,可以計(jì)算出它們的物理地址边锁,可以...
lldb(Low Lever Debug):默認(rèn)內(nèi)置于Xcode中的動(dòng)態(tài)調(diào)試工具姑食。標(biāo)準(zhǔn)的lldb提供了一組廣泛的命令,旨在與老版本的GDB命令兼容茅坛。 除了使用標(biāo)準(zhǔn)配置外音半,還可...
所謂InlineHook(內(nèi)聯(lián)鉤?),就是直接修改?標(biāo)函數(shù)的頭部代碼贡蓖。讓它跳轉(zhuǎn)到?定義函數(shù)中執(zhí)?代碼曹鸠,從?達(dá)到Hook的?的。這種Hook技術(shù)?般用于靜態(tài)語(yǔ)? Dobby框架...
fishHook是Facebook提供的開(kāi)源庫(kù)斥铺,利用MachO文件的加載原理彻桃,動(dòng)態(tài)修改懶加載和非懶加載兩張符號(hào)表,用來(lái)HOOK外部調(diào)用的C函數(shù)晾蜘。詳情可查看 官方文檔[http...
初探反HOOK防護(hù) 當(dāng)HOOK第三方App時(shí)邻眷,對(duì)于OC方法,一般會(huì)使用Method Swizzle笙纤。例如:使用系統(tǒng)提供的method_exchangeImplementati...
剝離符號(hào) strip:移除指定符號(hào)耗溜。在Xcode中默認(rèn)strip是在Archive的時(shí)候才會(huì)生效,移除對(duì)應(yīng)符號(hào) strip命令的使用:strip -x:除了全局符號(hào)都可以移除...
HOOK概述 HOOK省容,中文譯為“掛鉤”或“鉤子”抖拴。在iOS逆向中是指改變程序運(yùn)行流程的一種技術(shù)。通過(guò)HOOK可以讓別人的程序執(zhí)行自己所寫(xiě)的代碼腥椒。在逆向中經(jīng)常使用這種技術(shù)阿宅。所...
dyld:動(dòng)態(tài)鏈接?,加載所有的庫(kù)和可執(zhí)行文件 加載App時(shí)的函數(shù)調(diào)用棧 搭建空項(xiàng)目dyldDemo笼蛛,在main函數(shù)上設(shè)置斷點(diǎn)真機(jī)運(yùn)行項(xiàng)目洒放,只有start和main兩個(gè)函數(shù)調(diào)...
MachO文件概述 Mach-O其實(shí)是Mach Object文件格式的縮寫(xiě),是macOS以及iOS上可執(zhí)行文件的格式滨砍,類(lèi)似于Windows上的PE格式(Portable Ex...