導航:首頁 > 操作系統 > android脫殼

android脫殼

發布時間:2022-01-12 00:21:45

Ⅰ 軟體「脫殼」是什麼意思

軟體脫殼,顧名思義,就是對軟體加殼的逆操作,把軟體上存在的殼去掉。在一些計算機軟體里也有一段專門負責保護軟體不被非法修改或反編譯的程序。它們一般都是先於程序運行,拿到控制權,然後完成它們保護軟體的任務。由於這段程序和自然界的殼在功能上有很多相同的地方,基於命名的規則,大家就把這樣的程序稱為"殼"了。就像計算機病毒和自然界的病毒一樣,其實都是命名上的方法罷了。

在一些計算機軟體里有一段專門負責保護軟體不被非法修改或反編譯的程序。它們一般都是先於程序運行,拿到控制權,然後完成它們保護軟體的任務。就像動植物的殼一般都是在身體外面一樣理所當然(但後來也出現了所謂的"殼中帶籽"的殼)。由於這段程序和自然界的殼在功能上有很多相同的地方,基於命名的規則,大家就把這樣的程序稱為"殼"。軟體加殼是作者寫完軟體後,為了保護自己的代碼或維護軟體產權等利益所常用到的手段。目前有很多加殼工具,既然有盾,自然就有矛,脫殼即去掉軟體所加的殼,軟體脫殼 有手動脫和自動脫殼之分。

android怎樣破解已使用加殼技術的APP

破解加了dex殼的app,關鍵是要獲得解密後的源dex,現在Android加殼技術還很不成熟,大多都是通過DexClassLoader或者隱藏的函數openDexFile來將源dex載入進來,然後動態替換Application來啟動源程序,跟Windows上傳統的PE文件加殼有一定區別。
要破解傳統的殼,需要跟蹤控制流找到OEP,然後把源程序從內存中mp下來,重建輸入表,最困難的就是要跟著外殼的控制流走,安全工程師為了加大破解難度,使用了很多技術來讓破解者走得更艱難。安全工程師與破解者對抗的關鍵點就在尋找OEP的困難性上。
在Android平台上,正因為新興的dex加殼技術不成熟,導致有些另類的脫殼方法可以繞過分析演算法,直接將源程序mp下來。舉個例子,安卓在4.0版本以後提供openDexFile這個函數來從內存中載入dex,所需要提供的參數是源dex在內存中的地址,所以只要對這個函數下斷,然後從寄存器里找到內存地址,就能將解密後的源dex從內存中mp下來,直接對其反編譯就能獲得源代碼了。更進一步,關於openDexFile這個函數,其實它與libdvm.so這個庫有密不可分的關系,這個庫里提供大量操作dex文件的函數,如果對這個庫里的相關函數下斷,然後從內存中暴力mp一大塊內存區域,經常能直接將內存中的源dex給抓下來。

Ⅲ android手機的apk文件中的class.dex文件是什麼是做什麼用的呢

簡單說就是優化後的android版.exe。每個apk安裝包里都有。相對於PC上的java虛擬機能運行.class;android上的Davlik虛擬機能運行.dex。

作用

讓dalvik能夠運行。

dex好處

可以直接用DexClassLoader類載入,動態載入。於是只要在dex上加殼,在程序運行時脫殼,就可以規避靜態反編譯的風險。

(3)android脫殼擴展閱讀

使用dex文件的原因

在Android系統中,一個App的所有代碼都在一個Dex文件裡面。Dex是一個類似Jar的包,存儲了很多Java編譯位元組碼的歸檔文件。

因為Android系統使用Dalvik虛擬機,所以需要把使用Java Compiler編譯之後的class文件轉換成Dalvik能夠執行的class文件。

Ⅳ 製作一個共存版apk,貌似需要脫殼

1、刪除原簽名和反編譯文件
用WinRAR打開apk文件——進入道META-INF目錄——刪除*.SF和*.RSA文件(*代表文件名,切記勿刪除MANIFEST.MF)——打開Apktool——選擇apk文件——選擇文件保存目錄——反編譯apk
2、第一次替換
打開你下載滴Notepad ——按下Ctrl F打開搜索——點擊「文件查找」選項卡——在「包含子目錄」和「包含隱藏目錄」上打勾——在查找目標com.tencent***leqq,替換為ciom.tencent.*(*代表任意字元)——文件類型*.*——在文章中替換
3、第二次替換
查找目標com/tencent/mobileqq——替換為com/tencent/*(必須和上面滴一樣)
4、第三次替換(這個有的軟體不需要比如QQ2.2,但是為了教程假如他可替換)
搜索android.task***leqq——替換android.task.*(和上面滴一樣)
P.S.此步驟先搜索task.看看有沒有類似滴文件在決定替換。
5、重新編譯apk
打開apktool——選擇apk目錄——選擇生成目錄——編譯apk
6、簽名apk
apktool打開里滴簽名工具——選擇apk文件——選擇簽名文件保存目錄——製作簽名!

Ⅳ 安卓軟體能不能脫殼

安卓軟體是用java編寫的,java語言不可能真正的編譯成機器碼,apk文件其實是一個壓縮包,裡麵包含有程序的源碼和資源,你可以去谷哥安卓開發工具里找到解包器(是Linux平台的工具),解開後就可以用java的反編譯程序修改了!

閱讀全文

與android脫殼相關的資料

熱點內容
在哪裡能製作手機app 瀏覽:163
python搭建web網站 瀏覽:679
空乘程序員 瀏覽:345
玩加密幣犯法嗎 瀏覽:241
html載入pdf 瀏覽:1000
git源碼如何本地編譯命令 瀏覽:868
單片機研究報告 瀏覽:265
天正建築命令欄 瀏覽:598
加密貨幣應稅事件 瀏覽:459
宋pro的app哪裡下載 瀏覽:207
單片機原理與介面技術第三版課後答案 瀏覽:890
程序員小明教學 瀏覽:613
linuxbin解壓縮 瀏覽:382
四川電信伺服器租用雲空間 瀏覽:31
我的世界伺服器內存大怎麼辦 瀏覽:388
互聯網與伺服器鏈接不成功怎麼辦 瀏覽:645
python拆分數組 瀏覽:83
虛機伺服器怎麼增加D盤的空間 瀏覽:502
程序員搬運 瀏覽:65
手機app的視頻存在哪裡了 瀏覽:280