吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 34558|回复: 698
上一主题 下一主题
收起左侧

[Android 原创] 逆向教程之-反编译apk暴力去除弹窗和更新提示(三)

    [复制链接]
跳转到指定楼层
楼主
liuxiaoxin 发表于 2020-11-27 20:00 回帖奖励
本帖最后由 liuxiaoxin 于 2020-12-3 19:01 编辑

授人以鱼,不如授人以渔!

本教程图文并茂,步骤非常详细,偏小白向,大佬请自觉屏蔽。

使用工具:MT管理器免费版
被修改的软件:Apktool M_v2.4.1

如果想跟着教程一起实操,感受一下反编译带来的乐趣,修改成功之后油然而生的成就感,可以下载本软件练练手,链接我放在文末了。

温馨提示:初次看本人教程的小伙伴,建议配合往期教程一起学习,奠定基础,操作起来效果会更佳。
往期图文逆向教程:
①逆向教程之-反编译apk修改菜单默认设置(一)
②逆向教程之-反编译apk完全精简删除菜单功能(二)

言归正传,接下来教程正式开始

当我们首次打开Apktool M后→会连续出现两个弹窗,首先项目邀请,这个弹窗点击取消了之后,以后都不会出现了。
但是这个新版本更新提示,虽然通过第1期的教程,通过反编译修改了默认的设置,不让它再自动检测更新。
但是只要一打开软件还是会强制推送更新提示。让人有点反感。接下来就通过反编译进行修改,暴力去除这两个弹窗,请记住“你好”和“新版本”这两个关键词。



1.使用MT管理器点击Apktool M_v2.4.1.apk文件→选择查看



2.选择resources.arsc文件→通过Arsc编辑器打开


3.点击搜索资源值→输入“你好”关键词→搜索类型选择字符串→点击确定进行搜索→出现了1个结果
   →长按这个结果→会弹出菜单点击复制ID,这里复制的ID是“7F0701142”,然后返回



4.点击搜索资源值→输入“新版本”关键词→搜索类型选择字符串→点击确定进行搜索→出现了1个结果
   →长按这个结果→会弹出菜单点击复制ID,这里复制的ID是“7F070127”,然后按两次返回



特别提醒:一定要记住复制的那两个ID值,后面会用到(如果你使用的输入法,没有开启剪切板功能,
                   默认使用的系统剪贴板的话,第2次复制的ID会覆盖第1次复制的ID,需要自行记住了。)


5.选择classes.dex文件→通过Dex编辑器++打开



6.点击搜索→发起新搜索→查找内容输入ID“7F070142”→路径默认→搜索类型选择“代码”→勾选搜索子目录→点击确定进行搜索


7.会看到出现了2个搜索结果→先选择第1个点击进入→会自动定位到第585行→然后全选它并删除掉→点击右上角保存→返回



8.接着选择第2个结果点击进入→会自动定位到第326行的ID



9.然后往上翻到第268行→往下滑到第366行→接着把268~366行的代码全部选中并删除→删除完然后在第268行添加“return-void”代码
  (“return-void”这段代码的意思是返回一个空值,就等于是什么都不返回),修改好后点击右上角保存→返回



10.点击发起新搜索→查找内容输入ID“7F070127”→路径默认→搜索类型选择“代码”→勾选搜索子目录→点击确定进行搜索


11.会看到出现了2个搜索结果→先选择第1个点击进入→会自动定位到第447行→然后全选它并删除掉→点击右上角保存→返回



12.接着选择第2个结果点击进入→会自动定位到第607行的ID


13.然后往上翻到第521行→往下滑到第695行→接着把521~695行的代码全部选中并删除→删除完然后在第521行添加“return-void”代码
    (“return-void”这段代码的意思是返回一个空值,就等于是什么都不返回),修改好后点击右上角保存



14.然后一路返回,会出现几个弹窗提示→点击保存并退出→勾选自动签名并选择确定→等待它自动回编译完成即可。


反编译完成之后,卸载原安装包,重新安装修改过的包,然后再打开软件,瞬间会发现变得清静了。
在软件的首界面,无论停留多久,再也不会出现“项目邀请”和“新版本更新提示”的这两个弹窗了。
因为就是通过上述的教程,对dex文件进行了修改,把弹窗时需要调用的全部代码都彻底删除了,
然后又添加了一个“return-void”代码,让它返回一个空值。所以这时候,软件打开后,这个空值代码,
就起到作用了,既然是空值代码,那就是意味着什么都没有,所以在软件里面的弹窗就不存在了,就彻底被去除了。



写到这里教程就结束了,其实这篇教程的目的,只是为了记录一下自己反编译的一个过程。分享给大家,提供的只是一个反编译的思路

声明一下:本篇教程只是以“项目邀请”和“新版本更新提示”的这两个弹窗为例,实现暴力去除弹窗提示的目标,
并不是说只能去除这两个弹窗,而是提供的一个思路。可以按照这个反编译的思路,暴力去除软件中的各种弹窗,
包括但不限于广告弹窗、提醒弹窗、更新提示弹窗等等,只要是你觉得扰人的弹窗,都可以按照本教程的暴力去除法,对它进行处理。

当然,反编译不仅仅于此,聪明的你可以根据本教程,举一反三,对apk进行更深层次的修改!

如果本篇教程中有什么错误、不足、需要指正的、或者遗漏的地方,热烈欢迎大家,在评论区留言,看到后都会及时的去纠正和补充!

另外说明一下,本系列的教程,到这一期就截止进入尾声了。毕竟这一系列的教程,
以Apktool M_2.4.1这个软件为例,通过这几期的教程,对它进行了一个全面的反编译,
已经没有需要修改的地方了,所以只能告一段落了。如果大家有什么好的提议,还需要哪方面的反编译教程,请多多在评论区留言。

接下来上干货了,为了满足部分伙伴的需求,方便他们按照教程实操时,省得还要到处去找使用工具。
在这里为大家一并提供了教程中使用的同款,MT管理器和修改的软件素材,请外链自取。
MT管理器:https://www.lanzoui.com/i80NBitkr6f 密码:99gn
Apktool M_2.4.1:https://www.lanzoui.com/ixv2ris6pah 密码:4yvk

如果本教程能帮到您,记得三连哦!顺便免费评分走一波,感谢支持 您的支持,将是对我最大的鼓励!后续会继续分享更多逆向反编译教程,咱们后回有期!

免费评分

参与人数 124吾爱币 +117 热心值 +111 收起 理由
萧药师 + 1 我很赞同!
13699513436 + 1 + 1 我很赞同!
极速冰电 + 1 我很赞同!
rongyu + 1 用心讨论,共获提升!
Lectter + 1 用心讨论,共获提升!
konglongg + 1 + 1 谢谢@Thanks!
abigsun + 1 + 1 谢谢@Thanks!
leokyer + 1 + 1 虽然只是一个小小的举动,但带来了很好的体验
pjrnong + 1 + 1 谢谢@Thanks!
dijihui + 1 + 1 我很赞同!
a48602 + 1 + 1 谢谢@Thanks!
xwind + 1 + 1 热心回复!
aminaA4748 + 1 + 1 用心讨论,共获提升!
mmqwer + 1 谢谢@Thanks!
tiancheng212 + 1 + 1 谢谢@Thanks!
sxwxwl + 1 + 1 热心回复!
status_0 + 1 + 1 我很赞同!
绫白Leo + 1 + 1 谢谢@Thanks!
cpj1203 + 1 + 1 谢谢@Thanks!
谷幽兰 + 1 + 1 谢谢@Thanks!
空白丶cc + 1 像有些软件搜ID搜不到的话还有其他方式去弹窗吗?
pzqjy2010 + 1 + 1 谢谢@Thanks!
w132 + 1 + 1 我很赞同!
菜菜linnl + 1 + 1 谢谢@Thanks!
20200214 + 1 + 1 谢谢@Thanks!
热心市民小丑 + 1 + 1 我很赞同!
SPL + 1 + 1 谢谢@Thanks!
fishu + 1 谢谢@Thanks!
我用飘柔 + 1 + 1 我很赞同!
amaoy + 1 + 1 热心回复!
yhzxlsb + 1 谢谢@Thanks!
印斩 + 1 + 1 鼓励转贴优秀软件安全工具和文档!
52pojie666z + 1 + 1 用心讨论,共获提升!
ribon + 1 + 1 谢谢@Thanks!
淡看风吹雨 + 1 + 1 热心回复!
94ygw + 1 + 1 热心回复!
liuss + 1 + 1 谢谢@Thanks!学习了
titi9527 + 1 + 1 用心讨论,共获提升!
wggg + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
山上的冷 + 1 + 1 谢谢@Thanks!
L.7_129 + 1 + 1 我很赞同!
小白一个,求教 + 1 + 1 谢谢@Thanks!
DearBy + 1 + 1 我很赞同!
qtfreet00 + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
赤坂龍 + 1 用心讨论,共获提升!
xsl9106 + 1 + 1 哈哈,终于搞定了,感谢大佬
wuweide + 1 + 1 鼓励转贴优秀软件安全工具和文档!
darkspr + 1 热心回复!
gckken + 1 + 1 我很赞同!
yechao007 + 1 我很赞同!
zwgleon + 1 + 1 热心回复!
wokeyide + 1 + 1 我很赞同!
五河-琴里 + 1 + 1 我很赞同!
zxy457372072 + 1 谢谢@Thanks!
semors + 1 + 1 用心讨论,共获提升!
Morning小晨 + 1 + 1 用心讨论,共获提升!
会谦逊的陆逊 + 1 + 1 我很赞同!
空人空心空回忆 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
oven_wang + 1 我很赞同!
xifanu + 1 + 1 谢谢@Thanks!
哈熊 + 1 + 1 谢谢@Thanks!
PwnU + 1 + 1 用心讨论,共获提升!
十五先生 + 1 谢谢@Thanks!
alpt6285 + 1 我很赞同!
cheer鎵? + 1 + 1 我很赞同!
showwh + 1 + 1 谢谢@Thanks!
fei8255 + 1 + 1 用心讨论,共获提升!
sunshine丶 + 1 + 1 谢谢@Thanks!
月牙儿 + 1 + 1 鼓励转贴优秀软件安全工具和文档!
冬日安好 + 1 + 1 我很赞同!
cx2018 + 1 + 1 我很赞同!
lncyq + 1 + 1 先码,等有空跟着去学习一下
wxue + 1 + 1 谢谢@Thanks!
oktongguo + 1 + 1 用心讨论,共获提升!
chermy + 2 + 1 谢谢分享思路
secjia + 1 + 1 我很赞同!
heimianbao + 1 + 1 热心回复!
文西思密达 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
gaoyun7 + 1 + 1 用心讨论,共获提升!
laolv9999 + 1 + 1 我很赞同!
amus + 1 + 1 用心讨论,共获提升!
Da-ker + 1 + 1 热心回复!
anlovedong + 1 + 1 谢谢@Thanks!
zhuzhuxia111 + 1 + 1 我很赞同!
caleb110 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
UPC + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
mzq123000 + 1 + 1 热心回复!
weiping + 1 + 1 用心讨论,共获提升!
disdet + 1 + 1 热心回复!
吾心随风 + 1 + 1 用心讨论,共获提升!
goco + 1 谢谢@Thanks!
app740520 + 1 谢谢@Thanks!
屁股决定脑袋 + 1 + 1 热心回复!
祖传奶瓶 + 1 + 1 用心讨论,共获提升!
baozitou6 + 1 + 1 谢谢@Thanks!
uer + 1 + 1 我很赞同!
tgwl123 + 1 我很赞同!
nice纷馆 + 1 + 1 我很赞同!
港岛妹夫 + 1 用心讨论,共获提升!
明攀 + 1 我很赞同!

查看全部评分

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

推荐
 楼主| liuxiaoxin 发表于 2021-2-17 12:50 |楼主
ustbsgw 发表于 2021-2-8 16:30
感谢楼主分享!

纯小白,在思考一个问题,为啥直接把定义弹窗方法的开始和结束语法也一起删了呢?这样就 ...

我没学过安卓开发,也没有系统的学过smali的语法。但是学过一点linux命令和js脚本语言,对定义函数和调用函数有一些理解。根据我现在的理解,本教程中smali语法的弹窗方法的开始和结束语法这中间的代码块,其实只是定义的一个函数体。这个定义的函数体,应该是在开始处有调用它的函数。
当调用函数时,会执行定义的函数体。这时如果函数体内的代码错误或者是代码被删了导致不全,都会报错。
同理,如果直接把定义弹窗方法的开始和结束语法也一起删了,就会报错。导致软件自动闪退。但加个 return-viod 代码是为了让它返回一个空值,这样就不会出现弹窗,不会报错,导致软件闪退了。
推荐
 楼主| liuxiaoxin 发表于 2021-7-26 13:12 |楼主
本帖最后由 liuxiaoxin 于 2021-7-26 19:30 编辑
我爱林 发表于 2021-7-26 10:45
感谢啦大神!已经很好啦!真真心万分感谢!

好的 能帮到你就好

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
我爱林 + 1 + 1 感谢大神的精品教程,吾爱破解论坛因您而精彩!

查看全部评分

推荐
 楼主| liuxiaoxin 发表于 2021-7-26 10:24 |楼主
我爱林 发表于 2021-7-25 14:05
万感激大神相助啦!,我刚才给您私信发的那个链接的软件,真心特别感谢大神!

AirDroid_3.2.3.0去除升级弹窗提示版下载链接:
https://xiaoxin.lanzoui.com/inhuJruv5be

去除升级弹窗提示之后,导致点击右上角三个点的检查更新会闪退。本来想修改一下XML文件精简一下无用菜单,把检查更新的功能菜单去掉,但是免费版的MT管理器修改XML文件超200行就无法修改保存,没办法了
推荐
 楼主| liuxiaoxin 发表于 2021-7-25 11:01 |楼主
我爱林 发表于 2021-7-25 08:09
感谢大神啦,教程这得超详细,
我按照教程的方法改了我手机里的一个软件,
搜到三个带有升级的弹窗文件, ...

窗口还在?那应该是弹窗的相关代码没删掉,可能是弹窗的代码和那些显示的文字、按钮不在同一个代码块里面,弹窗的代码应该是在别的地方单独调用的,一般的弹窗代码都是"show()",你可以在那个文件里面单独搜索看看能不能找到

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
我爱林 + 1 + 1 热心回复!

查看全部评分

推荐
地蛋 发表于 2020-12-9 08:48
solsun 发表于 2020-12-1 09:09
为什么安卓没有IOS越狱的FLEX这样的软件,真心好用

老兄,论坛章伯写的Web Data Monitor ,吾爱消息提醒那个,能发送一个给我吗?大神好像最近不在线,私信也没有回复。谢谢
推荐
solsun 发表于 2020-12-9 12:39
地蛋 发表于 2020-12-9 08:48
老兄,论坛章伯写的Web Data Monitor ,吾爱消息提醒那个,能发送一个给我吗?大神好像最近不在线,私信 ...

我给删了
推荐
delsystem32 发表于 2020-12-4 11:12
liuxiaoxin 发表于 2020-12-3 11:54
按照教程的暴力去除法,应该可以去除

你好,附件是整段代码。
每次保存的时候都提示我错误。
[AppleScript] 纯文本查看 复制代码
.method protected onCreateDialog(I)Landroid/app/Dialog;
    .registers 9

    const/4 v2, 0x0

    sparse-switch p1, :sswitch_data_100

    invoke-super {p0, p1}, Lcom/niugubao/simustock/MyBaseActivity;->onCreateDialog(I)Landroid/app/Dialog;

    move-result-object v0

    :goto_8
    return-object v0

    :sswitch_9
    invoke-static {p0}, Landroid/view/LayoutInflater;->from(Landroid/content/Context;)Landroid/view/LayoutInflater;

    move-result-object v0

    const v1, 0x7f030003

    const/4 v3, 0x0

    invoke-virtual {v0, v1, v3}, Landroid/view/LayoutInflater;->inflate(ILandroid/view/ViewGroup;)Landroid/view/View;

    move-result-object v3

    const v0, 0x7f080012

    invoke-virtual {v3, v0}, Landroid/view/View;->findViewById(I)Landroid/view/View;

    move-result-object v0

    check-cast v0, Landroid/widget/TextView;

    const v1, 0x7f080013

    invoke-virtual {v3, v1}, Landroid/view/View;->findViewById(I)Landroid/view/View;

    move-result-object v1

    check-cast v1, Landroid/widget/TextView;

    :try_start_27
    invoke-virtual {p0}, Lcom/niugubao/simustock/HomePageActivity;->getPackageManager()Landroid/content/pm/PackageManager;

    move-result-object v4

    invoke-virtual {p0}, Lcom/niugubao/simustock/HomePageActivity;->getPackageName()Ljava/lang/String;

    move-result-object v5

    const/4 v6, 0x0

    invoke-virtual {v4, v5, v6}, Landroid/content/pm/PackageManager;->getPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;

    move-result-object v4

    iget-object v4, v4, Landroid/content/pm/PackageInfo;->versionName:Ljava/lang/String;

    new-instance v5, Ljava/lang/StringBuilder;

    const-string v6, "本地版本号:"

    invoke-direct {v5, v6}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual {v5, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v4

    const-string v5, ",最新版本号:"

    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v4

    iget-object v5, p0, Lcom/niugubao/simustock/HomePageActivity;->m:Ljava/lang/String;

    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v4

    invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v4

    invoke-virtual {v0, v4}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V
    :try_end_54
    .catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_27 .. :try_end_54} :catch_fc

    :goto_54
    new-instance v4, Ljava/lang/StringBuffer;

    invoke-direct {v4}, Ljava/lang/StringBuffer;-><init>()V

    iget-object v0, p0, Lcom/niugubao/simustock/HomePageActivity;->o:Ljava/util/List;

    if-eqz v0, :cond_78

    iget-object v0, p0, Lcom/niugubao/simustock/HomePageActivity;->o:Ljava/util/List;

    invoke-interface {v0}, Ljava/util/List;->isEmpty()Z

    move-result v0

    if-nez v0, :cond_78

    :goto_65
    iget-object v0, p0, Lcom/niugubao/simustock/HomePageActivity;->o:Ljava/util/List;

    invoke-interface {v0}, Ljava/util/List;->size()I

    move-result v0

    if-lt v2, v0, :cond_a3

    invoke-virtual {v4}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;

    move-result-object v0

    invoke-static {v0}, Landroid/text/Html;->fromHtml(Ljava/lang/String;)Landroid/text/Spanned;

    move-result-object v0

    invoke-virtual {v1, v0}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V

    :cond_78
    new-instance v0, Landroid/app/AlertDialog$Builder;

    invoke-direct {v0, p0}, Landroid/app/AlertDialog$Builder;-><init>(Landroid/content/Context;)V

    const-string v1, "软件更新"

    invoke-virtual {v0, v1}, Landroid/app/AlertDialog$Builder;->setTitle(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder;

    move-result-object v0

    invoke-virtual {v0, v3}, Landroid/app/AlertDialog$Builder;->setView(Landroid/view/View;)Landroid/app/AlertDialog$Builder;

    move-result-object v0

    const-string v1, "更新"

    new-instance v2, Lcom/niugubao/simustock/v;

    invoke-direct {v2, p0}, Lcom/niugubao/simustock/v;-><init>(Lcom/niugubao/simustock/HomePageActivity;)V

    invoke-virtual {v0, v1, v2}, Landroid/app/AlertDialog$Builder;->setPositiveButton(Ljava/lang/CharSequence;Landroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder;

    move-result-object v0

    const-string v1, "取消"

    new-instance v2, Lcom/niugubao/simustock/w;

    invoke-direct {v2, p0}, Lcom/niugubao/simustock/w;-><init>(Lcom/niugubao/simustock/HomePageActivity;)V

    invoke-virtual {v0, v1, v2}, Landroid/app/AlertDialog$Builder;->setNegativeButton(Ljava/lang/CharSequence;Landroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder;

    move-result-object v0

    invoke-virtual {v0}, Landroid/app/AlertDialog$Builder;->create()Landroid/app/AlertDialog;

    move-result-object v0

    goto/16 :goto_8

    :cond_a3
    new-instance v0, Ljava/lang/StringBuilder;

    add-int/lit8 v5, v2, 0x1

    invoke-static {v5}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;

    move-result-object v5

    invoke-direct {v0, v5}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    const-string v5, " "

    invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    invoke-virtual {v4, v0}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;

    iget-object v0, p0, Lcom/niugubao/simustock/HomePageActivity;->o:Ljava/util/List;

    invoke-interface {v0, v2}, Ljava/util/List;->get(I)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Ljava/lang/String;

    invoke-virtual {v4, v0}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;

    const-string v0, "<br/>"

    invoke-virtual {v4, v0}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;

    add-int/lit8 v0, v2, 0x1

    move v2, v0

    goto :goto_65

    :sswitch_cf
    new-instance v0, Landroid/app/AlertDialog$Builder;

    invoke-direct {v0, p0}, Landroid/app/AlertDialog$Builder;-><init>(Landroid/content/Context;)V

    const-string v1, "退出"

    invoke-virtual {v0, v1}, Landroid/app/AlertDialog$Builder;->setTitle(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder;

    move-result-object v0

    const-string v1, "您确认退出牛股宝模拟炒股吗?"

    invoke-virtual {v0, v1}, Landroid/app/AlertDialog$Builder;->setMessage(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder;

    move-result-object v0

    const-string v1, "是"

    new-instance v2, Lcom/niugubao/simustock/x;

    invoke-direct {v2, p0}, Lcom/niugubao/simustock/x;-><init>(Lcom/niugubao/simustock/HomePageActivity;)V

    invoke-virtual {v0, v1, v2}, Landroid/app/AlertDialog$Builder;->setPositiveButton(Ljava/lang/CharSequence;Landroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder;

    move-result-object v0

    const-string v1, "否"

    new-instance v2, Lcom/niugubao/simustock/y;

    invoke-direct {v2, p0}, Lcom/niugubao/simustock/y;-><init>(Lcom/niugubao/simustock/HomePageActivity;)V

    invoke-virtual {v0, v1, v2}, Landroid/app/AlertDialog$Builder;->setNegativeButton(Ljava/lang/CharSequence;Landroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder;

    move-result-object v0

    invoke-virtual {v0}, Landroid/app/AlertDialog$Builder;->create()Landroid/app/AlertDialog;

    move-result-object v0

    goto/16 :goto_8

    :catch_fc
    move-exception v0

    goto/16 :goto_54

    nop

    :sswitch_data_100
    .sparse-switch
        0x1 -> :sswitch_9
        0x1f41 -> :sswitch_cf
    .end sparse-switch
.end method

.method public onKeyDown(ILandroid/view/KeyEvent;)Z
    .registers 4

    const/4 v0, 0x4

    if-ne p1, v0, :cond_a

    const/16 v0, 0x1f41

    invoke-virtual {p0, v0}, Lcom/niugubao/simustock/HomePageActivity;->showDialog(I)V

    const/4 v0, 0x1

    :goto_9
    return v0

    :cond_a
    invoke-super {p0, p1, p2}, Lcom/niugubao/simustock/MyBaseActivity;->onKeyDown(ILandroid/view/KeyEvent;)Z

    move-result v0

    goto :goto_9
.end method

.method protected onStart()V
    .registers 1

    invoke-static {p0}, Lcom/niugubao/h/e;->a(Landroid/app/Activity;)V

    invoke-super {p0}, Lcom/niugubao/simustock/MyBaseActivity;->onStart()V

    return-void
.end method

2.5.8.txt

45.67 KB, 下载次数: 1, 下载积分: 吾爱币 -1 CB

沙发
 楼主| liuxiaoxin 发表于 2020-11-27 20:02 |楼主
本帖最后由 liuxiaoxin 于 2020-11-30 09:46 编辑

自古沙发楼主
3#
wanfon 发表于 2020-11-27 20:02
学习来了,感谢大神
4#
 楼主| liuxiaoxin 发表于 2020-11-27 20:04 |楼主
wanfon 发表于 2020-11-27 20:02
学习来了,感谢大神

太棒了 为了学习,果然够积极
5#
cnyang 发表于 2020-11-27 20:12
学习这种爆破方法,感谢吾爱
6#
mysticalspear 发表于 2020-11-27 20:16
这种方法是不是通用的呢
7#
hyfcxhyf 发表于 2020-11-27 20:22
顶。收藏了
8#
万事笔通 发表于 2020-11-27 20:28
免费版本连xml都打开不了 还是用androidkiller   收费功能如果能快速处理加固还差不多
9#
追风少年阿木 发表于 2020-11-27 20:28
感谢分享
10#
不跟蠢逼说话 发表于 2020-11-27 20:29
感谢分享
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-24 07:30

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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