成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Android逆向技巧——去除開(kāi)屏廣告

瀏覽:3日期:2022-09-19 11:30:26

相信不少網(wǎng)友都有相似的經(jīng)歷:很多app剛開(kāi)始用的時(shí)候很清爽,沒(méi)啥廣告;等用了一段時(shí)間后廠家就開(kāi)始大量上廣告的了,我個(gè)人覺(jué)得這是典型的利用大數(shù)據(jù)殺熟:廠家看到用戶(hù)的月活、日活都挺高的,說(shuō)明用戶(hù)對(duì)自己的app已經(jīng)產(chǎn)生依賴(lài),此時(shí)可以開(kāi)始“殺豬吃肉”了!開(kāi)屏廣告是我最討厭的一種:點(diǎn)開(kāi)app就被逼著看,而且非會(huì)員一般要5秒后才能跳過(guò),不想被逼著看廣告的就花錢(qián)充會(huì)員;怎么才能不花錢(qián)去掉app的開(kāi)屏廣告了?

先簡(jiǎn)單回顧一下windows下PE文件的執(zhí)行原理:PE文件的文件頭有個(gè)字段叫AddressOfEntryPoint,會(huì)標(biāo)記程序代碼的入口。用戶(hù)雙擊exe后,windows操作系統(tǒng)會(huì)解析這個(gè)字段,找到標(biāo)記的程序入口,然后跳轉(zhuǎn)到這里去執(zhí)行代碼;為了避開(kāi)程序自身的CRC檢測(cè),很多外掛都選擇了入口點(diǎn)注入這種方式,原因很簡(jiǎn)單:入口點(diǎn)這里程序自己的代碼都還沒(méi)開(kāi)始執(zhí)行了,這時(shí)的exe就像一只待宰羔羊,任憑外掛干任何事都無(wú)法反抗!同理:android也有類(lèi)似的入口點(diǎn),用戶(hù)雙擊app后,android也會(huì)跳轉(zhuǎn)到app標(biāo)記的入口點(diǎn)去執(zhí)行,那么這個(gè)入口點(diǎn)(注意:嚴(yán)格講這應(yīng)該是入口界面,和入口點(diǎn)不是一個(gè)概念)在哪了?----- AndroidMainfest.xml文件有兩個(gè)標(biāo)簽頁(yè),如下:

<action android:name='android.intent.action.MAIN'/><category android:name='android.intent.category.LAUNCHER'/>

凡是看到這兩個(gè)標(biāo)簽一起出現(xiàn)的就是app的入口activity了,用戶(hù)點(diǎn)開(kāi)app肯定會(huì)從這里指定的入口開(kāi)始執(zhí)行。這里以某云筆記為例,其原始入口如下:

<activity android:launchMode='singleTop' android:name='com.xxxx.note.activity2.SplashActivity' android:screenOrientation='portrait' android:theme='@style/FullScreen'> <intent-filter><action android:name='android.intent.action.MAIN'/><category android:name='android.intent.category.LAUNCHER'/> </intent-filter></activity>

所以這里實(shí)錘:開(kāi)屏廣告就是從這里開(kāi)始看的!所以現(xiàn)在的需求就編變成了繞過(guò)這個(gè)廣告Activity,直接到我們期望的Activity!這又該怎么操作了?這里先找到我們期望的activity,如下:我期望打開(kāi)app就能直接開(kāi)到筆記的列表,而不是開(kāi)屏廣告,所以這里可以先在打開(kāi)期望的界面,然后用“adb shell dumpsys activity top”查看這個(gè)頁(yè)面的activity:

Android逆向技巧——去除開(kāi)屏廣告

我期望的activity是“activity2.MainActivity”,所以在android killer打開(kāi)這個(gè)apl,在AndroidMainfest.xml中找到這個(gè)activity,

<activity android:configChanges='keyboardHidden|orientation' android:exported='true' android:launchMode='singleTop' android:name='com.xxxx.note.activity2.MainActivity' android:screenOrientation='portrait' android:windowSoftInputMode='adjustPan|stateHidden'/>

接下來(lái)的工作就好走了,先找到LAUNCHER的activity,把上面那兩個(gè)標(biāo)簽剪切,復(fù)制到我們期望的activity下面即可,如下:

<activity android:configChanges='keyboardHidden|orientation' android:exported='true' android:launchMode='singleTop' android:name='com.xxxx.note.activity2.MainActivity' android:screenOrientation='portrait' android:windowSoftInputMode='adjustPan|stateHidden'><intent-filter><action android:name='android.intent.action.MAIN'/><category android:name='android.intent.category.LAUNCHER'/> </intent-filter></activity>

然后重新用android killer編譯打包,再安裝新的apk即可!

總結(jié):這里本質(zhì)是通過(guò)配置文件,改變app的入口activity!

以上就是Android逆向技巧——去除開(kāi)屏廣告的詳細(xì)內(nèi)容,更多關(guān)于Android去除開(kāi)屏廣告的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Android
相關(guān)文章: