吾爱破解 - LCG - LSG |安卓破解|病毒分析|破解软件|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

搜索
查看: 5220|回复: 56
上一主题 下一主题

[Android 原创] 简单破解某秀录屏软件VIP

  [复制链接]
跳转到指定楼层
楼主
风绕柳絮轻敲雪 发表于 2019-10-20 12:17 回帖奖励
本帖最后由 风绕柳絮轻敲雪 于 2019-11-6 18:38 编辑



1.进软件就看到一个大大的免费试用的布局,就从这里入手了



2.用AS的视图分析工具Layout Inspector 看一下该处的布局,是一个在Fragment下叫rl_vip_buy_home的RelativeLayout布局




3.在反编译的代码里搜索该ID,我们可以看到该视图的对象是在一个Fragment类下的onCreateView方法里被创建



代码如下

[Java] 纯文本查看 复制代码
public View onCreateView(LayoutInflater layoutInflater, ViewGroup viewGroup, Bundle bundle) {
        View inflate = layoutInflater.inflate(R$layout.fragment_record_video_list, viewGroup, false);
        this.g = ButterKnife.a(this, inflate);
        this.j = (ListView) inflate.findViewById(R$id.lv_video_list);
        this.w = (RelativeLayout) inflate.findViewById(R$id.rl_video_empty);
        this.m = (RelativeLayout) inflate.findViewById(R$id.rl_edit_bar);
        this.o = (LinearLayout) inflate.findViewById(R$id.ll_cancel_select);
        this.n = (LinearLayout) inflate.findViewById(R$id.ll_del_select);
        this.p = (TextView) inflate.findViewById(R$id.tv_select_num);
        this.q = (TextView) inflate.findViewById(R$id.tv_total_num);
        this.j.setChoiceMode(2);
        View inflate2 = LayoutInflater.from(getActivity()).inflate(R$layout.layout_video_list_header, null);
        this.h = (RelativeLayout) inflate2.findViewById(R$id.rl_vip_buy_home);                                                //rl_vip_buy_home的视图对象被创建
        this.i = (RobotoBoldTextView) inflate2.findViewById(R$id.tv_vip_vrecoder);
        this.j.addHeaderView(inflate2);
        ListView listView = this.j;
        listView.setPadding(0, kc.a(listView.getContext(), 10), 0, 0);
        this.j.setClipToPadding(false);
        this.k = c.a(getActivity());
        if (!(this.j == null || this.k == null || ContextCompat.checkSelfPermission(inflate.getContext(), "android.permission.WRITE_EXTERNAL_STORAGE") != 0)) {
            this.v.sendEmptyMessage(1);
        }
        j();
        if (c.e.d.c.b(this.x).booleanValue()) {
            this.h.setVisibility(8);                                                                              //rl_vip_buy_home的视图对象被隐藏
        }
        n();
        k();
        e.a().c(this);
        return inflate;
    }


4.通过上面的代码可以看到有一个对视图是否隐藏的判断,我们跳转到c.e.d.c下的b方法看看,从代码可以看出布尔对象的主要来源还是下面的最后返回的a方法,跳转过去

[Java] 纯文本查看 复制代码
public static Boolean b(Context context) {
        if (context == null) {
            return Boolean.valueOf(false);
        }
        return a(context);
    }


5.简单看下a方法的的代码,就是在user_info这个数据文件里读取一下google_play_sub_1001的布尔对象,如果存在google_play_sub_1001,则返回其对应的值,否则返回false(其实如果遇到那种其它地方没有写入的话,你可以直接在/data/data/包名/shared_prefs/找到储存的xml文件,打开直接修改就行了

[Java] 纯文本查看 复制代码
 
 public static Boolean a(Context context) {
        return Boolean.valueOf(context.getSharedPreferences("user_info", 0).getBoolean("google_play_sub_1001", false));
    }


6.它不就是想要个布尔对象吗,那我给它不就是了,结果无非就是 Boolean.valueOf(true)和Boolean.valueOf(false),修改如下


[Java] 纯文本查看 复制代码
public static Boolean a(Context context) {
return Boolean.valueOf(true); 
}


smali代码修改如下

[Java] 纯文本查看 复制代码
 
   const/4 p0, 0x1

   invoke-static {p0}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;

   move-result-object p0

   return-object p0


原版下载地址:
https://www.lanzous.com/i6vdcre



不懂的可以问我.....

免费评分

参与人数 14吾爱币 +17 热心值 +12 收起 理由
sunle681 + 1 + 1 优秀优秀!
家俊668866 + 1 我很赞同!
liyonghaod + 1 + 1 谢谢@Thanks!
fanvalen + 1 + 1 最后一句才是精辟返回true or false 跟0 or 1
qtfreet00 + 6 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
hjw45611 + 1 + 1 热心回复!
沉默vv羔羊 + 1 谢谢@Thanks!
xiaoxi2011 + 1 + 1 谢谢@Thanks!
gaga520451 + 1 热心回复!
mrsdz + 1 + 1 我很赞同!
Link_Stark + 1 + 1 谢谢@Thanks!
广州小余 + 1 + 1 谢谢@Thanks!
xinxinsoar + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
fwj178 + 1 热心回复!

查看全部评分

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

推荐
 楼主| 风绕柳絮轻敲雪 发表于 2019-10-20 12:45 <
ID0617 发表于 2019-10-20 12:37
1.楼主,小弟小白一枚,想问一下需要哪些软件,需要Java吗?
2.反编译是怎么操作的?apk解压完后哪些文件 ...

电脑上用jadx或者jeb  手机上可以用MT管理器
推荐
ID0617 发表于 2019-10-20 14:55
风绕柳絮轻敲雪 发表于 2019-10-20 12:45
电脑上用jadx或者jeb  手机上可以用MT管理器

楼主能录个视频吗,我用toolapk反编译时Java用不了啊
沙发
ID0617 发表于 2019-10-20 12:37
1.楼主,小弟小白一枚,想问一下需要哪些软件,需要Java吗?
2.反编译是怎么操作的?apk解压完后哪些文件需要反编译
3#
qqtanhaohua 发表于 2019-10-20 12:42
好厉害的样子
5#
wenwxpfh 发表于 2019-10-20 12:45
好厉害,不过我用不上这个 我懒得录QAQ
6#
yp1155 发表于 2019-10-20 12:51
真是高手啊!
7#
19959912329 发表于 2019-10-20 12:54
虽然不懂,但是好像很腻害的样子,小白学习了~ 顶一下~
8#
心在天上飞 发表于 2019-10-20 13:03
学习了,感谢分享
9#
lep52 发表于 2019-10-20 13:09
厉害,心里佩服一下
10#
571220 发表于 2019-10-20 13:10

学习了,感谢分享
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:禁止回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

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

GMT+8, 2019-11-20 00:07

Powered by Discuz!

© 2001-2017 Comsenz Inc.

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