原创 屏蔽廣告方法(Adblock 插件)

方法一(推薦) 1 下載谷歌瀏覽器 爲什麼是谷歌?我親自測試了 safari,插件根本沒用;By the way,safari 看鬥魚真的不行,鬥魚程序員根本沒認真適配 Safari,看2個小時內存佔用飆到 5G,是我脫坑safa

原创 [iOS 理解] 響應者鏈

研究好久事件響應的細節,結果一看網上已經有寫的非常好的,於是本文分三個部分: 1 總結 2 我的補充 3 我的原文 如果一點沒了解過響應者鏈,先學習別人寫的這篇文章; 如果有了解,或學過之後,本文還有一些補充。 總結 以該文章的一

原创 [iOS 理解] swizzling

method swizzling 每個類都有自己的方法列表,一個 Method = SEL + IMP + 方法簽名,SEL = 方法名稱字符串,IMP = 一個函數的起始地址。 method swizzling 就是把 SEL

原创 [iOS 理解] block

第一步,初步理解 網上博客千篇一律的內容,我找了一篇質量還不錯的 看完鏈接那篇,就可以應付大廠面試了,但還缺些東西。 // 必須完成第一步再看以下內容 第二步 上面鏈接的文章裏已經貼了大量源碼了,但是,閉包源碼的核心註釋,他沒貼

原创 [iOS 理解] 消息機制

消息機制 務必結合 objc-msg-arm64.s 源碼看,本文是解讀。源碼下載。 向對象發消息如 [receiver sel]; 會編譯爲 objc_msgSend(id, SEL) 的調用。 objc_msgSend(rec

原创 [iOS 理解] 內存管理 自動釋放池

ARC 無需顯式調用 retain release autorelease 編譯器在正確的位置加上管理對象引用計數的函數。 對象的所有權修飾符 __strong:賦值時,舊的 release,新的 retain __weak:需要

原创 macOS 10.15 解決 app 已損壞,打不開。您應該將它移到廢紙簍

app is damaged and can’t be opened. You should move it to the Trash. 一般網上的解決辦法是命令行執行 sudo spctl --master-disable,很

原创 實現 titleview 居中 navigationItem

viewDidLoad: let width: CGFloat = 100 let ScreenWidth = UIScreen.main.bounds.width // 第一步,設置 titleView 爲一個空白

原创 從零開始 Vue.js 筆記

安裝 on macOS brew install npm npm install cnpm -g # 從此用 cnpm 代替 npm,因爲下載文件更快 cnpm install -g vue-cli 安裝完成,即可打開 IDE

原创 OpenCV4 打開 gif (FreeImage)

準備 FreeImage 庫,自己編譯或下載 這裏只提供 macOS 版的靜態庫 點擊這裏下載。密碼: p2lb。 代碼: 現在僅支持讀取 CV_8UC3 / CV8UC4 的 gif 圖。 #include <opencv2/o

原创 NSMutableArray 遇到的坑

描述 有如下排序有關的類(這裏只展示了.h文件): ///線性(底層爲數組)排序的基類,繼承自Base,內部有一個數組 @interface LinearSort : SortBaseClass @property (

原创 python 與子進程通信

本文出發點 我個人需求是: 在一個py文件裏,想獲得另一個 py文件某函數的輸出。 (當然,直接 import 該函數,調用不就行了嗎 ! ) (擴展,子進程沒有限制,任意可執行文件皆可 ) 詳細例子 假設現在 A 裏面有一個循環

原创 Scrapy 使用示例:從 Xpath 到 Webdriver

本文用於以後快速創建爬蟲項目 誤點進來的朋友可以關閉了,因爲本文沒有啥價值? 準備 pip install scrapy pip install selenium 下載 chrome webdriver,放在環境變量裏 scrap

原创 [iOS 逆向 13] 代碼混淆

背景 經過逆向工程實踐,可以發現靜態分析在整個過程中是不可缺少的,而且靜態分析工具生成的僞代碼極大地提高了分析效率。想象一下如果沒有靜態分析,實現解除會員限制的過程:連接界面調試器 Reveal,找到目標界面,獲取按鈕地址,打印按

原创 [iOS 逆向 2] 越獄介紹

介紹 越獄,簡單來說就是利用 iOS 系統中的漏洞,獲取 root 權限,然後就可以爲所欲爲了。 越獄分三種: 1 引導式越獄 重啓後無法開機,需要用工具重新引導 2 不完美越獄 重啓後回到未越獄狀態,需要重新越獄 3 完美越獄