簡體   English   中英

提取Objective-c二進制文件

[英]Extract Objective-c binary

是否有可能提取二進制文件,以獲取二進制文件后面的代碼? 使用類轉儲,您可以看到實現地址,但是是否也可以看到實現地址中的代碼? 有沒有辦法做到這一點?

您的所有代碼都編譯為單個指令,放在可執行文件的文本部分中。 編譯器負責將更高級別的語言轉換為更簡單的處理器特定指令。 除非代碼非常簡單,否則恢復此過程幾乎是不可能的。 一些問題是語句的模糊性和整體可讀性:例如,局部變量將只是一個偏移地址。

如果要讀取反匯編代碼(編譯更高級代碼的指令),請在可執行文件中使用此命令:

otool -tV file

您可以反編譯(更准確地說,反匯編)二進制文件並獲取它的程序集,但是無法取回原始的Objective-C。

我的好奇心讓我問你為什么要這樣做!?

otx http://otx.osxninja.com/是一個很好的工具,用於象征基於otool的反匯編它將處理x86_64和i386反匯編。

Mach-O-Scope https://github.com/smorr/Mach-O-Scope是一個建立在otx之上的工具,可以將它全部轉儲到sqlite3數據庫中進行瀏覽和注釋。

它不會給你原始的來源 - 但它會讓你非常接近為你提供在方法中發送的消息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM