吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 40764|回复: 349
收起左侧

[Android 原创] 某香香变vip教程:

    [复制链接]
冥界3大法王 发表于 2020-9-2 23:32
本帖最后由 冥界3大法王 于 2020-9-3 12:53 编辑

那啥,这app有点那个,就不发链接了,你懂的。
还是火速分享下破解思路吧。
这是本菜鸟上了吾爱安卓进修课后的练习作业啦(当然上帝频道只有你,你,你。。。知道)

第一步,先用开发助手调查下 activity 上面都有啥?点下界面中的【开通会员才能查看的文字等】
结果我发现了返回了目标处的ID号,然后到 xml文件夹搜索下,就找到上面有四个XML中含有该字符串,我们在 那串xxx后面依次加上 1 2 3 4,
图1
结果打包后,没有一个调用的。
其中有一个vip框架的xml比较有意思,于是我就记录了下此id号
最好准备一个小本本,或是手机上的excel ,表格分类比较清晰嘛(很多时候是多个啊,不知哪个才是关键的啊,调查线索很重要啊)

第二步,使用MT管理器打开该apk,dex编辑器++ ,搜索 0x7f0c007c image.png
image.png
image.png
点击去 查看,
[Asm] 纯文本查看 复制代码
.method public setVipLogin(Z)Lcom/tiger/app1/axj/ui/dialog/VipTipDialog;
    .registers 5

    .line 1
    iget-object v0, p0, Lcom/tiger/app1/axj/ui/dialog/VipTipDialog;->vipLayout:Landroid/widget/LinearLayout;

    const/16 v1, 0x8

    if-eqz p1, :cond_8

    const/4 v2, 0x0

    goto :goto_a

    :cond_8
    const/16 v2, 0x8

    :goto_a
    invoke-virtual {v0, v2}, Landroid/widget/LinearLayout;->setVisibility(I)V

    .line 2
    iget-object v0, p0, Lcom/tiger/app1/axj/ui/dialog/VipTipDialog;->content:Landroid/widget/TextView;

    invoke-virtual {v0, v1}, Landroid/widget/TextView;->setVisibility(I)V

    if-nez p1, :cond_2d

    .line 3
    iget-object p1, p0, Lcom/tiger/app1/axj/ui/dialog/VipTipDialog;->title:Landroid/widget/TextView;

    invoke-virtual {p1}, Landroid/widget/TextView;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;

    move-result-object p1

    check-cast p1, Landroid/widget/RelativeLayout$LayoutParams;

    .line 4
    invoke-static {}, Lcom/tiger/app1/axj/base/BaseApplication;->getContext()Landroid/content/Context;

    move-result-object v0

    const/high16 v1, 0x42dc0000  # 110.0f

    invoke-static {v0, v1}, Lcom/luck/picture/lib/tools/ScreenUtils;->dip2px(Landroid/content/Context;F)I

    move-result v0

    iput v0, p1, Landroid/widget/RelativeLayout$LayoutParams;->topMargin:I

    .line 5
    iget-object v0, p0, Lcom/tiger/app1/axj/ui/dialog/VipTipDialog;->title:Landroid/widget/TextView;

    invoke-virtual {v0, p1}, Landroid/widget/TextView;->setLayoutParams(Landroid/view/ViewGroup$LayoutParams;)V

    :cond_2d
=====》加这里有效果,但会导致崩溃
    return-object p0
.end method


这个文件位于VipTipDialog中
其中点导航,发现有个叫 SetVipLogon(Z)的类,比较有意思
果断短尾  加上一句
const  p0 ,1
return-object p0

根据楼下  涛之雨 大佬 和 风绕柳絮轻敲雪 说的
看看谁调用setVipLogin这个方法吧
确实改的还是不正确


或长按 选择【查找调用处  或 重写调用处方法】
image.png
就来到了这个地方,随便点一个查看下
image.png
咦,发现了新大陆~~
[Asm] 纯文本查看 复制代码
 public videoV2V3NoLoingVipTip()V
    .registers 4

    .line 1
    new-instance v0, Lcom/tiger/app1/axj/ui/dialog/VipTipDialog;

    iget-object v1, p0, Lcom/tiger/app1/axj/mvp/present/MovieDetailPresenter;->a:Lcom/trello/rxlifecycle2/components/support/RxAppCompatActivity;

    invoke-direct {v0, v1}, Lcom/tiger/app1/axj/ui/dialog/VipTipDialog;-><init>(Landroid/content/Context;)V

    const-string v1, "登录会员后可免费观看\n未注册会员请先注册"

    .line 2
    invoke-virtual {v0, v1}, Lcom/tiger/app1/axj/ui/dialog/VipTipDialog;->setTitle(Ljava/lang/String;)Lcom/tiger/app1/axj/ui/dialog/VipTipDialog;

    move-result-object v1

    .line 3
    invoke-static {}, Lcom/tiger/app1/axj/manager/LoginManager;->getInstance()Lcom/tiger/app1/axj/manager/LoginManager;

    move-result-object v2

    invoke-virtual {v2}, Lcom/tiger/app1/axj/manager/LoginManager;->isLogin()Z=====>看这句!

    move-result v2

    xor-int/lit8 v2, v2, 0x1

    invoke-virtual {v1, v2}, Lcom/tiger/app1/axj/ui/dialog/VipTipDialog;->setVipLogin(Z)Lcom/tiger/app1/axj/ui/dialog/VipTipDialog;

    const v1, 0x7f0e0053

    .line 4
    invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v1

    invoke-virtual {v0, v1}, Lcom/tiger/app1/axj/ui/dialog/VipTipDialog;->setGoBg(Ljava/lang/Integer;)Lcom/tiger/app1/axj/ui/dialog/VipTipDialog;

    move-result-object v1

    const-string v2, "立即注册"

    invoke-virtual {v1, v2}, Lcom/tiger/app1/axj/ui/dialog/VipTipDialog;->setGoText(Ljava/lang/String;)Lcom/tiger/app1/axj/ui/dialog/VipTipDialog;

    const-string v1, "已是会员可 登陆观看"

    .line 5
    invoke-virtual {v0, v1}, Lcom/tiger/app1/axj/ui/dialog/VipTipDialog;->setTvVipLoginText(Ljava/lang/String;)Lcom/tiger/app1/axj/ui/dialog/VipTipDialog;

    const/4 v1, 0x1

    .line 6
    invoke-virtual {v0, v1}, Lcom/tiger/app1/axj/ui/dialog/VipTipDialog;->setClickDismiss(Z)V

    .line 7
    new-instance v1, Lcom/tiger/app1/axj/mvp/present/e;

    invoke-direct {v1, p0}, Lcom/tiger/app1/axj/mvp/present/e;-><init>(Lcom/tiger/app1/axj/mvp/present/MovieDetailPresenter;)V

    invoke-virtual {v0, v1}, Lcom/tiger/app1/axj/ui/dialog/VipTipDialog;->setmOnCancelListener(Landroid/view/View$OnClickListener;)Lcom/tiger/app1/axj/ui/dialog/VipTipDialog;

    .line 8
    new-instance v1, Lcom/tiger/app1/axj/mvp/present/g;

    invoke-direct {v1, p0}, Lcom/tiger/app1/axj/mvp/present/g;-><init>(Lcom/tiger/app1/axj/mvp/present/MovieDetailPresenter;)V

    invoke-virtual {v0, v1}, Lcom/tiger/app1/axj/ui/dialog/VipTipDialog;->setmOnTipClickListener(Landroid/view/View$OnClickListener;)Lcom/tiger/app1/axj/ui/dialog/VipTipDialog;

    .line 9
    new-instance v1, Lcom/tiger/app1/axj/mvp/present/d;

    invoke-direct {v1, p0}, Lcom/tiger/app1/axj/mvp/present/d;-><init>(Lcom/tiger/app1/axj/mvp/present/MovieDetailPresenter;)V

    invoke-virtual {v0, v1}, Lcom/tiger/app1/axj/ui/dialog/VipTipDialog;->setOnGoClickListener(Landroid/view/View$OnClickListener;)Lcom/tiger/app1/axj/ui/dialog/VipTipDialog;

    .line 10
    invoke-virtual {v0}, Landroid/app/Dialog;->show()V

    return-void
.end method

在 /LoginnManager;->isLogin()Z=====>看这句!在这里长按,弹菜单选择跳转

image.png

改完打包签名后,就会
image.png
再随便登录下
Screenshot_20200903_084729.jpg
已经是5级了,一般的视频能无限次看了,更高级的还有待升级。。。还得接着研究。。。待续。。。

重新打包签名后发现,一点视频,就会闪退,多点几次,偶尔有成功的时候(已经过了当日的播放次数)
又能看了(其他的地方修改并无大的作用),哈哈。总闪退这点很不爽啊,得治啊。  于是就想,怎么弄呢,怎么弄呢, 于是闹肚子了,上了趟厕所,然后我突然想到
何不到vmos里再用xpoosed的那个异常崩溃的插件会不会记录下来呢,我可配了多款啊。  结果,我就捕获到了以下信息
QQ图片20200902231505.jpg Screenshot_20200902_232806.jpg


Build date: 2020-09-02 21:51:04
Current date: 2020-09-02 21:58:35
Device: Vmos

Stack trace:  
io.reactivex.exceptions.UndeliverableException: The exception could not be delivered to the consumer because it has already canceled/disposed the flow or the exception has nowhere to go to begin with. Further reading: https://github.com/ReactiveX/RxJava/wiki/What's-different-in-2.0#error-handling | java.lang.VerifyError: Rejecting class com.tiger.app1.axj.ui.dialog.VipTipDialog because it failed compile-time verification (declaration of 'com.tiger.app1.axj.ui.dialog.VipTipDialog' appears in /data/app/com.xj.tiger-1/base.apk)
堆栈跟踪:
io.reactivex.exceptions.UndeliverableException:无法将异常传递给使用者,因为该异常已经取消/处理了该流程,或者该异常无处可去。进一步阅读:https://github.com/ReactiveX/RxJava/wiki/What's-different-in-2.0#error-handling | java.lang.VerifyError:拒绝类com.tiger.app1.axj.ui.dialog.VipTipDialog,因为它未通过编译时验证(在/ data中声明了“ com.tiger.app1.axj.ui.dialog.VipTipDialog” /app/com.xj.tiger-1/base.apk)

        at io.reactivex.plugins.RxJavaPlugins.onError(SourceFile:4)
        at io.reactivex.android.schedulers.HandlerScheduler$ScheduledRunnable.run(SourceFile:2)
        at android.os.Handler.handleCallback(Handler.java:739)
        at android.os.Handler.dispatchMessage(Handler.java:95)
        at android.os.Looper.loop(Looper.java:135)
        at android.app.ActivityThread.main(ActivityThread.java:5254)
        at java.lang.reflect.Method.invoke(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:372)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1100)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:875)
        at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:107)
Caused by: java.lang.VerifyError: Rejecting class com.tiger.app1.axj.ui.dialog.VipTipDialog because it failed compile-time verification (declaration of 'com.tiger.app1.axj.ui.dialog.VipTipDialog' appears in /data/app/com.xj.tiger-1/base.apk)
        at com.tiger.app1.axj.mvp.present.MovieDetailPresenter.a(SourceFile:3)===============>优先看这行
        at com.tiger.app1.axj.mvp.present.MovieDetailPresenter$e.a(SourceFile:5)===============>优先看这行
        at
com.tiger.app1.axj.mvp.present.MovieDetailPresenter$e.onFail(SourceFile:1)===============>优先看这行
        at com.tiger.app1.axj.net.DefaultObserver.onNext(SourceFile:5)
        at com.tiger.app1.axj.net.DefaultObserver.onNext(SourceFile:1)
        at io.reactivex.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.drainNormal(SourceFile:8)
        at io.reactivex.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.run(SourceFile:3)
        at io.reactivex.android.schedulers.HandlerScheduler$ScheduledRunnable.run(SourceFile:1)
        ... 9 more

其中有三条比较有意思,   包名+英文预置那个单词 + a类
                                            。。。。。。。。。。。。e$a类
                                             。。。。。。。。。。。。。最后一条也在上边那个类中,里边有个单词fail
于是我就试着一条条的删除 或 修改 ,结果 果然问题出在 fail 的这个预置类里,删除掉后也不闪退了,但也播放不动了。
于是我试着手机登录下,竟然都正常了。


未完,还得继续。。。
昨夜看了几个后,又出现新的提示 “VIP等级不够,需要达到2级才能看。。。”
因为我知道有vip 5级
你会问我咋知道的?
搜索layout之类的文件夹
*.png
vip*.png
vip.png
等字样,你会发现
vip1.png
vip2.png
vip3.png
vip4.png
vip5.png
Screenshot_20200903_080731.jpg
Screenshot_20200903_080850.jpg
icon_vip_jiao_biao 难道是角标? vip高级版用户显示这头像?
dialog_vip 这个长得很像哟 ~~
icon_vip_recharge 最后一个单词充值的意思,所以不是
dialgo_bg_vip.png  (这个就是那个大个的花瓣型的最大的那个背景的那个图)
其实通过r.java 或layout 或resource.arsc 你不仅可以通过字、图、音 皆为成为我们定位的关键突破点
或是asssets (这个修改游戏初始数据很好)
稍后,解决以上问题。
看到上面图片中的 【永久字样】没?7FE0038
又重新定位了下,发现只有r.java中
貌似次数限额跟服务器返回值有关

127.0.0.1 试着改了下,没用
isLocalIp 搜索不到
另外下面还有广告,我们得干掉。视频广告我已经干掉了,还有启动广告和界面下方的广告。



https://www.52pojie.cn/thread-408645-1-1.html这个,果然能提高能力哟。

免费评分

参与人数 63吾爱币 +54 热心值 +54 收起 理由
youku2020 + 1 + 1 我很赞同!
yaolujia + 1 + 1 感谢您的宝贵建议,我们会努力争取做得更好!
佩格瓦拉 + 1 我很赞同!
zhuzhuxia111 + 1 + 1 我很赞同!
wxbyff + 1 谢谢@Thanks!
cstlab + 1 + 1 鼓励转贴优秀软件安全工具和文档!
楠宝 + 1 用心讨论,共获提升!
siye52888 + 1 + 1 提醒下别私信发。之前91那个好像封了
zhongmale + 1 + 1 谢谢@Thanks!
a246625296 + 1 + 1 热心回复!
2019想想 + 1 + 1 用心讨论,共获提升!
wanjuny + 1 热心回复!
luis318 + 1 + 1 谢谢@Thanks!
字数补丁 + 1 + 1 我朋友托我问成品在哪里
guo798292015 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
yangsd973 + 1 + 1 热心回复!
qazwsc8 + 1 + 1 私发个包把
anonym_zou + 1 + 1 谢谢@Thanks!
MIC生命互联网 + 1 + 1 感谢您的宝贵建议,我们会努力争取做得更好!
yanb + 1 + 1 用心讨论,共获提升!
蓝色基调 + 1 + 1 这软件我48级了,名字是一种粮食作物
shp747994 + 1 + 1 用心讨论,共获提升!
alittlebear + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
rjlly + 1 我很赞同!
农夫山泉阿萨姆 + 1 + 1 谢谢@Thanks!
tocabd + 1 + 1 谢谢@Thanks!
ToT、 + 1 + 1 翻了翻评论,这个软件名字是一种水果,猴子爱吃的水果
明眼梅花 + 1 + 1 我很赞同!
Beryl + 1 + 1 谢谢@Thanks!
geliang715 + 1 够详细
lailt20 + 1 + 1 热心回复!
陈世界 + 1 + 1 我很赞同!
★☆CNVIP☆★ + 1 热心回复!
你可长点心吧 + 1 + 1 我提供网址谁给我个成品
andrewlee + 1 已经处理,感谢您对吾爱破解论坛的支持!
jute321 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
hakurei123 + 1 + 1 用心讨论,共获提升!
安利天天 + 1 + 1 我很赞同!
默默默默陌 + 1 + 1 热心回复!
d18991160472 + 1 + 1 我很赞同!
megya + 1 谢谢@Thanks!
哇哈哈大笑 + 1 + 1 热心回复!
a1s2z1x2a + 1 给私发个包吧
yantian007 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
满意就好 + 1 热心回复!
翳麟 + 1 + 1 已经处理,感谢您对吾爱破解论坛的支持!
hiramyun + 1 + 1 我很赞同!
笙若 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
hoperaise + 1 我很赞同!
追马 + 1 我很赞同!
vizardtdst + 1 + 1 用心讨论,共获提升!
从农菜菜籽 + 1 + 1 我很赞同!
clever012 + 1 + 1 你的可是真牛逼啊!!!!
s9mf + 1 + 1 我很赞同!
wellionx + 1 热心回复!
jone110 + 1 热心回复!
ihusr + 1 用心讨论,共获提升!
Royal_zya + 1 + 1 热心回复!
dzc999 + 1 谢谢@Thanks!
海云帆 + 1 + 1 热心回复!
411183343 + 1 谢谢@Thanks!
wang3166wang + 1 + 1 用心讨论,共获提升!
2881326 + 1 + 1 我很赞同!

查看全部评分

本帖被以下淘专辑推荐:

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

大兵马元帅 发表于 2020-9-3 00:13
我朋友托我问问是什么软件
van142 发表于 2020-9-7 09:18
stilllove88 发表于 2020-9-4 11:34
我知道了 这是一种水果 猴子特别爱吃 超市普遍卖2块多  打折1块多   香开头的  提示这么多应该知道了吧
涛之雨 发表于 2020-9-3 06:21
本帖最后由 涛之雨 于 2020-9-3 06:25 编辑

返回类型为object,是不可以直接返回0或者1的。
比如返回的是数组或是结构体(其实原理差不多,结构体貌似是c说的。Java貌似叫类)
比如某个结构体如下
[C] 纯文本查看 复制代码
userinfo=['username':'涛之雨','isVIP':1,'password':'wuaipojie']

比如我可以读取
userinfo.isVIP是不是1来判断当前用户的类型。。。。

如果你直接返回1

读取的时候就变成1.isVIP??
1里面怎么可能有isVIP这个属性,所以会报错。
如果是某个子activity出错,有可能会导致软件无限重启。
如果是主activity抛出异常,那就是闪退了

改法也有至少两种。
还是上面的栗子
一个是在返回的上面赋值userinfo.isVIP为1
或者把结构体的userinfo中isVIP的赋值语句改成return1(只要调用就赋值1)

另一个是利用正则表达式,匹配所有读取xxx.info的(不一定是userinfo,也有可能是其他的)
正则表达式让这些代码全部返回1

免费评分

参与人数 3吾爱币 +3 热心值 +3 收起 理由
alittlebear + 1 + 1 666
sunnylds7 + 1 + 1 热心回复!
冥界3大法王 + 1 + 1 有道理,我再试试。

查看全部评分

未命铭 发表于 2020-9-7 08:49
我有个朋友得了重病,临走之前想打探下这是什么软件?
1369452145 发表于 2020-9-3 01:58
叫啥香香来着
zhuxiaoyuan 发表于 2020-9-3 00:07
到现在也猜不到是什么香香
ouyuan 发表于 2020-9-6 13:35
蓝瘦里面搜的到呀
z1991627 发表于 2020-9-3 15:12
woshishiqi 发表于 2020-9-3 12:11
你的那个像皇冠&#128081;怎么弄得)

用吾爱币买的  一年就没了
北辰没有林安 发表于 2020-9-2 23:55
有点意思,
wang3166wang 发表于 2020-9-2 23:57
厉害了我的哥
jinzhh 发表于 2020-9-3 00:14
我朋友也想知道什么软件
7687 发表于 2020-9-3 00:41
感谢提供思路
丿终结者 发表于 2020-9-3 00:53
学习一下
sddson 发表于 2020-9-3 00:56
谢谢分享
lu4421479 发表于 2020-9-3 01:03
学习学习!!!!!
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-28 08:46

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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