1.拿到apk包時(shí),第一步先判斷是否加殼,加的是什么殼
在手機(jī)上或者虛擬機(jī)上用MT管理器找到對(duì)應(yīng)的apk包
可以看的這個(gè)包雖然說是未加固,但還有個(gè)偽百度加固,其實(shí)也就是加了
百度的殼的
2.利用BlackDex32進(jìn)行去殼
在手機(jī)或虛擬機(jī)上安裝BlackDex32,在軟件中選擇你要去殼的APP(ps:要先把a(bǔ)pk安裝上,不然找不到), 在軟件中可以指定去殼后的文件存儲(chǔ)路徑,到對(duì)應(yīng)位置下找到apk的包名即可找到去殼后的dex文件
3.回到MT管理器,打開脫殼的后dex與未脫殼的dex進(jìn)行比較
未脫殼的:
脫殼后的:
可以看到,第一個(gè)是一些測(cè)試用代碼,第二個(gè)是百度的殼相關(guān)代碼,第三個(gè)是真正隱藏起來的代碼,第四個(gè)和暴露出來的代碼一致。
那么就簡(jiǎn)單了,保留第三個(gè)和第四個(gè),其他的都不要了。
4.還是用MT管理器修改你想破解的代碼
可以看的源碼跟java類似,但還是很難解讀,這就需要預(yù)先了解一些smali語法了。
5.修改原始apk包
- 將之前修改好的dex文件重命名為classes.dex,用MT管理器查看原始apk包,將原始的dex文件重命名為classes1.dex,將新的dex文件拖進(jìn)去
- 打開assets文件夾,將里面帶baidu字樣的全都刪掉,再打開lib下的armeabi文件夾,同樣把帶baidu字樣的so文件全都刪掉
- 打開AndroidManifest.xml文件,找到application標(biāo)簽里的android:name屬性,這里的啟動(dòng)類是假,根據(jù)內(nèi)容找到對(duì)應(yīng)的代碼文件去尋找真正的啟動(dòng)類
打開對(duì)應(yīng)的AppInfo文件,找到真正啟動(dòng)類
- 將真正的啟動(dòng)類替換掉假的啟動(dòng)類,保存退出
6.長(zhǎng)按apk包,對(duì)apk進(jìn)行簽名,簽名完后將之前的安裝的刪掉,重新安裝破解的即可
以上只是淺顯的針對(duì)我的那個(gè)apk進(jìn)行的簡(jiǎn)單破解,很大概率可能還是解決不了你的問題,具體問題還是得具體分析,當(dāng)然如果能對(duì)你有所幫助,那我也很開心能幫上忙。
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)
點(diǎn)擊舉報(bào)。