原创 ios cycript安裝及簡單使用

cycript安裝cycript是一個動態調試安裝包:下載地址爲http://www.cycript.org/進入網頁下載後自動安裝。安裝說明:1.一般下載後會默認進入 /opt 文件中如果你裝了MonkeyDev 那麼你會發現其也是安裝

原创 arm64彙編篇-03寄存器

寄存器CPU由控制器、運算器還有寄存器構成,其中寄存器作用就是進行數據的臨時存儲。CPU的運算速度是非常快的,爲了性能CPU在內部開闢一小塊臨時存儲區域,並在進行運算時先將數據從內存複製到這一小塊臨時存儲區域中,運算時就在這一小快臨時存儲

原创 swift Unicode編碼

 swift 採用Unicode編碼,幾乎涵蓋了所有我們知道的字符。let  andSign:Charaterar = ""let andSign:Charater = "\u{26}"\t         \u{0009}     水平

原创 ios oc swift混編導致打包過大問題 avoid SwiftSupport folder

####SwiftSupport 導致包過大   在OC swift混編後打包由於SwiftSupport支持文件會導致混編後的打的包文件會偏大。 ####解決方法 Build Setting -> User-Defined ->

原创 ios Xcode 10 Multiple commands produce 問題

####Xcode運行已經存在的非10版本的項目  一般會出現以下錯誤 ####解決方法 File -> Workspace Settings… 在Build System: 選擇Legacy Build System

原创 ios開發 mac的內存清理 mac系統文件並不是全是操作系統文件

###系統內存的激增 最近系統升級和Xcode升級的時候發現內存越來越不夠用的,爲此還特地買了個移動硬盤來存儲使用不太頻繁的文件。然而到最後升級系統甚至Xcode的時候完全沒有空間了,而顯示系統佔用內存爲200多G。所以完全不夠用。

原创 dyld: Symbol not found: ___NSArray0__ Referenced from: /System/Library/Frameworks/CoreFoundation

dyld: Symbol not found: _NSArray0 Referenced from: /System/Library/Frameworks/CoreFoundation.framework  報類似錯誤的一般

原创 arm64彙編篇-05函數的本質及實例分析

函數的參數和返回值:ARM64下,函數的參數是存放在X0到X7(W0到W7)這8個寄存器裏面的.如果超過8個參數,就會入棧.函數的返回值是放在X0 寄存器裏面的.這些是系統規定的,也正是這些規則我們才能逆向去解析別人的代碼。函數的局部變量

原创 arm64彙編篇-07cpsr狀態寄存器

狀態寄存器    CPU內部的寄存器中,有一種特殊的寄存器(對於不同的處理器,個數和結構都可能不同).這種寄存器在ARM中,被稱爲狀態寄存器就是CPSR(current program status register)寄存器    CPS

原创 ios 生成隨機背景色

利用arc4random()生成隨機背景色 int r = arc4random() % 255; int g = arc4random() % 255; int b = arc4random() % 255;

原创 ios逆向- 01逆向原理&Class-dump安裝及獲取頭文件

逆向原理 動態調試 通過界面調試Cycript\Xcode LLDB! 靜態分析 利用之前學習的彙編代碼,分析三方APP的源碼! 代碼注入 注入的其實是動態庫!HOOK代碼 改變原來程序的執行流程! 重簽名  安裝在非越獄手機上面

原创 arm64彙編篇 - 014 指針的運算

指針的寬度 1.寫入下面代碼真機運行: void func(){ int * a; printf("%lu",sizeof(a)); } 2.得出結果爲8即指針在64位中的寬度爲8個字節。 指針的運算 編譯器決定指針不可以做乘法運算可以

原创 ios 方抓包檢測代理arc方法

之前找的資料都是mrc的現在給大家分享下arc的方法,親測有效。1.導入CFNetWork框架#import <CFNetwork/CFNetwork.h>2.複製以下代碼/** 判斷是否設置代理 */+ (BOOL)getProxySt

原创 arm64彙編篇-04堆與棧的關係

棧:棧是一種具有特殊的訪問方式的存儲空間(後進先出, Last In Out Firt,LIFO)。堆:堆用於動態分配和釋放程序所使用的對象.(這邊不詳細介紹堆,彙編中主要是看棧的運用)。地址讀取:內存中內存地址的讀取是從低地址向高地址讀

原创 arm64彙編篇-10IF代碼的識別

本篇主要介紹通過彙編代碼逆向還原帶if條件的高級代碼。1.創建工程文件在main函數頁面寫一個帶if判斷語句的方法如下:int less = 10;   //全局變量void func(int a, int b){    if (a <