class-dump 反編譯私有的庫和應用

来源:http://www.cnblogs.com/liyy2015/archive/2017/01/03/6244235.html
-Advertisement-
Play Games

一、下載並安裝class-dump 下載class-dump-3.5.dmg 點擊下載 下載完成以後雙擊.dmg的文件,將裡面的class-dump拷貝到/usr/local/bin 設置許可權chmod 777 /usr/local/bin/class-dump 在控制台輸入class-dump,顯 ...


一、下載並安裝class-dump

下載class-dump-3.5.dmg  點擊下載

下載完成以後雙擊.dmg的文件,將裡面的class-dump拷貝到/usr/local/bin

設置許可權chmod 777 /usr/local/bin/class-dump

在控制台輸入class-dump,顯示如下表示配置成功

二、反編譯.framework文件

我們以解析MobileCoreServices.framework為例,在控制台輸入

class-dump -H -o /Users/wuyong/Desktop/未命名文件夾  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/Frameworks/MobileCoreServices.framework

-H命令代表著要解析的文件,-o表示解析完成保存的目錄

註意如果framework的文件不是模擬器iPhoneSimulator.platform內的文件,而是iPhoneOS.platform將會報錯

Input file (XXX) doesn't contain an executable.

三、反編譯.app文件

我們反編譯一下自己mac上的app,以我們電腦上的備忘錄為例子

class-dump -H /Applications/Notes.app -o /Users/wuyong/Desktop/未命名文件夾

記住不要直接編譯.ipa的文件否則會報錯,

 Input file (XXX) is neither a Mach-O file nor a fat archive.

 四、反編譯ipa的文件

ipa的文件不能直接被反編譯

首先右鍵ipa的文件,選擇打開方式,用解壓工具UnRAR或者其他的能解壓.rar的工具解壓

解壓後得到.app的文件最重要,-H後面的就是.app文件的目錄,在控制台運行下麵的命令,就能得到ipa文件裡面的所有的頭文件

 class-dump -H XXX.app -o /Users/wuyong/Desktop/未命名文件夾

五、Hopper Disassembler反編譯ipa文件

Hopper Disassembler和IDA都是很強大的反編譯的工具,雖然能反編譯出.h和.m的文件,但是編譯出來的是彙編語言,我反正是看不懂彙編啦

Hopper Disassembler操作很簡單

安裝Hopper Disassembler完成以後,把壓縮出來的.app的文件拖進去就OK啦,但是就像下麵一樣能看清方法的名字,方法的具體實現我實在看不懂啊

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 這是一個使用了CSS3立體效果的強大特效,本特效使用jQuery跟CSS3 transform來實現在用戶滑鼠按下拖動時,環形圖片牆可以跟隨滑鼠進行3D旋轉動畫。效果體驗:http://hovertree.com/texiao/jquery/92/進去後可以上下左右的拖動圖片。本示例中使用到了CSS ...
  • 1.概念 父元素在文檔流中高度預設是被子元素撐開的,當子元素脫離文檔流以後,將無法撐起父元素的高度,也就會導致父元素的高度塌陷 父元素的高度一旦塌陷所有元素的位置將會上移,導致整個頁面的佈局混亂 2.方法一在塌陷的父元素的最後添加一個空白的div,然後對該div進行清除浮動 使用這種方式會在頁面中添 ...
  • 先看下麵的html: 計算div內的checkbox個數:$('#divmod input[type="checkbox"]').length 計算div內checkbox被disabled的個數:$('#divmod input[type="checkbox"]:disabled').length ...
  • 禁用:.attr("disabled","disabled"); 啟用:.removeAttr("disabled"); ...
  • 一、AJAX示例1.1、優點1.2、缺點1.3、jQuery AJAX示例二、延遲對象(Deferred)2.1、回調函數2.2、deferred.done三、跨域3.1、什麼是跨域3.2、JSONP跨域3.3、jQuery使用JSONP跨域3.4、跨域資源共用(CORS)3.5、小結四、彈出層五、... ...
  • 一、前端MVC概要 1.1、庫與框架的區別 框架是一個軟體的半成品,在全局範圍內給了大的約束。庫是工具,在單點上給我們提供功能。框架是依賴庫的。AngularJS是框架而jQuery則是庫。 1.2、AMD與CMD 在傳統的非模塊化JavaScript開發中有許多問題:命名衝突、文件依賴、跨環境共用 ...
  • 查看npm的所有版本 運行命令: 命令運行後,會輸出到目前為止npm的所有版本。 將npm升級到某個版本。 升級前本機版本號是2.14.12,可通過npm -v查看。 命令運行,升級到3.1.0版: 升級完成後,查看一下本機npm的版本,就是升級後的版本。 參考: Updating npm ...
  • 01.01_電腦基礎知識(電腦概述)(瞭解) A:什麼是電腦?電腦在生活中的應用舉例 電腦(Computer)全稱:電子電腦,俗稱電腦。是一種能夠按照程式運行,自動、高速處理海量數據的現代化智能電子設備。由硬體和軟體所組成,沒有安裝任何軟體的電腦稱為裸機。常見的形式有台式電腦、筆記本 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...