原创 [iOS 逆向 7] Hook

概述 前面經過分析與調試,瞭解了程序的執行邏輯。現在想改變執行邏輯,腦海裏也大致有了新邏輯,例如讓判斷是否是會員的函數始終返回 true。那麼怎麼把新邏輯應用到程序中呢?這是本文要介紹的。 Hook,鉤子,用來改變程序執行流程。i

原创 [iOS 逆向 10] 實踐一

設備:iPhone 6 Plus with iOS 12.4 目標:解除番茄ToDo 會員功能限制 1 脫殼 使用 dumpdecrypted 工具,把可執行文件和 framework 都脫殼。 2 導出頭文件 使用 clas

原创 UICollectionView 插入後滑動到最底部

tableView 或 collectionView 最底部插入cell,自動滑動到最底部 正確執行辦法: [_collection performBatchUpdates:^{ [_collection insertItems

原创 [iOS 逆向 1] 系統安全架構

本系列文章主要參考《iOS 應用逆向與安全》 主要目的在於學習逆向的同時理解原理,當然,如果只想速成,可以不看文章中的原理解讀;大部分原理可以在《深入解析Mac OS X & iOS操作系統》中找到。 iOS逆向系列文章開篇 本文

原创 [iOS 逆向 6] 分析與調試

逆向核心環節,但是隻能通過實踐學習,後面有專門的實踐文章。至於本文,瀏覽一遍即可,並安裝幾個分析工具。 靜態分析 靜態分析就是在不運行程序的情況下分析程序。 藉助工具對二進制反彙編進行靜態分析,可以得到被分析文件的反彙編代碼、流程

原创 [2020] Mac 下搭建 opencv 開發環境

進入官網 https://opencv.org/releases.html 找到最新版(或舊版),點 source 開始下載。建議下載開始後複製鏈接到迅雷。 下載 cmake 下載地址:https://cmake.org/file

原创 [iOS 逆向 5] 逆向儲備

本文主要介紹一些 iOS / Mac OS X 操作系統的東西,比如 DYLD,Mach-O,ARM 彙編。內容很枯燥。 ARM 彙編 逆向分析別人的應用時,因爲我們肯定不可能直接拿到別人的源代碼,所以只能從可執行文件,也就是機器

原创 [iOS 逆向 4] 開發儲備

做逆向必須先熟悉 iOS 開發,默認都會,所以本文都是簡述。 1 界面、交互、調試 視圖樹 Xcode 可以點擊 Debug View Hierarchy 查看視圖樹,例如: 明確地展示了視圖層級關係,點擊某個視圖可以查看非常詳

原创 [iOS 逆向 3] 應用砸殼

iOS 逆向工程的流程大致如下: 1 解密、導出目標程序。 2 class-dump 導出頭文件。 3 分析界面佈局、交互邏輯,找到關鍵函數。 4 靜態分析函數的反彙編代碼,大致瞭解函數的內部邏輯。 5 動態分析關鍵函數,分析運行

原创 [iOS 逆向 12] 加密與動態保護

前面詳細介紹了 App 的逆向過程,可以發現逆向工具層出不窮,使逆向開發的門檻越來越低。回看自己開發的 App,也面臨着被分析、解除使用限制等危險。下面介紹幾種保護方案。 數據加密 App 內需要保護的數據主要包括靜態字符串、本地

原创 計算機視覺 實驗二 opencv 課程實驗 (高斯濾波,聯合雙邊濾波)

山東大學 計算機視覺 實驗 實驗2-1:實現圖像的高斯濾波處理 實驗要求: 1)通過調整高斯函數的標準差(sigma)來控制平滑程度; 給定函數:void Gaussian(const MyImage &input, MyImag

原创 計算機視覺 實驗一 opencv 課程實驗(顯示,合成)

山東大學 計算機視覺 實驗 實驗1-1:圖像顯示 實驗要求: 1)利用圖像庫的功能,實現從文件加載圖像,並在窗口中進行顯示的功能; 2)利用常見的圖像文件格式(.jpg; .png; .bmp; .gif)進行測試。 實驗1-2:

原创 日常踩坑記錄

平時遇到一些錯誤都是百度/谷歌搜一下,解決之後就忘了。一直都想找地方記錄着,恰好換了電腦需要重新配各種環境,現在開始記錄吧。 摘要 詳述 1 時光機 抱着僥倖的心理用上一臺電腦的時光機全部恢復到新電腦雖然不用配環境

原创 [iOS 理解] 程序加載過程

點擊 app 按鈕 IOKit 封裝 event,通過 mach port 發給 SpringBoard 這部分是響應者鏈,在另一篇寫過了,省略 SpringBoard 在處理函數中,先調用 fork linux 0.1 中 fo

原创 [iOS 理解] weak

前面內存管理的文章寫了其他的修飾符,__weak 單獨在本文寫 除了 __weak 之前,還有一些修飾符與內存管理有關: __block 要單開一篇文章; Core Foundation 對象 與 OC 對象間的強制轉換與內存管理