MacOS app 逆向准備


MacOS app 逆向准備

理論知識

什么是逆向

逆向工程(Reverse engineering),又稱反向工程,是一種技術過程,即對一項目標產品進行逆向分析及研究,從而演繹並得出該產品的處理流程、組織結構、功能性能規格等設計要素,以制作出功能相近,但又不完全一樣的產品。逆向工程源於商業及軍事領域中的硬件分析。其主要目的是,在無法輕易獲得必要的生產信息下,直接從成品的分析,推導產品的設計原理。

逆向工程可能會被誤認為是對知識產權的嚴重侵害,但是在實際應用上,反而可能會保護知識產權所有者。例如在集成電路領域,如果懷疑某公司侵犯知識產權,可以用逆向工程技術來尋找證據。

逆向用途

主要用於產品分析,知識產權保護,軟件安全。

逆向方式

  1. 網絡分析

通過抓包工具進行流量分析,之后篡改接口數據控制客戶端的行為。

  1. 靜態分析

通過砸殼,反匯編,classdump等技術來分析app的行為

  1. 動態分析

通過分析app的運行的數據,來定位注入點,或者獲取關鍵數據。

逆向流程

界面分析 -> 動態分析 -> 靜態分析 -> |-> 修改源碼 -> 替換可執行文件(可能會需要反簽名和簽名)
|-> 創建hook的類庫,動態注入到程序運行時(著名的insert_dylib)

常用工具

靜態分析:

動態分析:

frida-trace -m "-[WEWConversationWaterMarkMgr *]" WeChat\ Work
 sudo dtrace -s trace.d -p 19570

hook 函數:

嵌入目標程序:

insert_dylib --all-yes ~/learning/WeChatWork-Plugins/Build/Products/Debug/libWeChatWork-Plugins.dylib 企業微信 企業微信_pach

source

https://github.com/1483523635/blogs/blob/master/tweak/MacOs/tools.md


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM