閑聊阿里加固(一)
0x00 閑扯
1.為什么要寫(xiě)這些?
折騰了一段時(shí)間的Android加固,看了很多大牛的文章,收獲還是蠻大的,不過(guò)好像大部分的文章都是直接寫(xiě)在哪里下斷點(diǎn)如何修復(fù)之類的,寫(xiě)出如何找到這個(gè)脫殼點(diǎn)的文章還是比較少,所以我準(zhǔn)備整理一下這部分的知識(shí),講講如何找到脫殼點(diǎn),希望能和大家多交流
2.需要什么樣的基礎(chǔ)?
用過(guò)JEB,IDA Pro,如果有跟著其它表哥自己脫過(guò)殼的那就更好了:),另外,既然都開(kāi)始玩加固了,那么解壓apk后的工程目錄,smali語(yǔ)法等這種基礎(chǔ)的東西就不再提了
3.為什么選擇阿里加固?
因?yàn)槲沂稚系募庸虡颖居邢?,不是每個(gè)版本的加固樣本都有,所以綜合考慮了一下,選擇阿里的樣本,能比較容易形成一種循序漸進(jìn)學(xué)習(xí)的感覺(jué),樣本全部來(lái)自歷年阿里CTF和阿里移動(dòng)安全挑戰(zhàn)賽
4.適合對(duì)象?
最適合跟著其它表哥文章脫過(guò)殼,卻不知道為什么要那樣脫殼的同學(xué),因?yàn)榻酉聛?lái)這幾篇文章講的就是如何通過(guò)一步步的分析,找到脫殼點(diǎn)
0x01 樣本初分析---classes.dex
這個(gè)樣本是阿里14年出的,名字是jscrack.apk,我們來(lái)載入JEB了解大概信息
首先我們來(lái)看箭頭指向的地方:
1.fak.jar:從名字來(lái)看,這是一個(gè)jar文件,但是JEB識(shí)別出來(lái)是一個(gè)dex,這個(gè)信息提供的很關(guān)鍵,我們可以猜想,阿里加固的方法會(huì)不會(huì)將源dex文件隱藏在這個(gè)fak.jar里面?
2.StupApplication:可以看到入口變成了StupApplication,有過(guò)Android開(kāi)發(fā)經(jīng)驗(yàn)的同學(xué)們都知道,一般情況下,我們?cè)陂_(kāi)發(fā)APP的時(shí)候,如果有全局變量,數(shù)據(jù)初始化之類的操作,會(huì)寫(xiě)一個(gè)StartApplication類繼承Application類,那么顯然這里是阿里加固自己添加的一個(gè)入口,用來(lái)執(zhí)行一些初始化的操作,比如解密dex,反調(diào)試,檢測(cè)模擬器等等之類的,當(dāng)然這只是我們的猜測(cè),不一定正確
3.mobisec.so
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動(dòng)安全 [無(wú)線安全]玩轉(zhuǎn)無(wú)線電——不安全的藍(lán)牙鎖 2017-07-26
- 消息隊(duì)列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識(shí)別反義詞同義詞 2017-07-26
- 從棧不平衡問(wèn)題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實(shí)現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動(dòng)安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來(lái)看看(二) 2017-07-26
![學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開(kāi)發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)](http://m.roadsoft.com.cn/attached/image/templet/e87d53eb-cf7a-4689-887a-1cd260f416a5.jpg)