安卓apk加殼工具 怎么給手機(jī)上的apk軟件加殼安裝?
怎么給手機(jī)上的apk軟件加殼安裝?實(shí)現(xiàn)的最主要的方法就是利用了dex文件動(dòng)態(tài)加載,將主邏輯的dex文件經(jīng)過(guò)加密隱藏在殼程序的dex中,并在運(yùn)行時(shí)通過(guò)so進(jìn)行解密,并從內(nèi)存讀取dex數(shù)據(jù),直接在nati
怎么給手機(jī)上的apk軟件加殼安裝?
實(shí)現(xiàn)的最主要的方法就是利用了dex文件動(dòng)態(tài)加載,將主邏輯的dex文件經(jīng)過(guò)加密隱藏在殼程序的dex中,并在運(yùn)行時(shí)通過(guò)so進(jìn)行解密,并從內(nèi)存讀取dex數(shù)據(jù),直接在native層進(jìn)行一個(gè)動(dòng)態(tài)加載。這樣的實(shí)現(xiàn)有幾個(gè)關(guān)鍵點(diǎn):dex文件不存儲(chǔ)在設(shè)備的物理存儲(chǔ)區(qū)域而是將文件的數(shù)據(jù)加密存儲(chǔ)在殼程序的dex數(shù)據(jù)區(qū)域(關(guān)于dex的結(jié)構(gòu)就在此不再解釋);從內(nèi)存中獲取dex數(shù)據(jù),動(dòng)態(tài)加載到進(jìn)程空間中;殼程序的application重定向加載到原程序的application對(duì)象。
android怎樣破解已使用加殼技術(shù)的APP?
破解加了dex殼的app,關(guān)鍵是要獲得解密后的源dex,現(xiàn)在Android加殼技術(shù)還很不成熟,大多都是通過(guò)DexClassLoader或者隱藏的函數(shù)openDexFile來(lái)將源dex加載進(jìn)來(lái),然后動(dòng)態(tài)替換Application來(lái)啟動(dòng)源程序,跟Windows上傳統(tǒng)的PE文件加殼有一定區(qū)別?! ∫平鈧鹘y(tǒng)的殼,需要跟蹤控制流找到OEP,然后把源程序從內(nèi)存中dump下來(lái),重建輸入表,最困難的就是要跟著外殼的控制流走,安全工程師為了加大破解難度,使用了很多技術(shù)來(lái)讓破解者走得更艱難。安全工程師與破解者對(duì)抗的關(guān)鍵點(diǎn)就在尋找OEP的困難性上。 在Android平臺(tái)上,正因?yàn)樾屡d的dex加殼技術(shù)不成熟,導(dǎo)致有些另類的脫殼方法可以繞過(guò)分析算法,直接將源程序dump下來(lái)。舉個(gè)例子,安卓在4.0版本以后提供openDexFile這個(gè)函數(shù)來(lái)從內(nèi)存中加載dex,所需要提供的參數(shù)是源dex在內(nèi)存中的地址,所以只要對(duì)這個(gè)函數(shù)下斷,然后從寄存器里找到內(nèi)存地址,就能將解密后的源dex從內(nèi)存中dump下來(lái),直接對(duì)其反編譯就能獲得源代碼了。更進(jìn)一步,關(guān)于openDexFile這個(gè)函數(shù),其實(shí)它與libdvm.so這個(gè)庫(kù)有密不可分的關(guān)系,這個(gè)庫(kù)里提供大量操作dex文件的函數(shù),如果對(duì)這個(gè)庫(kù)里的相關(guān)函數(shù)下斷,然后從內(nèi)存中暴力dump一大塊內(nèi)存區(qū)域,經(jīng)常能直接將內(nèi)存中的源dex給抓下來(lái)。
什么叫給軟件加殼?怎么加?
加殼的全稱應(yīng)該是可執(zhí)行程序資源壓縮,是保護(hù)文件的常用手段,加殼過(guò)的程序可以直接運(yùn)行,但是不能查看源代碼.要經(jīng)過(guò)脫殼才可以查看源代碼。 加殼的另一種常用的方式是在二進(jìn)制的程序中植入一段代碼,在運(yùn)行的時(shí)候優(yōu)先取得程序的控制權(quán),做一些額外的工作。大多數(shù)病毒就是基于此原理。加殼的程序經(jīng)常想盡辦法阻止對(duì)程序的反匯編分析或者動(dòng)態(tài)分析,以達(dá)到它不可告人的目的。這種技術(shù)也常用來(lái)保護(hù)軟件版權(quán),防止被軟件破解?,F(xiàn)在有專用的加殼軟件,還可以給病毒加殼,使其能逃避一些殺軟的查殺
加殼軟件怎么編寫(xiě)?
加殼:其實(shí)是利用特殊的算法,對(duì)EXE、DLL文件里的資源進(jìn)行壓縮,改變其原來(lái)的特征碼,隱藏一些字符串等等,使一些資源編輯軟件不能正常打開(kāi)或者修改。類似WINRAR的效果,只不過(guò)這個(gè)壓縮之后的文件,可以獨(dú)立運(yùn)行,解壓過(guò)程完全隱蔽,都在內(nèi)存中完成。 解壓原理,是加殼工具在文件頭里加了一段指令,告訴CPU,怎么才能解壓自己?,F(xiàn)在的CPU都很快,所以這個(gè)解壓過(guò)程你看不出什么東東。軟件一下子就打開(kāi)了,只有你機(jī)器配置非常差,才會(huì)感覺(jué)到不加殼和加殼后的軟件運(yùn)行速度的差別。 當(dāng)你加殼時(shí),其實(shí)就是給可執(zhí)行的文件加上個(gè)外衣。用戶執(zhí)行的只是這個(gè)外殼程序。當(dāng)你執(zhí)行這個(gè)程序的時(shí)候這個(gè)殼就會(huì)把原來(lái)的程序在內(nèi)存中解開(kāi),解開(kāi)后,以后的就交給真正的程序。所以,這些的工作只是在內(nèi)存中運(yùn)行的,是不可以了解具體是怎么樣在內(nèi)存中運(yùn)行的。 通常說(shuō)的對(duì)外殼加密,都是指很多網(wǎng)上免費(fèi)或者非免費(fèi)的軟件,被一些專門(mén)的加殼程序加殼,基本上是對(duì)程序的壓縮或者不壓縮。因?yàn)橛械臅r(shí)候程序會(huì)過(guò)大,需要壓縮。但是大部分的程序是因?yàn)榉乐狗锤櫍乐钩绦虮蝗烁櫿{(diào)試,防止算法程序不想被別人靜態(tài)分析。加密代碼和數(shù)據(jù),保護(hù)你的程序數(shù)據(jù)的完整性。不被修改或者破解。 A殼和C殼算法不同。
如何手動(dòng)給軟件加殼,求解答?
加殼可以免殺。但是面對(duì)現(xiàn)在的主動(dòng)防御,加殼加花之類的反調(diào)試技術(shù)用于免殺很蒼白。
加殼的原理是給原程序加上一段保護(hù)程序,有保護(hù)和加密功能,運(yùn)行加殼后的文件先運(yùn)行殼再運(yùn)行真實(shí)文件,從而起到保護(hù)作用。也就是一般的殺毒方法找不到病毒的特征碼。