chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

3天內不再提示

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

哆啦安全 ? 來源:哆啦安全 ? 2023-01-15 11:45 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

MachObfuscator混淆器

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

(1).混淆器

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

(2).二進制混淆器

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

(3).符號混淆器

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

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

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

MachObfuscator混淆器,演示效果

MachObfuscator混淆SampleApp.app應用

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

通過在MachOView中打開app的主要可執(zhí)行文件可以看到結果。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).查找應用包中的所有可執(zhí)行文件,

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

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

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

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

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

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

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

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

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

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

審核編輯 :李倩


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

    關注

    2

    文章

    808

    瀏覽量

    42689
  • 編程語言
    +關注

    關注

    10

    文章

    1957

    瀏覽量

    38386
  • 應用程序
    +關注

    關注

    38

    文章

    3339

    瀏覽量

    59707

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

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    ArkGuard混淆工具使用指南

    ArkGuard是一款源碼混淆工具,提供基礎混淆功能。當軟件發(fā)布后,其代碼很容易被他人獲取分析,通過閱讀清晰的變量名、函數(shù)名,攻擊者或競爭者可以非常輕松地理解代碼的邏輯結構、業(yè)務核心算
    的頭像 發(fā)表于 09-28 16:05 ?443次閱讀
    ArkGuard<b class='flag-5'>混淆</b>工具使用指南

    當ICE_DAT引腳和ICE_CLK引腳在應用程序代碼中配置為備用功能時,是否會導致編程失敗?

    當ICE_DAT引腳和ICE_CLK引腳在應用程序代碼中配置為備用功能時,是否會導致編程失???
    發(fā)表于 08-25 06:55

    嵌入式系統(tǒng)中,F(xiàn)LASH 中的程序代碼必須搬到 RAM 中運行嗎?

    嵌入式系統(tǒng)里,F(xiàn)LASH 中的程序代碼并非必須搬到 RAM 中運行,這得由硬件配置、實際性能需求和應用場景共同決定。就像很多低端單片機,無論是依賴片內 Flash 還是外掛的 SPI NOR
    的頭像 發(fā)表于 08-06 10:19 ?997次閱讀
    嵌入式系統(tǒng)中,F(xiàn)LASH 中的<b class='flag-5'>程序代碼</b>必須搬到 RAM 中運行嗎?

    請問如何創(chuàng)建在 RAM 區(qū)域完全獨立運行的閃存驅動程序代碼?

    我在開發(fā)閃存驅動程序代碼時遇到了一個問題。我將準備好的HEX文件寫入指定的RAM區(qū)域,并嘗試使用指針調用,但調用失敗,無法正常擦除或寫入。對于flash的操作代碼已經通過了單獨的測試,為了使其更加
    發(fā)表于 07-25 07:33

    FX3 UVC 無法與 Ubuntu 24.04 Cheese 或 Snapshot 相機應用程序配合使用,怎么處理?

    Windows 和 MacOS 上運行正常,但在 Ubuntu 上運行失敗。我對我的 USB 描述符很有信心,但不確定我對 Ubuntu 相機應用程序發(fā)送的事件的響應是否存在問題。我已經包含了啟動這兩個
    發(fā)表于 07-16 06:37

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

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

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

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

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

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

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

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

    代碼與傳統(tǒng)開發(fā)的區(qū)別 低代碼與無代碼開發(fā)的區(qū)別

    在軟件開發(fā)領域,傳統(tǒng)開發(fā)、低代碼開發(fā)以及無代碼開發(fā)是三種不同的開發(fā)方式,每種方式都有其獨特的優(yōu)勢和適用場景。 一、低代碼開發(fā)與傳統(tǒng)開發(fā)的區(qū)別 低代碼開發(fā)是一種新興的
    的頭像 發(fā)表于 01-31 10:48 ?882次閱讀

    關于cc2541程序代碼樣例

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

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

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

    TAS2521應用程序參考指南

    電子發(fā)燒友網站提供《TAS2521應用程序參考指南.pdf》資料免費下載
    發(fā)表于 12-10 13:49 ?0次下載
    TAS2521<b class='flag-5'>應用程序</b>參考指南

    AWTK-WEB 快速入門(2) - JS 應用程序

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

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

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