女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

MacOS/iOS Mach-O應用程序代碼混淆

哆啦安全 ? 來源:哆啦安全 ? 2023-01-15 11:45 ? 次閱讀

MachObfuscator混淆器

MachObfuscator是一個Apple MacOS平臺上與編程語言無關的Mach-O二進制符號混淆器。專業術語:

(1).混淆器

一種使軟件難以逆向的工具

(2).二進制混淆器

一種混淆器,它在機器代碼上運行,而不是在源代碼上運行

(3).符號混淆器

一種僅混淆符號名稱的混淆器,不會改變程序控制流。

MachObfuscator直接轉換Mach-O文件中的符號。Mach-O格式主要用于Apple平臺,作為可執行文件和庫的機器代碼容器。MachObfuscator不需要訪問應用程序源代碼以對其進行模糊處理。

992f133e-9471-11ed-bfe3-dac502259ad0.png

MachObfuscator混淆器,演示效果

MachObfuscator混淆SampleApp.app應用

9954fb62-9471-11ed-bfe3-dac502259ad0.gif

通過在MachOView中打開app的主要可執行文件可以看到結果。MachOView顯示模糊的Objc選擇器:

99884fb2-9471-11ed-bfe3-dac502259ad0.png

混淆的Objc類名:

9997b1be-9471-11ed-bfe3-dac502259ad0.png

上面僅顯示了樣本部分混淆前后的效果。

使用說明

$ ./MachObfuscator
usage: ./MachObfuscator [-qvdhtD] [-m mangler_key] APP_BUNDLE


  Obfuscates application APP_BUNDLE in-place.


Options:
  -h, --help              help screen (this screen)
  -q, --quiet             quiet mode, no output to stdout
  -v, --verbose           verbose mode, output verbose info to stdout
  -d, --debug             debug mode, output more verbose info to stdout
  --dry-run               analyze only, do not save obfuscated files


  --erase-methtype        erase methType section (objc/runtime.h methods may work incorrectly)
  -D, --machoview-doom    MachOViewDoom, MachOView crashes after trying to open your binary (doesn't work with caesarMangler)
  --swift-reflection      obfuscate Swift reflection sections (typeref and reflstr). May cause problems for Swift >= 4.2


  --objc-blacklist-selector NAME[,NAME...]  do not obfuscate given selectors
  --objc-blacklist-selector-regex REGEXP    do not obfuscate selectors matching given regular expression


  --preserve-symtab       do not erase SYMTAB strings
  --erase-section SEGMENT,SECTION    erase given section, for example: __TEXT,__swift5_reflstr


  --erase-source-file-names PREFIX   erase source file paths from binary. Erases paths starting with given prefix
                                     by replacing them by constant string
  --replace-cstring STRING           replace arbitrary __cstring with given replacement (use with caution). Matches entire string,
  --replace-cstring-with STRING      adds padding 0's if needed. These options must be used as a pair.


  --skip-all-frameworks              do not obfuscate frameworks
  --skip-framework framework         do not obfuscate given framework
  --obfuscate-framework framework    obfuscate given framework (whitelist for --skip-all-frameworks)


  -m mangler_key,
  --mangler mangler_key   select mangler to generate obfuscated symbols


Development options:
  --xx-no-analyze-dependencies       do not analyze dependencies


Available manglers by mangler_key:
  caesar - ROT13 all objc symbols and dyld info
  realWords - replace objc symbols with random words (dyld info obfuscation supported)

MachObfuscator混淆

(1).查找應用包中的所有可執行文件,

(2).以遞歸方式搜索所有依賴庫,這些庫的依賴關系等等,

(3).搜索應用包中的所有NIB文件,

(4).區分可模糊文件(應用程序包中的文件)和不可模糊文件(應用程序包外部的文件)

(5).從整個依賴圖中收集Obj-C符號,導出嘗試和導入列表,

(6).創建符號白名單和符號黑名單(在不可混淆的文件中使用的符號),

(7).使用選定的漫游器修改白名單符號,導出嘗試和導入列表,

(8).替換可混淆文件中的符號,

(9).清除可選的部分,

(10).一次保存所有文件。

https://github.com/nigel193/ios-developer-tools
https://github.com/kam800/MachObfuscator
https://github.com/zayki/MachObfuscator

審核編輯 :李倩


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 二進制
    +關注

    關注

    2

    文章

    803

    瀏覽量

    42145
  • 編程語言
    +關注

    關注

    10

    文章

    1955

    瀏覽量

    36070
  • 應用程序
    +關注

    關注

    38

    文章

    3322

    瀏覽量

    58714

原文標題:MacOS/iOS Mach-O應用程序代碼混淆

文章出處:【微信號:哆啦安全,微信公眾號:哆啦安全】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    如何將VCP功能添加到UVC應用程序代碼中?

    我正在嘗試將 VCP 功能添加到 UVC 應用程序代碼中。 我的平臺是CYUSB3011-BZXC UsbUart 示例代碼已添加到現有的 UVC 應用程序中。 初始化和主循環
    發表于 05-16 06:41

    CY7C65215使用IOS中的USB CDC UART類驅動程序是否可以與IOS一起工作?

    我知道 CY7C65215 沒有適用于 IOS 的驅動程序。但是,使用 IOS 中的 USB CDC UART 類驅動程序是否可以與 IOS
    發表于 04-30 07:57

    MCP:連接AI與應用程序的開放標準!

    。 在第二種方式中,開發者需要為AI大模型編寫與具體應用程序協作的訪問代碼,例如,開發者希望DeepSeek-R1與Gmail協作,就需要手動編寫協作代碼。這種手動編寫協作代碼的方式,
    的頭像 發表于 03-21 18:21 ?733次閱讀
    MCP:連接AI與<b class='flag-5'>應用程序</b>的開放標準!

    如何部署OpenVINO?工具套件應用程序

    編寫代碼并測試 OpenVINO? 工具套件應用程序后,必須將應用程序安裝或部署到生產環境中的目標設備。 OpenVINO?部署管理器指南包含有關如何輕松使用部署管理器將應用程序打包并
    發表于 03-06 08:23

    關于cc2541程序代碼樣例

    CC2541哪里有cc2541的模數轉換模塊和藍牙模塊的程序代碼樣例呀?初學不懂
    發表于 01-20 07:14

    OpenAI更新macOS ChatGPT應用,推出“代理”功能實現無縫集成

    OpenAI近日宣布,針對macOS平臺的ChatGPT應用程序迎來重大更新,此次更新引入了與多種筆記和編碼應用程序的無縫集成功能,極大地提升了用戶體驗和工作效率。 此次更新的核心亮點在于“代理
    的頭像 發表于 01-02 10:49 ?597次閱讀

    AWTK-WEB 快速入門(1) - C 語言應用程序

    導讀AWTK可以使用相同的技術棧開發各種平臺的應用程序。有時我們需要使用Web界面與設備進行交互,本文介紹一下如何使用C語言開發AWTK-WEB應用程序。用AWTKDesigner新建一個應用程序
    的頭像 發表于 11-27 11:46 ?599次閱讀
    AWTK-WEB 快速入門(1) - C 語言<b class='flag-5'>應用程序</b>

    單片機燒錄程序用什么軟件

    單片機燒錄程序是單片機開發過程中的一個重要環節,涉及到將編寫好的程序代碼通過燒錄器寫入單片機的ROM中,以實現對單片機的控制。 燒錄器的類型 燒錄器是用于將程序代碼寫入單片機ROM中的設備,根據其
    的頭像 發表于 09-02 10:05 ?3025次閱讀

    蘋果發布macOS 13.6.8和macOS 12.7.6更新,修復多個漏洞

    今日(7月30日),蘋果公司進一步推出了兩款全新的產品——macOS 14.6的正式版以及macOS 15.1的開發者Beta預覽版;與此同時,也為廣大Mac用戶推送了兩款極為重要的系統更新,分別是macOS Ventura 1
    的頭像 發表于 07-30 15:55 ?4263次閱讀

    CYC8PROTO-063-BLE是否可以通過智能手機上的標準設置應用程序建立連接?

    你好,我是使用 BLE 的新手,正在使用 CYC8PROTO-063-BLE 板,我想知道是否可以通過智能手機(iOS 或 Android)上的標準設置應用程序建立連接。 到目前為止,我只能通過 AIROC 應用程序進行連接,但
    發表于 07-23 08:20

    蘋果發布iOS 18、iPadOS 18、macOS Sequoia、watchOS 11和tvOS 18的公開測試版

    測試版將為各種蘋果設備帶不來足夠大的驚喜但依然有用的功能。 iOS 18公開測試版將帶來iPhone軟件工作方式的關鍵更新,包括對RCS消息的支持和新的自定義選項,讓用戶可以將應用程序放在主屏幕上
    的頭像 發表于 07-16 09:06 ?651次閱讀
    蘋果發布<b class='flag-5'>iOS</b> 18、iPadOS 18、<b class='flag-5'>macOS</b> Sequoia、watchOS 11和tvOS 18的公開測試版

    蘋果宣布與OpenAI合作,未來iOS、iPadOS、macOS將集成ChatGPT

    在科技界掀起AI浪潮的當下,蘋果公司再次展現其前瞻性的視野和戰略布局。據6月21日外媒報道,蘋果公司在全球開發者大會主題演講中,宣布了一項引人注目的合作——與OpenAI攜手,將ChatGPT這一人工智能語言模型整合進其最新的操作系統iOS 18、iPadOS 18和macOS
    的頭像 發表于 06-22 16:53 ?1081次閱讀

    mach3如何更改電機方向

    Mach3是一款廣泛使用的數控系統,用于控制各種類型的機床,如銑床、車床、激光切割機等。在某些情況下,用戶可能需要更改電機的方向以滿足特定的加工需求。以下是詳細的步驟和說明。 準備工作 在開始更改
    的頭像 發表于 06-12 14:24 ?2001次閱讀

    mach3和數控系統有什么區別

    數控機床的運動。它是一種基于PC的控制系統,可以與各種數控機床兼容。Mach3軟件可以接收G代碼,將其轉換為機床的運動指令,從而實現對機床的精確控制。 數控系統,即數控機床控制系統,是數控機床的核心部件。它負責接收數控程序,解析
    的頭像 發表于 06-12 14:18 ?2711次閱讀

    mach3控制卡怎樣連接伺服

    在這篇文章中,我們將詳細介紹如何將Mach3控制卡與伺服電機連接。Mach3是一款廣泛使用的數控(CNC)軟件,它可以控制各種類型的機械設備,包括銑床、車床、激光切割機等。伺服電機是一種高精度、高
    的頭像 發表于 06-12 14:15 ?3469次閱讀