iOS逆向工程概述(轉)

來源:互聯網
上載者:User

標籤:情況   tab   生產   安全   xpl   explore   其他   shark   功能   

逆向工程一詞,對很多人來說可能很陌生,在android領域,我們經常會聽到“反編譯某個apk”,那麼逆向工程從某種角度講也包括反編譯這項技術,這樣一對比,可能我們就更容易理解逆向工程的定義了。

我們引用百度百科對這個詞更加精準地解釋:

逆向工程(又稱逆向技術),是一種產品設計技術再現過程,即對一項目標產品進行逆向分析及研究,從而演繹並得出該產品的處理流程、組織圖、功能特性及技術規格等設計要素,以製作出功能相近,但又不完全一樣的產品。逆向工程源於商業及軍事領域中的硬體分析。其主要目的是在不能輕易獲得必要的生產資訊的情況下,直接從成品分析,推匯出產品的設計原理。

一、逆向工程的作用是什麼

逆向工程並不是為了破解他人的軟體為目的,在商業領域,有更加重要的作用,具體包括以下幾個方面。

  • 安全審查:對於iOS 開發人員來說,不僅僅是完成產品的業務功能,尤其對大公司,還需要非常重視安全問題。通過逆向工程,及早發現問題,修改問題,避免發布後到使用者手中引起各種輿情問題,損害公司聲譽。

  • 分析競品:1.參考競品app的架構設計;2.參考競品app的介面設計;3.關鍵技術的實現細節。

  • 學術研究:通過逆向,實現學術研究,主要用於學習。

  • 突破app的使用限制:很多app對不同的使用者有使用許可權的限制,比如收費,或者vip使用者才能使用的功能,通過逆向提前擷取使用許可權,當然不推薦這種方式,建議大家還是支援正版。

  • 識別侵權:主要用於調查競品或商業產品,識別侵權行為。

二、逆向分析的方法

iOS逆向分析的方法主要包括靜態和動態兩種分析方法。

靜態分析顧名思義是在app未運動的情況下,對應用本身的一種分析方法。我們都知道iOS的沙箱機制,沙箱裡會儲存app的各種資訊,包括應用的檔案系統結構,比如資料庫等;此外,使用一些特殊工具,如反組譯碼工具對app代碼進行查看等,都屬於靜態分析的範疇。

動態分析是在app運行過程中,通過線上調試,分析應用的檔案結構,記憶體的變化,介面的展示等,同時也可以觀察網路資料的請求,通過抓包分析業務的走向,協議的定義等。

兩種分析方法在實際的逆向過程中,應當配合使用,比如靜態分析擷取app的基本資料以及資料存放區結構,再通過動態分析的方法進一步深入app內部,研究具體實現和原理,大大提供分析效率。

三、逆向分析工具

工欲善其事必先利其器,掌握了方法之後,還要學會使用各種工具,分析app的不同功能。這些工具主要包括以下:

工具分類 工具名稱
越獄工具 Apsara Distributed File System越獄
UI分析工具 Reveal和PonyDebugger等
檔案系統查看工具 iExplorer, iFunbox, iTool等
網路分析工具 WireShark, Charles等
反組譯碼工具 Hopper, IDA Pro等
調試器 Cycript, gdb等
逆向程式開發工具 Theos
其他 ...

以上工具有的是付費工具,可以使用破解版本,具體的功能我們在後續章節介紹。

四、總結

本篇對iOS逆向工程做了概述,介紹了逆向的方法以及工具,後面的章節會進行詳細的介紹。

轉自:54934683

iOS逆向工程概述(轉)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.