实例程序:黑板 点击这里下载
安装到手机之后,打开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下载地址,请点击这里