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

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

MachObfuscator混淆器

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

(1).混淆器

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

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

一種混淆器,它在機(jī)器代碼上運(yùn)行,而不是在源代碼上運(yùn)行

(3).符號(hào)混淆器

一種僅混淆符號(hào)名稱的混淆器,不會(huì)改變程序控制流。

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

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

MachObfuscator混淆器,演示效果

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

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

通過(guò)在MachOView中打開(kāi)app的主要可執(zhí)行文件可以看到結(jié)果。MachOView顯示模糊的Objc選擇器:

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

混淆的Objc類名:

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

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

使用說(shuō)明

$ ./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).以遞歸方式搜索所有依賴庫(kù),這些庫(kù)的依賴關(guān)系等等,

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

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

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

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

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

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

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

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

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

審核編輯 :李倩


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

    關(guān)注

    2

    文章

    809

    瀏覽量

    42824
  • 編程語(yǔ)言
    +關(guān)注

    關(guān)注

    10

    文章

    1960

    瀏覽量

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

    關(guān)注

    38

    文章

    3342

    瀏覽量

    60011

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

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

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

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

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

    ArkGuard混淆工具使用指南

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

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

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

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

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

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

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

    請(qǐng)問(wèn)如何創(chuàng)建在 RAM 區(qū)域完全獨(dú)立運(yùn)行的閃存驅(qū)動(dòng)程序代碼

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

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

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

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

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

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

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

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

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

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

    編寫(xiě)代碼并測(cè)試 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)試使用斷點(diǎn)

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

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

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

    關(guān)于cc2541程序代碼樣例

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

    OpenAI更新macOS ChatGPT應(yīng)用,推出“代理”功能實(shí)現(xiàn)無(wú)縫集成

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