Android逆向|修改apk資源實現去廣告
本篇是《Android逆向入門教程》的第二章第6節,更多章節詳細內容及實驗材料可通過加入底部免費的【Android逆向成長計劃】星球獲得!
0x00前言
在我們使用app的時候,經常會遇到開屏廣告和彈窗廣告,顧名思義,開屏廣告是打開app就會出現的廣告頁面,彈窗廣告就是打開app后彈出的廣告彈窗。要是一不小心點到廣告,還會去跳轉到相關頁面下載,令人極其討厭,本篇教程就針對部分app廣告問題來進行破解去除。
0x01實驗一:開屏廣告去除
開屏廣告選取的apk是火柴人,初次安裝上apk,打開之后截圖如下

不難發現,初次打開apk的界面并不是我們游戲界面,而是廣告界面。對于這種開屏廣告的分析,首先我們可以將apk拖入AndroidKiller中,查看AndroidManifest.xml配置文件,
在這里我們需要學習一個知識點,apk的啟動界面是在AndroidManifest.xml配置聲明的,他的配置聲明位置如圖所示:

我們只需要修改apk主界面的activity為我們的初次打開界面即可。在模擬器上打開我們的app,進入主界面,使用命令adb shell dumpsys activity | findstr "mFocusedActivity",查看當前界面的組件名為org.cocos2dx.lua.AppActivity,將其所在的界面設置為初始界面即可完成去除開屏廣告。



然后保存,回編譯,安裝,打開app發現開屏廣告成功去除。

0x02實驗二:彈窗廣告去除
彈窗廣告選取的apk是laserdraw,初次安裝上apk之后,在我們進行繪畫的時候總是會出現一個彈窗廣告,該apk的最下面也會有廣告顯示,而且每次打開一個界面都會彈出一個廣告,效果圖如下:

本次實驗就是要去除掉該apk的彈窗廣告。將該apk拖入AndroidKiller中反編譯,打開AndroidManifest.xml,找到修改user-permission標簽,刪除掉關于網絡權限配置聲明。
主要是刪除掉這以下幾個:
android.permission.INTERNET,訪問網絡連接,可能產生GPRS流android.permission.CHANGE_WIFI_STATE Wifi 改變狀態android.permission.ACCESS_WIFI_STATE WiFi 狀態android.permission.ACCESS_NETWORK_STATE 網絡狀態


然后保存,回編譯,安裝,發現彈窗廣告成功去除。

0x03知識點小結
- 修改入口廣告
activity標簽中帶有:"android.intent.action.MAIN"/>"android.intent.category.LAUNCHER"/>main和launcher屬性結尾的是當前的入口界面然后通過命令獲取到主頁activity,修改其為入口界面即可命令為 adb shell dumpsys activity | findstr"mFocusedActivity"
- 彈窗廣告修改
刪除user-permission標簽中有change_network_statechange_wifi_stateaccess_network_state access_wifi_state注意:android.permission.internet不要刪除