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

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

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

2019-11-09 15:20:02
字體:
來源:轉載
供稿:網友

一、前言

現如今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>>> ,然后立即鎖屏。鎖屏之后,你不能通過重啟來解決,因為這種惡意軟件肯定監聽到了開機廣播:

所以這時候,受害者只能通過提示來進行付費解鎖了?;蛘咦约核C操作了。付費的邏輯比較簡單,通過加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
欧美资源在线观看| 欧美精品性视频| 亚洲第一免费网站| 欧美激情第99页| 久久综合亚洲社区| 精品国产视频在线| 亚洲欧美制服另类日韩| 国产综合香蕉五月婷在线| 在线观看国产精品日韩av| 永久免费毛片在线播放不卡| 欧美野外wwwxxx| 国产精品揄拍一区二区| 久久综合色88| 日韩av理论片| 国产精品久久久久久av| 欧美高清激情视频| 亚洲国产日韩欧美综合久久| 午夜精品一区二区三区视频免费看| 日韩精品极品视频| 一区二区三区四区精品| 久久精品视频在线| 亚洲在线第一页| 亚洲电影免费观看| 亚洲一区二区久久| 国产日韩av在线播放| 国产精品av在线| 日韩av在线免费观看| 久久九九全国免费精品观看| 日本成人精品在线| 九九热视频这里只有精品| 国产精品白丝jk喷水视频一区| 欧美插天视频在线播放| 欧美黑人又粗大| 欧美性猛交xxxx富婆| 久久久久久久久久av| 国产成人拍精品视频午夜网站| 国产精品第3页| 热99久久精品| 亚洲欧美在线免费观看| 色偷偷亚洲男人天堂| 欧美猛少妇色xxxxx| 8090理伦午夜在线电影| 疯狂做受xxxx欧美肥白少妇| 国产精品大片wwwwww| 国产999视频| 97在线视频免费看| 亚洲va欧美va国产综合剧情| 国产一区二区三区日韩欧美| 九九精品在线视频| 日韩欧美中文字幕在线观看| 欧美午夜影院在线视频| 亚洲人成电影网站色xx| 国产美女高潮久久白浆| 欧美性极品少妇精品网站| 国产精品香蕉av| 亚洲成av人片在线观看香蕉| 久久免费少妇高潮久久精品99| 成人免费在线视频网站| 日韩av色在线| 国产视频精品va久久久久久| 亚洲国产又黄又爽女人高潮的| 欧美国产第一页| 亚洲成人免费在线视频| 中文字幕日韩在线视频| 国产精品美女999| 在线播放日韩av| 国产精品久久久久久久久久99| 欧美日韩免费看| 亚洲国产精品va在线看黑人动漫| 亚洲日本中文字幕免费在线不卡| 日韩美女免费观看| 亚洲精品视频在线观看视频| 国产suv精品一区二区三区88区| 中文亚洲视频在线| 亚洲欧美制服丝袜| 久久精品国产精品亚洲| 国产精品久久久久久久久免费| 亚洲加勒比久久88色综合| 国产精品久久久久9999| 日韩av123| 欧美成人免费大片| 日本精品一区二区三区在线播放视频| 91免费看片在线| 久青草国产97香蕉在线视频| 国产在线视频不卡| 欧美老女人在线视频| 97国产真实伦对白精彩视频8| 在线观看国产精品91| 国产亚洲精品一区二555| 欧美日韩精品二区| 亚洲男人第一网站| 性欧美亚洲xxxx乳在线观看| 久久91精品国产| 96国产粉嫩美女| 亚洲视频欧洲视频| 亚洲女人天堂视频| 国产国语刺激对白av不卡| 欧美激情视频播放| 国产欧美精品久久久| 午夜精品在线观看| 久久久精品久久久| 黑丝美女久久久| 欧美孕妇毛茸茸xxxx| 国产日韩欧美影视| 欧美日韩国产一区二区| 这里只有精品视频在线| 国产欧美日韩专区发布| 久久91精品国产91久久跳| 久久精品国产亚洲一区二区| 羞羞色国产精品| 国产成人精品午夜| 亚洲女人天堂网| 欧美成人免费全部| 欧美极品第一页| 国产视频精品免费播放| 57pao成人国产永久免费| 成人信息集中地欧美| 视频在线观看99| 欧美性生交大片免网| 97精品国产aⅴ7777| 色久欧美在线视频观看| 精品在线欧美视频| 成人亲热视频网站| 国产精品网红福利| 精品美女久久久久久免费| 97不卡在线视频| 欧美限制级电影在线观看| 免费91麻豆精品国产自产在线观看| 国产999精品久久久影片官网| 91在线免费视频| 日韩在线观看免费网站| 欧美影院久久久| 欧美日韩激情网| 欧美小视频在线观看| 日韩最新在线视频| 成人性生交大片免费观看嘿嘿视频| 久久夜精品va视频免费观看| 精品国产乱码久久久久久虫虫漫画| 国产女人18毛片水18精品| 亚洲图片在线综合| 国产欧美欧洲在线观看| 欧美性生交xxxxx久久久| 2019亚洲日韩新视频| 91av在线免费观看视频| 国产精品久久久久久久久久小说| 亚洲欧美中文日韩在线v日本| 久久精品一偷一偷国产| 久久久最新网址| 海角国产乱辈乱精品视频| 亚洲欧美一区二区激情| 亚洲国产古装精品网站| 色播久久人人爽人人爽人人片视av| 成人激情视频在线| 欧美一级片一区| 欧美专区福利在线| 亚洲三级黄色在线观看| 国产日韩亚洲欧美| 成人妇女淫片aaaa视频| 日韩成人黄色av| 57pao成人国产永久免费| 欧美激情一区二区三区成人| 亚洲一区中文字幕在线观看| 亚洲欧美日韩视频一区| 国产97免费视|