安卓反編譯apk,Andorid APK反逆向

 2023-10-08 阅读 30 评论 0

摘要:Andorid APK反逆向解決方案---梆梆加固原理探尋http://blog.csdn.net/androidsecurity/article/details/8892635 Android APK加殼技術方案【1】http://blog.csdn.net/androidsecurity/article/details/8678399 Android APK加殼技術方案【2】http://blog.csdn.net/androidsecur

Andorid APK反逆向解決方案---梆梆加固原理探尋
http://blog.csdn.net/androidsecurity/article/details/8892635

Android APK加殼技術方案【1】
http://blog.csdn.net/androidsecurity/article/details/8678399

Android APK加殼技術方案【2】
http://blog.csdn.net/androidsecurity/article/details/8809542

梆梆加固 官網

安卓反編譯apk,http://dev.bangcle.com


http://www.secneo.com/appProtect/

?

梆梆加固apk
下載一個apk上傳到梆梆云端,獲取其加固包

梆梆可以很準確的解析混淆過的apk文件(說明混淆對于保護文件的作用并不是那么大)

安卓逆向有什么用。keywords:
dexguard 用法等;
android apk 反逆向
android 加殼

?


為什么這么多商業Android開發者不混淆代碼?

這里面應該是有這些原因存在:
  1. 領導、產品、項管在這方面沒有意識,不重視。
  2. 單靠ProGuard是不夠的, 隨隨便便就被反編譯了,況且一些Activity,Service的名字不能被混淆,混淆后xml文件中相關的類找不到它們了。還有一些反射相關的也不能被混淆,等等…
  3. 混淆后增加了測試成本。
  4. 國內的安全意識普遍沒有那么高。

其實自動打包時,大多數公司還是會用官方提供的Proguard的默認混淆的(個別公司除外)。蜻蜓FM也混淆了,用的就是Proguard 然而并沒有什么卵用。

混淆想做到安全,還是需要自己做,或者購買一些第三方專業的混淆工具,比如:
  1. 國外的DexGuard,一年600多刀,效果不錯。混淆后反編譯出來的都是亂碼,但這樣成本并不是一兩天時間,可能會遇到:
    1. 混淆后部分應用市場讀卻不到AndroidManifest.xml中的相關信息,審核失敗的情況
    2. 還有比如有時對gradle打包支持不到位,需要特別寫腳本支持混淆流程的
    3. 接入一些第三方的庫混淆后會有問題等等要解決,
    4. 還需要經常升級混淆程序,所以總體還是會耗費不少時間的。
  2. 像微信連資源文件名都混淆,并且大部分東西都放在.so文件中,估計是自己做的,這個是需要一定精力的。
  3. 國內的沒使用過,有一些什么梆梆加固,愛加密的,不知道混淆效果如何……
  • 從安全角度

密碼學里對“安全的”算法有一描述:即使攻擊者知道了該加解密算法,在他們不知道密鑰的情況下,使用算法的系統很難(沒有絕對安全)被攻破。

所以混淆代碼的作用只是增加了攻擊者知道“系統”所使用的算法的難度。而安全本身在于“系統”所選擇的算法以及對應“密鑰”。(“系統”及“密鑰”是個廣義概念,可類比為移動app所使用的協議以及校驗信息)
  • 從盈利角度
如果app是工具類,混淆代碼還是有必要的,否則第三方很輕松拿到代碼改一改也可以上線了。
如果app是作為一個用戶與服務提供者進行交互(信息交換)的終端之一,注意設計好雙方的通信協議,并保護好核心代碼


ref:?https://www.zhihu.com/question/37446729

Android APK加固技術方案調研

軟件安全領域的攻防向來是道高一尺魔高一丈,攻防雙方都處于不斷的演變和進化過程中,因此軟件加固技術需要長期持續的研究與投入。

目前成熟的第三方解決方案

1.?娜迦

APK反編譯。針對Android平臺下的APP被逆向分析,破解,植入木馬病毒后,用戶敏感信息泄露或者被釣魚網站劫持,NAGA Android保護采用防止靜態分析與防止動態調試全面防護的思路,在未保護程序運行的不同周期采取不同程度的加固措施,可以針對銀行、基金、券商,電商等需在線支付領域及游戲領域,提供定制型APP安全解決方案。

主要實現:

  • 類抽取:保護dex文件,防止靜態分析及動態破解
  • 代碼加解密:保護so文件,防止靜態破解
  • 網絡訪問控制:保護so文件,攔截惡意廣告,阻止注入型木馬
  • 敏感文件檢測:保護so文件,防止靜態調試
  • 整體包裹:保護dex文件,防止靜態破解
  • 利用重定位清除ELF頭:保護so文件,利用系統機制ELF頭已經被系統清除,不兼容X86處理器
  • 字符串表加密:保護so文件,防止靜態破解
  • 檢查核心庫:保護so文件,防止功能性數據庫被劫持
  • 檢查調試器:保護so文件,防止動態調試
  • Xposed檢查:保護so文件,防止so文件,防止靜態調試,防dump 防xposed脫殼神器對加固apk進行一鍵脫殼
  • 防止跟蹤:保護so文件,防止動態跟蹤
  • 強力清除ELF頭:保護so文件,防止靜態分析
  • 中間碼亂序:保護smali文件,dex保護,防止靜態分析,不兼容Android5.0 ART模式
  • 重定位加密殼段:保護so文件,對抗靜態分析
  • 殼完整性檢查:保護so文件,防止對APP程序中的殼段進行修改、調試 兼容性100%

擴展閱讀:娜迦社區

2.?愛加密

愛加密主要功能:

1. 漏洞分析:

  • 文件檢查:檢查dex、res文件是否存在源代碼、資源文件被竊取、替換等安全問題
  • 漏洞掃描:掃描簽名、XML文件是否存在安全漏洞、存在被注入、嵌入代碼等風險。
  • 后門檢測:檢測App是否存在被二次打包,然后植入后門程序或第三方代碼等風險。
  • 一鍵生成:一鍵生成App關于源碼、文件、權限、關鍵字等方面的安全風險分析報告。

apk3。2. 加密服務:

  • DEX加殼保護:DEX文件加殼保護對DEX文件進行加殼防護,防止被靜態反編譯工具破解獲取源碼。
  • 內存防dump保護:防止通過使用內存dump方法對應用進行非法破解
  • 資源文件保護:應用的資源文件被修改后將無法正常運行
  • 防二次打包保護:保護應用在被非法二次打包后不能正常運行。
  • 防調試器保護:防止通過使用調試器工具(例:zjdroid)對應用進行非法破解
  • 多渠道打包:上傳1個APK,通過選擇android:name和填寫android:value來實現對每一個渠道的包的生成和加密
  • 漏洞分析服務:漏洞分析采用文件檢查、漏洞掃描、后門檢測等技術方向對APK進行靜態分析并支持一鍵生成分析報告
  • 渠道監測服務:監控國內400多個渠道市場入口,對應用的各渠道的下載量、版本信息、正盜版進行一站監控
  • 簽名工具:愛加密提供純綠色簽名工具,支持Windows、Linux和MAC系統,同時支持批量簽名
  • DEX專業加殼保護:本服務是對安卓DEX文件進行加殼保護,有效防止所有靜態調試器對APK進行破解
  • DEX專業加花保護:本服務對安卓DEX文件進行加入花指令(無效字節碼)保護
  • 資源文件指紋簽名保護:對資源文件指紋簽名進行驗證保護,有效防止資源文件被篡改
  • 高級防二次打包保護:本服務對APK進行防止二次打包保護,防止APK被使用非法手段修改替換文件后進行二次打包
  • 高級防調試器保護:防止通過使用調試器工具(如:zjdroid、APK改之理、ida等)對應用進行非法破解
  • 高級內存保護:本服務是對內存數據的專業高級保護,可防止內存調試,防止通過dump獲取源碼,防止內存修改
  • 截屏防護:防止黑客通過截屏形式獲取應用賬號、應用密碼、支付銀行卡號、支付銀行卡密碼,支持安卓所有機型
  • 本地數據文件保護:對APK應用的網絡緩存數據、本地儲存數據(提供SDK)進行深度保護
  • 源碼優化:1) 一鍵清除Log(開發日志)信息;2) 一鍵優化減少加密后增大的源用包大小
  • 防止腳本:本服務愛加密提供防止腳本SDK,用戶根據開發幫助文檔進行二次開發,此保護項可有效防止游戲非法使用腳本
  • 防止加速器:防止游戲使用加速器,破壞游戲公平(如:防八門神器和葫蘆俠中的加速器功能)
  • 防止模擬器運行:防止模擬器非法運行(可以防止運行在PC上的任何類型的android模擬器)
  • 防止內購破解:防止游戲被內購破解(如:游戲內部有支付項,可以防止支付項相關內容被破解)
  • SO文件保護:so文件專業保護,對so文件進行優化壓縮、源碼加密隱藏、防止調試器逆向分析

3. 渠道監測:

  • 渠道數據監控
  • 精準識別渠道正盜版
  • 盜版APP詳情分析

3.?梆梆加固

提供的移動應用保護服務:

  • 防逆向保護:以加密代碼的方式阻止反編譯,從而防止被竊取代碼和創意
  • 防篡改保護:通過對app的完整性保護,防止app被篡改或者盜版
  • 反調試保護:阻止應用運行中被動態注入,防止被外掛,木馬偷竊賬號密碼,修改交易金額等
  • 存儲數據加密保護:更底層,跨文件格式的數據加密,防止應用數據被竊取
  • 環境監測和保護:云監測設備環境,防止盜版應用,惡意應用的釣魚攻擊

擴展閱讀:安全SDK下載

4.?360加固保

加固保為移動應用提供專業安全的保護,可防止應用被逆向分析、反編譯、二次打包,防止嵌入各類病毒、廣告等惡意代碼,從源頭保護數據安全和開發者利益,主要提供:

  • 反篡改:通過簽名校驗保護,能有效避免應用被二次打包,杜絕盜版應用的產生
  • 反竊取:對內存數據進行變換處理和動態跟蹤,有效防止數據被獲取和修改
  • 反逆向:對代碼進行加密壓縮,可防止破解者還原真實代碼邏輯,避免被復制
  • 反調試:多重手段防止代碼注入,可避免外掛、木馬、竊取賬號密碼等行為

[總結]常見app漏洞及風險

靜態破解:

android 10、通過工具apktool、dex2jar、jd-gui、DDMS、簽名工具,可以對任何一個未加密應用進行靜態破解,竊取源碼。

二次打包

通過靜態破解獲取源碼,嵌入惡意病毒、廣告等行為再利用工具打包、簽名,形成二次打包應用。

本地儲存數據竊取

通過獲取root權限,對手機中應用儲存的數據進行竊取、編輯、轉存等惡意行為,直接威脅用戶隱私。

界面截取

通過adb shell命令或第三方軟件獲取root權限,在手機界面截取用戶填寫的隱私信息,隨后進行惡意行為。

輸入法攻擊

通過對系統輸入法攻擊,從而對用戶填寫的隱私信息進行截獲、轉存等惡意操作,竊取敏感信息。

協議抓取

逆向apk流程、通過設置代理或使用第三方抓包工具,對應用發送與接收的數據包進行截獲、重發、編輯、轉存等惡意操作。

[總結]Android app加密保護核心概念

防內存竊取

防止通過gdb、gcore,從內存中截取dex文件,獲取代碼片段,從而反編譯還原APK進行不法操作。

防動態跟蹤

防止通過ptrace調試進程,跟蹤、攔截、修改正在運行的應用,進行動態注入,保護程序運行安全。

防逆向分析

防止通過APKTool、IDA Pro等反編譯工具破解DEX文件,從而獲取APK源代碼,保護代碼層安全。

防惡意篡改

校驗APK完整性,自動終止運行被篡改的APK,二次打包后應用都無法使用,杜絕盜版應用的出現。

存儲數據加密保護

android,更底層,跨文件格式的數據加密,防止應用數據被竊取。

[我們的措施]Android程序反破解技術

對抗反編譯

對抗反編譯是指apk文件無法通過反編譯工具(例如ApkTool,BakSmali,dex2jar等)對其進行反編譯,或者反編譯后無法得到軟件正確的反匯編代碼。

基本思路是尋找反編譯工具在處理apk或者dex文件時的缺陷,然后在自己的代碼中加以利用,讓反編譯工具在處理我們apk文件的時候拋出異常或者反編譯失敗,有兩種方法可以找到反編譯工具的缺陷:

  • 閱讀反編譯工具的源碼
  • 壓力測試

對抗靜態分析

反編譯工具一直在改進,因此即使你在版本2.1發現它的缺陷并加以利用,使反編譯你的apk失敗,但很可能在版本2.2就把這個缺陷解決了,因此,不要指望反編譯工具永遠無法反編譯你的apk,我們還需要使用其他方法來防止apk被破解:

  • 代碼混淆技術,ProGuard提供了壓縮,混淆,優化Java代碼和(Shrinking),混淆(Obfuscation),優化(Optimition)Java代碼和反混淆棧跟蹤(ReTrace)的功能。
  • NDK保護:逆向NDK程序的匯編代碼比逆向Java代碼枯燥和困難很多,同時使用C++也可以對敏感字符串和代碼進行加密。
  • 外殼保護:針對NDK編寫的Native代碼。

對抗動態調試

  • 檢測調試器:動態調試使用調試器來掛鉤apk,獲取apk運行時的數據,因此,我們可以在apk中加入檢測調試器的代碼,當檢測到apk被調試器連接時,終止apk的運行。
  • 檢測模擬器:apk發布后,如果發現其運行在模擬器中,很有可能是有人試圖破解或者分析它,因此這時我們也要終止apk的運行。

防止重編譯

  • 檢查APK的簽名
  • 校驗APK的完整性
  • 校驗classes.dex文件的完整性

參考資料

  • APK 的自我保護
  • Android軟件安全與逆向分析
  • 閑聊Android軟件保護
  • Android混淆技巧與反混淆
  • Android應用分析進階教程之一 初識JEBAPI

?

http://www.jianshu.com/p/856bf5b437aa

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/3/131343.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息