手把手教你進(jìn)行JS逆向并去除App開(kāi)屏廣告
前言
Hi,大家好,我是碼農(nóng)星期八,今天來(lái)搞點(diǎn)關(guān)于逆向相關(guān)的,如何去除app的開(kāi)屏廣告。
搞逆向還是需要有一點(diǎn)Java和安卓的基礎(chǔ)的,但是真沒(méi)基礎(chǔ)也沒(méi)事,看熱鬧不閑事大,搞!
本次測(cè)試的app是火柴人突擊格斗.apk。
網(wǎng)盤(pán)下載地址:
鏈接:https://pan.baidu.com/s/1pAs-_DLCNpmUSn4z2-c_xg
提取碼:mf2b
安裝完畢后,打開(kāi)游戲會(huì)先蹦出來(lái)一個(gè)廣告!
哎,app熟悉的操作,這搞的,那就開(kāi)始搞吧!!!
用到的工具
AndroidKiller、雷電模擬器。
知識(shí)補(bǔ)充
了解安卓開(kāi)發(fā)的知道,AndroidManifest文件是配置文件。
像什么activity,廣播,服務(wù),權(quán)限等,都需要在這里面配置。
下面也標(biāo)識(shí)出來(lái)了,主啟動(dòng)activity的特征是啥。
注:一個(gè)apk只能有一個(gè)主啟動(dòng)activity!
破解思路
1.app拖入AndroidKiller進(jìn)行反編譯
2.修改AndroidManifest.xml文件
通過(guò)知識(shí)補(bǔ)充我們知道,AndroidManifest里面配置了主啟動(dòng)activity是什么特征。
那我們來(lái)看一下這個(gè)火柴人app的主activity吧!
通過(guò)查看,可以發(fā)現(xiàn)主activity是com.mosads.adslib.Splash.MosSplashActivity,那該怎么證明呢?
可以通過(guò)cmd命令adb shell dumpsys window | findstr mCurrentFocus命令查看當(dāng)前的activity驗(yàn)證。
但是這個(gè)app不太好驗(yàn)證,開(kāi)屏廣告蹦的有點(diǎn)快!
。。。
可以換個(gè)思路,看看廣告之后是哪個(gè)activity,然后將它設(shè)置為主activity。
通過(guò)命令可以發(fā)現(xiàn),主activity是org.cocos2dx.lua.AppActivity。
然后我們?cè)贏ndroidManifest.xml中發(fā)現(xiàn),它還真存在,但是它并不是主activity。
然后我們將他修改一下,將它設(shè)置成主activity,將原來(lái)的刪除,進(jìn)行Ctrl+s。
3.回編譯
將原來(lái)的app卸載掉,安裝回編譯后的app,你就會(huì)發(fā)現(xiàn),好了,廣告沒(méi)了!!!
人間正道
可能這時(shí)候你一看,wc,這也不難啊,基本會(huì)安卓的都能看懂,不就是利用的安卓的AndroidManifest.xml配置文件原理嗎?
我行我也上,然后逮著其他大廠app一波操作,然后。。。反編譯失敗,哈哈哈!
這是因?yàn)橐恍゛pp可能加殼了或者做了其他操作,所以導(dǎo)致反編譯失敗,不用擔(dān)心,隨著水平升級(jí),都會(huì)解決的!
總結(jié)
根據(jù)我的猜測(cè),如果能反編譯并且回編譯成功,80%的app都是可以通過(guò)修改AndroidManifest.xml文件來(lái)實(shí)現(xiàn)app開(kāi)屏去廣告的,并且操作不算太難!