原创 iOS逆向 -- HASH和對稱加密

上一篇講了 RSA加密的由來(一大堆數學公式看的很懵逼,其實大概瞭解了rsa的非對稱加密怎麼來的就可以) 今天這篇講HASH和對稱加密 HASH hash的概念我就不介紹了 主要介紹一下它的特點和應用 通常hash有 MD5 sha1 s

原创 iOS逆向 -- RSA加密探究

密碼學說起: 歷史:兩千年前 凱撒大帝發明 base64的雛形  容易破解 【信息論】 間諜很危險 一直到1976年 迪菲、赫爾曼提出了一個構想 不通過密鑰交換  1977 rsa誕生 RSA加密探究 對稱加密的弊端 還有RSA的歷史不在

原创 iOS-觀察者模式-KVO、NSNotification的實現原理.KVC原理

觀察者模式的定義:一個目標對象管理所有依賴於它的觀察者對象,並在它自身的狀態改變時主動通知觀察者對象。這個主動通知通常是通過調用各觀察者對象所提供的接口方法來實現的。觀察者模式較完美地將目標對象與觀察者對象解耦。 KVO基於runtime

原创 iOS -類探究、 isa

OC比C多了面向對象,那麼是如何做到的呢,今天大致瞭解一下類的構成。 首先要明確的一點是:oc當中類的定義也是對象,類和類的實例化對象 都是對象,所有對象都有isa指針。 typedef struct objc_class *Class

原创 iOS逆向 -- 應用簽名原理以及重簽名

前兩篇介紹了 RSA、HASH、和對稱加密,今天結合iPhone感受一下蘋果的雙重認證簽名 1.針對普通用戶 因爲市場上軟件參差不齊,蘋果爲了保證用戶手機安全,所以要求必須是通過App Store上下載的App才能進行安裝(也就是經過了蘋

原创 iOS -property關鍵字 copy-mutableCopy區別

atomic : 原子操作,默認屬性,setter方法會變成下面的樣子 {lock} if (_a != a) { [_a release]; _a = [a retain]; }

原创 iOS - 多線程

多線程:一個進程裏面開啓多條線程,每條線程可以單獨的執行不同的任務。 iOS實現多線程的方式: 1、pthread(C寫的、基本不用) 2、NSThread 3、gcd 4、NSOperation 下面分別介紹下後三個常用的多線程方式 N

原创 ios - 造成內存泄漏的原因

block的循環引用 [self.service requestData:^(id data) { self.title = data[@"title"]; }]; 這種情況就是典型的循環引用導致內存泄漏,self強引用serv

原创 iOS -- 響應鏈

一直在寫代碼,忙忙碌碌卻碌碌無爲,所以最近想稍微沉澱一下,補充一下自己的理論基礎,先從最常用的響應鏈開始吧。。。 一、如何理解iOS的響應鏈? 第一要明確的是能夠接受和處理事件的響應者都是UIResponder的實例,包括UIView,U

原创 AutorealeasePool 實現原理

@autoreleasepool 編譯後會變成 void * atautoreleasepoolobj = objc_autoreleasePoolPush(); // 中間代碼 objc_autoreleasePoolPop(atau

原创 Auto Layout性能?那試一下簡便的Frame寫法。

之前一直採用的Auto Layout,直到有一天寫了一個複雜界面,然後iPhone 6p沒加載出來。。。是的, 沒加載出來。。。 所以我就查閱了一下相關文獻,有一篇《從 Auto Layout 的佈局算法談性能》比較清晰的解釋了Auto

原创 ios - 知識梳理(造成內存泄漏的原因)

block的循環引用 [self.service requestData:^(id data) { self.title = data[@"title"]; }]; 這種情況就是典型的循環引用導致內存泄漏,self強引用serv

原创 iOS - 知識梳理 (雜集)

因爲有些知識點比較小,不想浪費篇幅單獨弄一篇博客,所以把一些小的知識點記錄在一篇裏面,方便查閱。 1.Category 會覆蓋掉原來類裏的方法嗎? 答案是會的,將category生成對應的cpp文件會看到它的結構, struct _ca

原创 iOS - 知識梳理 (類探究、 isa)

OC比C多了面向對象,那麼是如何做到的呢,今天大致瞭解一下類的構成。 首先要明確的一點是:oc當中類的定義也是對象,類和類的實例化對象 都是對象,所有對象都有isa指針。 typedef struct objc_class *Class

原创 iOS-知識梳理(觀察者模式-KVO、NSNotification的實現原理)

觀察者模式的定義:一個目標對象管理所有依賴於它的觀察者對象,並在它自身的狀態改變時主動通知觀察者對象。這個主動通知通常是通過調用各觀察者對象所提供的接口方法來實現的。觀察者模式較完美地將目標對象與觀察者對象解耦。 KVO基於runtime