吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 8961|回复: 27
收起左侧

[Android 原创] 安卓系统toast 消息框 广告错误提示 去除通用教程

  [复制链接]
芽衣 发表于 2020-7-15 12:01
本帖最后由 417788939 于 2020-7-15 18:35 编辑

1.png




最近发现一款软件去除穿山甲的广告后(去广告教程:https://www.52pojie.cn/thread-1213695-1-1.html),出现了上面的提示,这种叫做toast。不过这种情况还是非常少见的。


Android中的Toast是一种简易的消息提示框。
当视图显示给用户,在应用程序中显示为浮动。和Dialog不一样的是,它永远不会获得焦点,无法被点击。用户将可能是在中间键入别的东西。Toast类的思想就是尽可能不引人注意,同时还向用户显示信息,希望他们看到。而且Toast显示的时间有限,Toast会根据用户设置的显示时间后自动消失。

他的通用代码是【Landroid/widget/Toast;->show()V】,一般在包名路径下。不过如果删掉这段代码,所有的消息框都会消失,比如再按一次退出、你没有……、需要登录等。所以并不推荐一刀切,现在要准确定位是从哪里弹出来的,而且修改后不能影响正常的提示,要准确定位弹出来源就需要用到DDMS来监控app运行情况了。







注意:
1、在apk配置文件内加入android:debuggable="true",打开调试功能。如果app有反调试,代码内搜索【isDebuggerConnected】想办法改掉。
2、由于必须要在app启动时运行“start method profiling”(这个工具可以从虚拟机层面抓取每个函数及其调用的函数的运行时间,统计运行次数等功能,是分析性能问题的绝佳工具),所以这个分析方法的按钮不能在弹出toast后再点击,这样会捕捉不到。
3、由于2的原因,启动app的瞬间手机立即切换到多任务窗口(不要按主页键),暂停其运行,几秒后系统会自动释放。这样就能抓到函数了。

2.png







回到穿山甲广告的开关,修改后他的代码如下:

.method private a(Lcom/bytedance/sdk/openadsdk/a/b;)Z
    .locals 2

    const/16 v0, 0x3e8

    const-string v1, "\u5e7f\u544a\u8bf7\u6c42\u5f00\u5173\u5df2\u5173\u95ed,\u8bf7\u8054\u7cfb\u7a7f\u5c71\u7532\u7ba1\u7406\u5458"

    invoke-interface {p1, v0, v1}, Lcom/bytedance/sdk/openadsdk/a/b;->onError(ILjava/lang/String;)V

    const/4 p1, 0x1

    return p1
.end method


invoke-interface:调用。直观的理解就是v1寄存器的字符串放到onError里面去了,广告异常时就会弹出提示。

所以DDMS内直接输入onError,看看会有什么结果。



1.png


如上图,一目了然,上下关系都非常清楚。$在java里面是分割符,从LOG来看字符串tag是SplashActivity,那么可以确定来源就在SplashActivity$1。所以根据DDMS找一下文件【com/histudio/app/ad/SplashActivity$1.smali】,然后定位到方法onError(ILjava/lang/String;)V,直接让他结束掉即可,常用的是return-void。



1.png


[Java] 纯文本查看 复制代码
.method public onError(ILjava/lang/String;)V
    .locals 1

    return-void
.end method



这样一来就没有烦人的错误提示了,同时也不影响正常操作的提示。


除此之外,还能顺藤摸瓜找到toast总开关。上图依次点击access$000——showToast——showToastTip。而这个showToastTip如果直接结束掉了整个app都不会有toast弹框了。如下图:


1.png

2.png

3.png








DDMS如果无法启动可能要安装AS,或者jdk版本太高。DDMS非常好用,对于去广告或者查找异常简直是神器。









PS:顺便说一句闪耀暖暖真好玩,良心游戏



22.png

免费评分

参与人数 13吾爱币 +19 热心值 +12 收起 理由
叮当东东当当 + 1 + 1 谢谢@Thanks!
qtfreet00 + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
憨熊好欺负 + 1 + 1 热心回复!
生有涯知无涯 + 1 + 1 我很赞同!
笙若 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
sczsczscz66 + 1 hh
wanfon + 1 + 1 谢谢@Thanks!
Psyber + 1 谢谢@Thanks!
lyx999 + 1 + 1 我很赞同!
wtf320 + 1 + 1 我很赞同!
佚名RJ + 1 + 1 姐姐大佬真厉害!以后我这小菜鸟跟你混了!
DualCore + 1 + 1 谢谢@Thanks!
正己 + 2 + 1 赞一个,快更新!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

DualCore 发表于 2020-7-15 17:36
417788939 发表于 2020-7-15 16:25
权限控制??是修改AndroidManifest吗,还是……

我是看了这个帖子:https://www.52pojie.cn/thread-1128028-1-1.html
该工具可以拦截app的toast弹窗。不过就像你说的,用这个东西弹广告的情况很少,基本没用到过。
 楼主| 芽衣 发表于 2020-7-15 18:45
DualCore 发表于 2020-7-15 17:36
我是看了这个帖子:https://www.52pojie.cn/thread-1128028-1-1.html
该工具可以拦截app的toast弹窗。不 ...

原来是三方软件么……他这个应该要拦就全部拦掉了。



有些正常的提示没法看。
杜先森 发表于 2020-7-15 12:16
大佬牛皮!   经常有广告 所以我后来就去谷歌下软件了。几乎很少有了。  大佬的教程我收下了!  装逼时刻又到了
正己 发表于 2020-7-15 12:32
本帖最后由 正己 于 2020-7-15 12:35 编辑

前排支持,坐等更新
bachelor66 发表于 2020-7-15 12:44
楼主V5,小白坐等更新               
abigsun 发表于 2020-7-15 13:30
一贴 说一半
DualCore 发表于 2020-7-15 14:00
多谢。
另外,toast_window是可以通过权限控制去掉的。
踏雪飞鸿1973 发表于 2020-7-15 15:45
这个不错 学习了
 楼主| 芽衣 发表于 2020-7-15 16:25
DualCore 发表于 2020-7-15 14:00
多谢。
另外,toast_window是可以通过权限控制去掉的。

权限控制??是修改AndroidManifest吗,还是……
yiwai2012 发表于 2020-7-15 17:23
请问一下 楼主用的这个 smali 编辑器 叫个啥名字 或者 可否分享一下 感谢
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 11:45

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表