0x0:
打開軟件,幾秒后會在底部加載廣告
使用Charles抓包,發現有

0x1:
用改之理載入,先搜索第一個,發現在fr.smail有許多這樣的廣告鏈接,我們刪除后編譯安裝,發現還是會加載廣告,很明顯,這個不是真正的廣告地址;
那搜索第二個,發現ua.smail里有相關的重要信息,雙擊進去看到有兩個跳轉
[Asm] 純文本查看 復制代碼
01
02
03
04
05
06
07
08
09
10
|
if-nez v0, :cond_0
invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v1
if-eqz v1, :cond_2
:cond_0
const-string v0, "https://pagead2.googlesyndication.com/pagead/gen_204"
|
很明顯的看出,if-nez v0判斷語句是重點,把跳轉改為eq直接往下執行代碼,跳過了:cond_0所執行廣告的代碼
編譯安裝后打開,發現沒有加載廣告了。問題來了,特么的白色的框框是什么鬼?手動黑人問號

0x3:
我把AndroidManifest.xml的聯網權限刪除了,還是有這個框框,頓時,尼瑪我滿頭黑線,心中一萬只草泥馬在經過 ,從沒接觸過這么坑爹的軟件
于是就在想,是不是還有廣告的代碼執行了某一段函數才會生成那一個框的,于是我百度搜索谷歌加載廣告的方式,發現了一段很重要的話
banner_ad_unit_id即為admob中創建應用的廣告單元id
也就是說,我們可以把這個創建應用的廣告單元ID去掉了,它是否就能加載不了這個廣告了

0x4:
我們在res/values/strings.xml中搜索banner_ad_unit_id不到,那我們就模糊搜索,搜索unit_id,有
接著我們就在public.xml里搜索admob_unit_id,因為需要給admob_unit_id一個固定的資源ID:0x7f070062
我們搜索這個ID,發現在
我們進去后發現上面有一個跳轉
[Asm] 純文本查看 復制代碼
01
02
03
04
05
06
07
08
09
10
11
|
if-nez v0, :cond_0
:goto_0
return-void
:cond_0
new-instance v1, Lcom/google/android/gms/ads/NativeExpressAdView;
invoke-direct {v1, p0}, Lcom/google/android/gms/ads/NativeExpressAdView;-><init>(Landroid/content/Context;)V
const v2, 0x7f070062
|
cond_0分支代碼:
用google的NativeExpressAdView拉取admob的Native廣告在google后臺設置了自己的ID和大小
若v0=0,則執行:cond_0分歧中的代碼,否則執行下一步代碼,下一步代碼返回空值,也就是說,不執行cond_0分支代碼就不會創建廣告ID。
我們把跳轉eq,編譯后測試,沒有了那個白色框框,感覺世界都清凈了!

結言:
這個軟件我弄了兩天,因為上班時間,而且也沒有基礎,這個只提供一種思路,
文中或許會有錯誤,但請大家包涵,我會及時更正!!
|