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

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

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

MacOS/iOS Mach-O應(yīng)用程序代碼混淆

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

掃碼添加小助手

加入工程師交流群

MachObfuscator混淆器

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

(1).混淆器

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

(2).二進(jìn)制混淆器

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

(3).符號混淆器

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

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

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

MachObfuscator混淆器,演示效果

MachObfuscator混淆SampleApp.app應(yīng)用

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

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

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

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

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

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

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

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

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

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

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

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

審核編輯 :李倩


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

    關(guān)注

    2

    文章

    809

    瀏覽量

    42905
  • 編程語言
    +關(guān)注

    關(guān)注

    10

    文章

    1962

    瀏覽量

    39328
  • 應(yīng)用程序
    +關(guān)注

    關(guān)注

    38

    文章

    3343

    瀏覽量

    60096

原文標(biāo)題:MacOS/iOS Mach-O應(yīng)用程序代碼混淆

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    HarmonyOS應(yīng)用代碼混淆技術(shù)方案

    代碼混淆技術(shù)可以增加代碼的復(fù)雜性和模糊性,從而提高攻擊者分析代碼的難度。
    的頭像 發(fā)表于 11-21 16:17 ?5524次閱讀
    HarmonyOS應(yīng)用<b class='flag-5'>代碼</b><b class='flag-5'>混淆</b>技術(shù)方案

    ArkGuard混淆工具使用指南

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

    學(xué)生適合使用的SOLIDWORKS 云應(yīng)用程序

    隨著科技的不斷發(fā)展,計算機輔助設(shè)計(CAD)技術(shù)已經(jīng)成為現(xiàn)代工程教育的重要組成部分。SOLIDWORKS作為一款CAD軟件,其教育版云應(yīng)用程序為學(xué)生提供了強大而靈活的設(shè)計平臺。本文將探討
    的頭像 發(fā)表于 09-15 10:39 ?647次閱讀
    學(xué)生適合使用的SOLIDWORKS 云<b class='flag-5'>應(yīng)用程序</b>

    當(dāng)ICE_DAT引腳和ICE_CLK引腳在應(yīng)用程序代碼中配置為備用功能時,是否會導(dǎo)致編程失敗?

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

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

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

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

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

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

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

    如何將VCP功能添加到UVC應(yīng)用程序代碼中?

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

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

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

    MCP:連接AI與應(yīng)用程序的開放標(biāo)準(zhǔn)!

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

    如何部署OpenVINO?工具套件應(yīng)用程序?

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

    HarmonyOS NEXT 原生應(yīng)用/元服務(wù)-ArkTS代碼調(diào)試使用斷點

    處停住,并高亮顯示。 二、異常斷點 在BreakPoints中,勾選ArkTS/Js Exception Breakpoints,開啟異常斷點。 當(dāng)調(diào)試應(yīng)用程序中出現(xiàn)異常時,會在異常處高亮,并且代碼
    發(fā)表于 03-04 17:15

    具有大型嵌入式SRAM,用于一般MCU應(yīng)用程序的指紋芯片-P1032BF1

    P1032BF1是一款基于ARM Cortex-M3的單片機,專為Wi-Fi /藍(lán)牙通信控制而設(shè)計;能夠?qū)崿F(xiàn)指紋的圖像采集、特征提取、特征比對,可應(yīng)用于智能鎖;支持大型程序代碼和擁有大型嵌入式SRAM,也可用于一般的MCU應(yīng)用。
    的頭像 發(fā)表于 03-04 09:27 ?810次閱讀

    基于HPM_SDK_ENV開發(fā)應(yīng)用程序的升級處理

    基于HPM_SDK_ENV開發(fā)應(yīng)用程序的方式HPM_SDK_ENV是先楫半導(dǎo)體MCU的Windows集成開發(fā)環(huán)境,其包含HPM_SDK,工具鏈,依賴工具(cmake,ninja,openocd等
    的頭像 發(fā)表于 02-08 13:38 ?1574次閱讀
    基于HPM_SDK_ENV開發(fā)<b class='flag-5'>應(yīng)用程序</b>的升級處理

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

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