實例程序:黑板 點擊這裏下載
安裝到手機之後,打開wifi,可以看到廣告了。
首先需要使用apktool進行反編譯,然後使用notepad++搜索“connectivity”,會看到:
雙擊進入文件,可以看到程序調用getsystemservice來獲取當前網絡連接的狀態:
.method public static d(Landroid/content/Context;)Ljava/lang/String;
.locals 1
const-string v0, "connectivity"
invoke-virtual {p0, v0}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object p0
check-cast p0, Landroid/net/ConnectivityManager;
invoke-virtual {p0}, Landroid/net/ConnectivityManager;->getActiveNetworkInfo()Landroid/net/NetworkInfo;
move-result-object v0
if-nez v0, :cond_0
const/4 v0, 0x0
:goto_0
return-object v0
:cond_0
invoke-virtual {v0}, Landroid/net/NetworkInfo;->getType()I
move-result v0
packed-switch v0, :pswitch_data_0
const-string v0, "unknown"
goto :goto_0
:pswitch_0
const-string v0, "ed"
goto :goto_0
:pswitch_1
const-string v0, "wi"
goto :goto_0
:pswitch_data_0
.packed-switch 0x0
:pswitch_0
:pswitch_1
.end packed-switch
.end method
從上面的代碼可以看到,如果沒有網絡會返回unknown,但爲了保險起見,我們讓它返回0.
只需要刪除
if-nez v0, :cond_0
即可,然後使用apktool進行編譯,使用zipalign進行對齊優化,使用testsign進行簽名。然後卸載手機中原有的pixlebord,因爲兩者的簽名不一致。再安裝crack之後的pixlebord。
這時你會發現就算沒有更改layout中的width和height,廣告照常沒有了。而且,不會佔用你的流量了。
破解之後的apk下載地址,請點擊這裏