[發明專利]一種基于Java反射機制的安卓應用自動脫殼方法在審
| 申請號: | 201610061008.8 | 申請日: | 2016-01-28 |
| 公開(公告)號: | CN105740708A | 公開(公告)日: | 2016-07-06 |
| 發明(設計)人: | 陳偉騰;陳鐘;李青山;關志;陳果;高健博;秦煜;李洪生;軒志朋;王曉青 | 申請(專利權)人: | 博雅網信(北京)科技有限公司;北京大學 |
| 主分類號: | G06F21/56 | 分類號: | G06F21/56 |
| 代理公司: | 沈陽東大知識產權代理有限公司 21109 | 代理人: | 梁焱 |
| 地址: | 100080 北京市海淀區*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 java 反射 機制 應用 自動 脫殼 方法 | ||
技術領域
本發明屬于移動互聯網網絡安全技術領域,具體涉及一種基于Java反射機制的安卓應用自動脫殼方法。
背景技術
Android開發者常常面臨的一個問題就是防破解、防二次打包;現如今,安全問題越來越重要,越來越多的Android開發者也開始尋求安全的保護方案;為了加強APP安全性,越來越多的開發者選擇APP加固方案對APP進行加固保護來防止二次打包(盜版)、數據篡改等風險;目前惡意代碼往往也會采用加固技術對抗木馬查殺,為了精確定位惡意代碼,需要使用相應的脫殼技術。
現有技術中,AppSpear和DexHunter系統都是基于Android系統源碼開發,其中AppSpear采用模擬人工點擊應用以觸發執行所有代碼,同時通過記錄所有執行過的指令來還原代碼,可能導致有些代碼沒有觸發從而無法恢復;而DexHunter采用主動觸發所有代碼,在代碼即將執行前一刻進行收集,在對抗某些加固技術是可行的,但是在對抗像百度加固這樣只有真正執行代碼之后才進行還原的是無法恢復完整的代碼。
發明內容
針對現有技術的不足,本發明提出一種基于Java反射機制的安卓應用自動脫殼方法,以達到保證DEX文件的完整性和完整脫殼的目的。
一種基于Java反射機制的安卓應用自動脫殼方法,包括以下步驟:
步驟1、定位內存中的安卓應用可執行文件;
步驟2、確定上述可執行文件中所有需要被轉存的類的類型描述符,并利用java的反射機制獲取所有類所聲明的域和方法,并進一步獲取域和方法的信息;
步驟3、從可執行文件中獲取所有已知的解密方法及其參數,并利用java的反射機制進行動態調用,實時對處于加密狀態下的域和方法信息進行解密;
步驟4、根據解密后的域和方法重寫可執行文件,完成安卓應用的自動脫殼。
步驟1所述的定位內存中的安卓應用可執行文件,具體為:從Dalvik虛擬機運行時保存的全局變量中獲取。
步驟2所述的域和方法的信息,具體為:域的信息包括:名稱、類型、標志符和值;方法的信息包括:名稱、返回值類型、參數類型、訪問標志和代碼地址。
步驟3所述的從可執行文件中獲取所有已知的解密方法及其參數,具體為:通過構造控制流圖的方式并采用到達定值算法獲取。
本發明優點:
本發明提出一種基于Java反射機制的安卓應用自動脫殼方法,該方法相比AppSpear被動觸發采用主動觸發的模式保證DEX文件的完整性,相比dexhunter保證完整脫殼,dexhunter可以得到被保護的dex,但某些方法依然處于加密狀態,而本發明通過收集所有解密操作并動態執行,使得所有方法都處于解密狀態;此外,以上兩種基于Android系統源碼開發的系統對于系統依賴強,需要針對不同版本系統分別開發,難以擴展維護,本發明基于Java反射機制,輕量且在各版本Android系統都適用。
附圖說明
圖1為本發明一種實施例的基于Java反射機制的安卓應用自動脫殼方法流程圖;
圖2為本發明一種實施例的基于Java反射機制的安卓應用自動脫殼過程示意圖。
具體實施方式
下面結合附圖對本發明一種實施例做進一步說明。
本發明實施例中,如圖1和圖2所示,基于Java反射機制的安卓應用自動脫殼方法,包括以下步驟:
步驟1、定位內存中的安卓應用可執行文件;
Android加固技術通常會采用多種方案進行DEX隱藏(e.g.擦除DEX頭部標識),但Dalvik虛擬機運行時系統將會把所有已經加載到內存的DEX文件保存在一個全局變量gDvm里;本發明實施例通過dlopen、dlsym函數動態加載libdvm.so,并獲取到全局變量gDvm的地址,通過這個結構最終獲取到pDexFile,即已加載DEX內存地址;
步驟2、確定上述可執行文件中所有需要被轉存的類的類型描述符,并利用java的反射機制獲取所有類所聲明的域和方法,并進一步獲取域和方法的信息;具體步驟如下:
步驟2-1、確定可執行文件中所有需要被轉存的類的類型描述符;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于博雅網信(北京)科技有限公司;北京大學,未經博雅網信(北京)科技有限公司;北京大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610061008.8/2.html,轉載請聲明來源鉆瓜專利網。





