亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

Apk脫殼圣戰之---如何脫掉“梆梆加固”的保護殼

2019-11-09 18:33:09
字體:
來源:轉載
供稿:網友

一、前言

現如今Android用戶的安全意識不是很強,又有一些惡意開發者利用應用的名字吸引眼球,包裝一個惡意鎖機收費的應用,在用戶被騙的安裝應用之后,立馬手機鎖機,需要付費方可解鎖。這樣的惡意軟件是非常讓人痛恨的。所以本文就用一個案例來分析如何破解這類應用,獲取解鎖密碼,讓被騙的用戶可以找回爽快!

二、分析軟件鎖機原理

本文用的是一款叫做:安卓性能激活.apk,關于樣本apk文件后面會給出下載地址,從名字可以看到它肯定不會是一個惡意軟件,但是當我們安裝的時候,并且激活它的權限之后就完了。下面不多說了,直接用Jadx工具打開它:

從包名可以看到是梆梆加固的,咋們也看不到他的代碼了,所以第一步咋們得先脫殼了,在這之前我們再看看他的清單文件:

這里可以看到,他利用了設備管理器權限,來強制修改了系統密碼來做的,我們通過打開軟件也可以確定這點:

看到了,他申請了設備管理器權限,而這個權限用過的同學都知道,當獲取到這個權限之后可以控制這個設備了,包括修改系統密碼。而這個軟件也是利用這個權限來做到鎖機的。

注意:對于這個權限還有一個重要作用,就是可以防止應用被卸載,現在很多應用為了防止自己被用戶無情的卸載了,就用這個權限,可以看到這個應用申請了這個權限之后,卸載頁面:

是不可以卸載的。從Android系統來說這個也是合乎情理的,因為這個應用具備了設備管理器權限如果能被卸載那是不可能的。所以有一些應用就利用這個功能來防止被卸載。

三、脫殼工具DexExtractor原理分析

上面分析完了這個應用的鎖機原理,下面就需要破解它獲取到鎖機密碼即可,但是從上面代碼可以看到他用到了梆梆加固,所以如果想破解它得先把殼給脫了,關于脫殼文章在前面兩篇文章中介紹了兩篇關于脫殼文章:Apk脫殼圣戰之---脫掉“愛加密”的殼 和 Apk脫殼圣戰之---脫掉“360加固”的殼,本文就要先來介紹如何脫掉梆梆的殼,因為如果這個殼不脫掉,沒法分析他的惡意鎖機的解鎖密碼。

前面的這兩篇文章介紹脫殼主要是通過IDA動態調試下斷點dump出內存的dex數據,但是本文不這么玩了,而是借助一個脫殼工具DexExtractor,這個工具是開源的:https://github.com/bunnyblue/DexExtractor,這里給出了修改源代碼。其實他的原理也很簡單,就是修改系統的DexFile.cpp源碼,在解析dex的函數開頭處加上自己的dumpdex邏輯:

這里的DexHacker就是他自己定義的,這里的dexFileParse就是系統解析dex函數,從參數可以看到,有dex文件數據,大小等信息。所以就可以把這個文件dex文件弄出來了。然后修改完了這個系統DexFile文件之后,需要將其編譯到system.img鏡像中,然后刷到手機中即可。

這里大神給出了一個修改之后的system.img下載地址:https://pan.baidu.com/s/1jG3WQMU,但是需要注意的是,這個文件是Android4.4系統的,如果想在其他系統版本中操作,需要自己找到系統對應的版本找到DexFile源碼,添加上面的代碼,在編譯獲取到system.img文件即可。

所以從上面的原理可以了解到,他其實和我們之前用IDA動態調試的原理非常類似,脫殼就是一點:不管之前怎么對dex加密,最終都是需要解密加載到內存中的。所以只要找到加載dex這個點即可。那么這種方式和之前調試的方式有什么區別呢?

動態調試方便,無需其他條件限制,但是遇到反調試就會很難受了。得先解決反調試才可進行下一步脫殼。刷入system.img這種方式可以不用關心反調試,但是條件太苛刻,使用成本較高。對于不同系統版本還得準備不同版本的system.img文件,然后將其刷到設備中。

1、可以選擇刷入system.img文件

針對于上面的這種條件限制,我們有一種好的方式可以解決,就是借助于模擬器,這樣就不需要繁瑣的將system.img刷到設備中了,可以將編譯之后的system.img文件替換對應系統版本的模擬器鏡像文件即可。然后啟動模擬器。

2、可以選擇替換系統libdvm.so文件

當然我們不刷機也是可以的,大神給出了編譯之后的libdvm.so文件,其實上面編譯的system.img有點動作太大了,因為我們就修改了DexFile這個文件,其實只要編譯修改后的libdvm.so文件,然后替換設備的system/lib目錄下libdvm.so文件即可,不過設備需要root,這種方式比上面的刷機system.img方便。

四、DexExtractor工具使用條件

上面講解了DexExtractor工具的原理,下面就來詳細介紹他的用法吧,其實他的用法也很簡單,把他的源碼下載下來之后,他還有一個解密工程DexReverse,這個是一個java工程,為了解密dump出的dex文件的。那為什么要解密呢?還有這個工具dump出的dex文件在哪?下面就來詳細介紹:

看到DexHacker這個文件中,會將dex文件保存到sd卡中,而每個應用啟動的時候都是在一個進程中創建一個虛擬機,所以這里如果想讓這個工具可以dump出應用的dex文件,需要給這個應用添加一個寫sd卡的權限:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

這個比較簡單,咋們可以利用apktool反編譯應用,在AndroidManifest.xml中添加這個權限,在回編譯即可。

那么dump出dex文件之后為何還要解密呢?這個主要是為了對抗加固策略:

現在一些加固平臺,比如梆梆加固,會對dex的內存dump脫殼進行檢測,具體的就是hook修改當前進程的read、write讀寫相關的函數,一旦檢測到read,write讀寫相關的函數的操作中有對dex文件的dump行為會有對抗的處理,防止dex的內存dump,因此呢,DexExtractor脫殼工具的作者為了過掉這種內存dump的對抗,需要先將原始的dex文件數據進行base64加密然后進行寫文件到sdcard中進行輸出,當pull導出拿到base64加密的dex文件時還需要進行base64的解密才能獲取到原始的dex文件。這個解密工具也在工具目錄下Decode.jar,用法:java -jar Decode.jar dexdir;這里需要注意的是,dexdir是我們pull出dex之后的目錄,記住是目錄,不是對應的dex文件哦!

五、DexExtractor工具使用步驟

到這里我們就分析完了DexExtractor工具的原理,使用條件,使用步驟了,下面咋們就來實踐一下,把我們在前面說到的那個應用脫個殼。這里為了簡單,直接啟動一個4.4版本的模擬器,然后替換他的system.img文件。下面的步驟很簡單了:

第一步:替換system.img文件

用上面修改之后的system.img文件替換4.4的system.img文件,文件目錄:AndroidSDK目錄/system-images/android-19/default/armeabi-v7a/system.img

最好把之前的system.img文件進行改名備份。然后啟動模擬器即可。

第二步:添加寫SD卡權限

上面說到了,因為這個工具需要將dump出的dex文件寫到SD卡中,所以我們需要檢查脫殼應用是否具備寫SD卡權限,我們用Jadx工具打開這個應用,發現沒有,所以我們需要用apktool工具反編譯,然后在AndroidManifest.xml中添加<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>,然后在回編譯重簽名即可。

第三步:安裝應用觀察日志

安裝應用到模擬器,因為是模擬器,可能操作比較麻煩,所以這里需要借助兩個命令可以完美的安裝啟動應用即可,一個是adb install xxx.apk,安裝成功之后。

在啟動應用:adb shell am start -n tx.QQ898507339.bzy9/tx.qq898507339.bzy9.MainActivity

其中應用的包名和啟動activity的名稱都可以通過AndroidManifest.xml中查看:

無需任何界面操作即可完成啟動應用,然后查看這個包名對應的日志信息,日志tag是dalvikvm:

在這些日志中可以看到脫殼之后的dex文件放在sd中,咋們把這個文件pull出來即可:

adb pull /sdcard/tx.qq898507339.bzy9_classes_927104.dex D:/DexExtractor/

這時候我們離成功就不遠了,得到了脫殼后的dex文件了,但是我們還需要進行解密。

注意:這里記得觀察"create file end" 字段內容,有的應用可能內部本身有加載dex的邏輯,所以這里會發現有多個dex文件的產生,不過沒關系,可以把所有的dex文件都導出本地,然后分析即可。

第三步:解密脫殼后的dex文件

前面說過了,為了應對現在加固平臺的檢測,DexExtractor工具將dex進行加密了,可以利用Decode.jar工具進行解密:java -jar Decode.jar D:/DexEctractor/

注意,這里的是目錄,不是dex文件哦。然后去目錄查看解密之后的dex文件即可,然后我們用jadx打開這個dex文件,可惜的是打開失敗,所以就用dex2jar工具將其變成jar文件進行查看:

轉化的時候報錯了,說這個dex是odex文件。關于odex格式文件不多解釋了,可自行搜索哈。jadx現在還不能識別odex文件的,這里好奇用IDA打開一下,發現竟然可以成功,所以IDA還真強大哈!

第四步:odex文件轉化成dex文件

但是咋們用jadx用慣了,所以還是想用jadx打開它,其實我們只需要將odex轉化成dex即可,這里借助了smali.jar工具了,我們先用baksmali.jar將odex文件反編譯成smali文件,然后在用smali.jar將smali文件編譯成dex文件即可。這兩個工具用法比較簡單:

把c:/classes.dex反編譯為smali,輸出到c:/classout目錄

java -jar baksmali-2.0.3.jar -o c:/classout/ c:/classes.dex 把c:/classout目錄下的smali文件編譯為c:/classes.dexjava -jar smali-2.0.3.jar c:/classout/ -o c:/classes.dex

就用上面這兩個工具可以把odex文件變成dex文件,然后在用jadx工具打開即可:

在前面查看AndroidManifest.mxl文件中可以找到設備管理器聲明的類jh,這里直接查看源碼,果然是當獲取到設備管理器權限之后,立馬將鎖屏密碼設置成:>>>qq 898507339 bzy>>> ,然后立即鎖屏。鎖屏之后,你不能通過重啟來解決,因為這種惡意軟件肯定監聽到了開機廣播:

所以這時候,受害者只能通過提示來進行付費解鎖了。或者自己刷機操作了。付費的邏輯比較簡單,通過加qq,然后惡意者會讓你付費,給完錢之后他會用電話號碼:18258614534,給你發送一條短信,代碼中監聽到有這條短信就自動解鎖,也就是將鎖屏密碼清空即可:

六、脫殼流程

看到了這里我們就把這個軟件給脫殼破解了,下面來總結一下脫殼的流程和現在惡意鎖屏軟件原理:

第一、DexExtractor脫殼原理

通過修改系統DexFile.cpp源碼,添加dump出dex的邏輯,然后將其編譯到system.img和libdvm.so中,對于我們可以使用模擬器將system.img進行替換,或者用真機替換system/lib目錄下的libdvm.so文件,從而讓每個應用啟動的時候使用到DexFile類功能都會執行我們dump出dex的邏輯。

關于這個工具使用的步驟也非常簡單:

第一步:啟動模擬器選擇修改后代碼的system.img文件。

第二步:檢查脫殼程序是否具備寫SD卡權限。

第三步:查看脫殼程序對應的日志,tag是dalvikvm。發現create file end等信息段。找到脫殼之后的dex文件路徑。

第四步:將sd卡中脫殼之后的dex文件導出到本地,在使用Decode.jar工具進行解密即可。

第五步:解密之后的dex格式odex,所以為了使用jadx方便查看代碼邏輯,可以使用smali.jar工具將其轉化成dex文件。

第二、鎖機原理

通過本文的案例可以看到,現在一些惡意的收費鎖機軟件,故意利用軟件名稱吸引用戶安裝,安裝之后就引導用戶授權然后進行鎖機,當用戶被鎖機之后只能通過給錢解決,當然也可以自行刷機了。本文中的這個軟件的案例就利用了系統的設備管理器來設置系統的鎖機密碼。關于設備管理器這個權限,其實有很多用途,比如可以擦除設備數據,防止被卸載的功能,感興趣的同學可以自行搜索。

本文資料下載地址:http://download.csdn.net/detail/jiangwei0910410003/9748357

注意:system.img文件是Android4.4版本的,切不可替換錯誤!

七、總結

本文脫殼其實是借助了DexExtractor工具進行的,但是原理都是一致的,就是不管之前dex怎么加密,最終都是需要解密加載到內存中的,所以在這個時刻,進行操作dump出dex即可。對于之前介紹的方式使用IDA動態調試下斷點來dump出dex這個最大的問題就在于如何解決反調試問題,而這個工具操作就可以無需關心反調試了。但是這種方式操作也是比較麻煩的,因為操作的前提條件比較多。好了到這里就介紹完了本文的內容,看完的同學記得多多分享擴散哦,如果有打賞那就最好了!

更多內容:點擊這里

關注微信公眾號,最新技術干貨實時推送

掃一掃加小編微信添加時注明:“編碼美麗”否則不予通過!


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩精品极品视频| 日本在线精品视频| 欧美成人性生活| 亚洲国产精品久久久久秋霞蜜臀| 日韩精品极品在线观看播放免费视频| 亚洲成人精品视频| 国产极品精品在线观看| 久久久精品在线观看| 国产欧美韩国高清| 中文字幕国内精品| 欧美裸身视频免费观看| 91青草视频久久| 69**夜色精品国产69乱| 粉嫩老牛aⅴ一区二区三区| 国产精品久久久久999| 国产精品情侣自拍| 国产亚洲精品日韩| 久久久久久久av| 欧美一级黑人aaaaaaa做受| 欧洲亚洲妇女av| 91亚洲精华国产精华| 色爱精品视频一区| 69av在线视频| 日韩精品日韩在线观看| 丰满岳妇乱一区二区三区| 国产精品久久久久99| 久久精品久久久久久| 中文字幕久久精品| 国产成人自拍视频在线观看| 欧美日韩国产一区在线| 亚洲精品福利资源站| 庆余年2免费日韩剧观看大牛| 国产欧美一区二区三区视频| 日韩av影视在线| 91a在线视频| 中文字幕国产精品| 日韩一级裸体免费视频| 日韩美女视频免费看| 少妇av一区二区三区| 日本免费久久高清视频| 91国内揄拍国内精品对白| 国产一区香蕉久久| 8x海外华人永久免费日韩内陆视频| 成人网址在线观看| 亚洲国产成人精品久久| 精品国产依人香蕉在线精品| 97超级碰碰人国产在线观看| 亚洲精品大尺度| 亚洲国产精品va在线看黑人动漫| 精品中文字幕视频| 国产精品高潮呻吟久久av无限| 亚洲国产精品一区二区三区| 亚洲天堂av高清| 亚洲精品日韩欧美| 国产激情综合五月久久| 久久久国产精品视频| 色偷偷综合社区| 久久久久免费精品国产| 亚洲精品美女在线观看| 欧美中在线观看| 欧美日韩成人黄色| 不卡av在线播放| 欧美影院久久久| 97精品国产91久久久久久| 38少妇精品导航| 亚洲国产精品网站| 色婷婷综合久久久久中文字幕1| 国产精品日日摸夜夜添夜夜av| 国产精品网红福利| 成人免费淫片aa视频免费| 久久91精品国产91久久跳| 国产午夜精品全部视频在线播放| 欧美精品在线免费播放| 亚洲成人久久久| 亚洲色图欧美制服丝袜另类第一页| 欧美日韩亚洲激情| 久久精品国产99国产精品澳门| 激情成人在线视频| 成人中文字幕+乱码+中文字幕| 美女999久久久精品视频| 亚洲欧洲av一区二区| 欧美日韩中文字幕综合视频| 久久久久久美女| 日韩精品视频免费专区在线播放| 色老头一区二区三区在线观看| 欧美精品成人在线| 欧美激情亚洲另类| 久久激情视频久久| 亚洲人成在线播放| 欧美激情啊啊啊| 久久高清视频免费| 88xx成人精品| 国产在线拍揄自揄视频不卡99| 欧美三级欧美成人高清www| 亚洲一二在线观看| 91久久精品国产91久久| 国产在线精品自拍| 亚洲免费福利视频| 成人黄色短视频在线观看| 大伊人狠狠躁夜夜躁av一区| 欧美激情一二三| 欧美在线观看网址综合| 97av在线视频| 国产精品夜间视频香蕉| 国产精品永久免费视频| 国产精品美女免费看| 亚洲综合中文字幕在线| 欧美在线视频网站| 精品久久久久久国产91| 国产精品av在线播放| 久久亚洲欧美日韩精品专区| 理论片在线不卡免费观看| 91精品国产高清久久久久久| 欧美激情一区二区三区在线视频观看| 久久久久久亚洲精品中文字幕| 欧美色视频日本版| 日韩视频亚洲视频| 日本不卡视频在线播放| 欧美裸体xxxx极品少妇软件| 成人国产精品久久久久久亚洲| 亚洲另类图片色| 欧美日韩国产中文精品字幕自在自线| 日韩精品极品在线观看播放免费视频| 美日韩在线视频| 8090理伦午夜在线电影| 久久九九有精品国产23| 日韩精品在线观看一区二区| 欧美激情一区二区三区久久久| 精品精品国产国产自在线| 色与欲影视天天看综合网| 久久精品欧美视频| 亚洲国产精品va| 97**国产露脸精品国产| 日韩电影大全免费观看2023年上| 日韩大胆人体377p| 精品丝袜一区二区三区| 成人欧美在线视频| 欧美精品少妇videofree| 精品国偷自产在线视频99| 久久久亚洲欧洲日产国码aⅴ| 2020久久国产精品| 国产精品视频久久久| 欧美日韩免费观看中文| 亚洲精品理论电影| 欧美黑人国产人伦爽爽爽| 日韩欧美成人免费视频| 久久亚洲精品中文字幕冲田杏梨| 神马久久桃色视频| 国产欧美日韩高清| 国产97在线观看| 国产精品久久一| 日韩精品中文字幕在线观看| xxx欧美精品| 欧美极品少妇xxxxⅹ裸体艺术| 亚洲丝袜一区在线| 欧美有码在线观看视频| 国产成人精品最新| 亚洲一区二区三区视频播放| 91精品免费看| 国产视频在线观看一区二区| 久久国产精品首页| 亚洲精品久久久久久久久久久久久| 欧美精品在线看| 国产精品免费久久久|