吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 11523|回复: 161
收起左侧

[Android 原创] 《安卓逆向这档事》番外实战篇1-某电影视全家桶

    [复制链接]
正己 发表于 2023-7-29 20:56
本帖最后由 正己 于 2023-10-10 18:54 编辑

|500

一、课程目标


借助已学知识完成样本软件的去除签名校验、去广告与更新、布局优化

二、工具


1.样本软件
2.jadx-gui
3.MT管理器/NP管理器
4.算法助手
5.开发助手

三、课程内容


全家桶:顾名思义,这些影视app都是一套源码开发的,多个渠道分发只是换了个包名和皮肤
《安卓逆向这档事》疑难解答-建议征集贴
【吾爱破解安卓逆向入门教程《安卓逆向这档事》三、初识smali,vip终结者】
【【Android逆向】16分钟动画讲解java以及对应的smali代码】
PS:讲得特别好,建议对于smali还不熟悉的朋友可以多看几遍!!!

1.去除广告

关键字:initsdk、loadad、initad等

广告关键词 厂商 文档
com.qq.e.ads 腾讯优量汇广告 https://developers.adnet.qq.com/doc/android/union/union_splash
CSJAD、TTAdSdk、bytedance、pangolin 穿山甲广告 https://www.csjplatform.com/supportcenter/5395
ADMob、google.ads 谷歌广告 https://developers.google.com/admob/android/app-open?hl=zh-cn#extend
TorchAd 360广告 https://easydoc.soft.360.cn/doc?project=186589faed863b0a24f15f9bcbafd5c7&doc=2cbbbe19c5cb90f5e7a41c7037b0029a&config=title_menu_toc
kwad 快手广告 https://u.kuaishou.com/home/help/detail/1334/1370/1310
baidu.mobads 百度广告 http://bce.ssp.baidu.com/mssp/sdk/BaiduMobAds_MSSP_bd_SDK_android_v5.1.pdf
MimoSdk 米盟广告 https://t5.a.market.xiaomi.com/download/AdCenter/0d3a369516ee146e8a9d5c290985939da4624fe0a/AdCenter0d3a369516ee146e8a9d5c290985939da4624fe0a.html
sigmob.sdk sigmob广告 https://doc.sigmob.com/#/Sigmob%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97/SDK%E9%9B%86%E6%88%90%E8%AF%B4%E6%98%8E/Android/SDK%E6%8E%A5%E5%85%A5%E9%85%8D%E7%BD%AE/
TradPlus TradPlus聚合广告 https://service.cocos.com/document/zh/tradplusad.html

通过免广告关键字来实现部分广告的去除

public void O(SaiUserInfo saiUserInfo, boolean z) {  
        g0.i(BaseApp.getInstance(), saiUserInfo);  //获取用户信息
        if (z) {  
            v.c().q(SaiSPKey.appToken, saiUserInfo.getToken());  //获取Token
        }  
        this.e.set(saiUserInfo);  
        this.h.setValue(saiUserInfo.getPic());  //设置用户头像
        if (saiUserInfo.getLogin_type() == 1) {  //判断登录状态,并设置用户信息
            this.g.set("点击登录");  
            this.f.set(Boolean.FALSE);  
        } else {  
            this.g.set(saiUserInfo.getNickname());  
            this.f.set(Boolean.TRUE);  
        }  
        ObservableField observableField = this.i;  
        observableField.set("ID:" + saiUserInfo.getUser_id());  //获取用户ID
        ObservableField observableField2 = this.j;  
        observableField2.set(SaiAppUtils.d(saiUserInfo.getInvited_count() + "人"));  //获取用户邀请人数
        if (saiUserInfo.getInvited_count() > 0) {  
            ObservableField observableField3 = this.k;  
            observableField3.set(SaiAppUtils.d(N(saiUserInfo.getInvited_count()) + "天 "));  
        } else {  
            this.k.set(SaiAppUtils.d("0天"));  
        }  
        if (saiUserInfo.getFree_time() * 1000 > System.currentTimeMillis()) {  //获取免广告时间
            this.n.set(0);  
            this.m.set(d.a(Long.valueOf(saiUserInfo.getFree_time() * 1000)));  
            this.l.set("剩余免广告:");  
            BaseApp.getInstance().setFreeTime(saiUserInfo.getFree_time() * 1000);  
            return;  
        }  
        this.l.set("邀请好友获得终身免广告特权");  
        this.n.set(8);  
        BaseApp.getInstance().setFreeTime(0L);  
    }
public void initData() {
        super.initData();
        if (!v.c().b(SaiSPKey.AGREE_PRIVATE, false)) {
            ((SaiSplashViewModel) this.viewModel).b(b.s.c.b.a().c(SaiPrivateEvent.class).observeOn(AndroidSchedulers.mainThread()).subscribe(new Consumer() { // from class: b.l.i.v.d
                @Override // io.reactivex.functions.Consumer
                public final void accept(Object obj) {
                    SaiSplashActivity.this.g((SaiPrivateEvent) obj);
                }
            }));
            a0.a.h(this);
            return;
        }
        try {
            s.a.d();  //广告SDK初始化
        } catch (Exception e2) {
            e0.b("===========>>> " + e2.getMessage());
        }
        int g2 = v.c().g(SaiSPKey.INSTANCE.getLaunchCount(), 0);
        if (g2 != 0) {
            if (!v.c().b("extend_java_aa", false)) {
                v.c().s("extend_java_aa", true);
                g2 = 0;
            }
        } else {
            v.c().s("extend_java_aa", true);
        }
        if (g2 == 0) {
            showLoaddingDialog();
            ((SaiSplashViewModel) this.viewModel).b(b.s.c.b.a().c(SaiAppInitEvent.class).observeOn(AndroidSchedulers.mainThread()).subscribe(new Consumer() { // from class: b.l.i.v.a
                @Override // io.reactivex.functions.Consumer
                public final void accept(Object obj) {
                    SaiSplashActivity.this.i((SaiAppInitEvent) obj);
                }
            }));
        }
        g.a.a(g2);
        int i2 = g2 + 1;
        v.c().m(SaiSPKey.INSTANCE.getLaunchCount(), i2);
        c0 c0Var = c0.a;
        if (c0Var.f3990g == -1) {
            c0Var.f3990g = i2;
        }
        if (g2 != 0) {
            if (NetworkUtils.c()) {
                ((SaiSplashViewModel) this.viewModel).n();
                if (c0Var.l("1")) {
                    showLoaddingDialog();
                    SaiSplashAdActivity.invoke(this);
                    finish();
                } else {
                    n(b.DELAY);
                }
            } else {
                n(b.NONET);
            }
        } else {
            ((SaiSplashViewModel) this.viewModel).n();
        }
        if (i.c(d.f().toString(), c0Var.f3986c).equals(c0Var.j(R.string.app_cudgel))) {
            return;
        }
        e0.b("===========>>> app kill app_cudgel");
        System.exit(0);
    }

赋值参考第六课52:08

.method public getFree_time()J
    .registers 3

    .line 1
    iget-wide v0, p0, Lcom/pencil/saibeans/SaiUserInfo;->free_time:J

    const-wide v0, 0x32d57bf5e8L

    return-wide v0
.end method

2.去除签名校验

吾爱破解安卓逆向入门教程《安卓逆向这档事》六、校验的N次方-签名校验对抗、PM代{过}{滤}理、IO重定向
1.核心破解,免签名安装
2.一键去签名工具
[实战破解]白描-动态代{过}{滤}理Hook签名校验
3.手动分析签名校验

.method public static f()Ljava/util/List;
    .registers 2
    .annotation build Landroidx/annotation/NonNull;
    .end annotation

    .annotation system Ldalvik/annotation/Signature;
        value = {
            "()",
            "Ljava/util/List<",
            "Ljava/lang/String;",
            ">;"
        }
    .end annotation

    .line 1
    new-instance v0, Ljava/util/ArrayList;

    invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V

    const-string v1, "F9:6C:E9:5F:D5:47:BE:DF:81:15:E3:71:8A:10:54:45" 
    #创建了一个新的 ArrayList 实例,然后向列表中添加了一个字符串常量 "F9:6C:E9:5F:D5:47:BE:DF:81:15:E3:71:8A:10:54:45"

    invoke-virtual {v0, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z

    return-object v0
.end method

3. 去除更新弹窗

public static boolean a(boolean z, SaiUpgradeInfo saiUpgradeInfo) {  
        if (!a.b.b() && saiUpgradeInfo != null) {  
            try {  
                //获取版本号进行对比
                if (saiUpgradeInfo.getVersion_code() >= b.c.a.b.d.i()) {  
                    boolean b2 = v.c().b(SaiSPKey.INSTANCE.getUpgrade_dialog(), false);  
                    if (z || !b2) {  
                        if (saiUpgradeInfo.getIs_same() == 1) {  
                            v c = v.c();  
                            if (!c.b("appUpgrade_" + saiUpgradeInfo.getVersion_code(), false)) {  
                                new d(b.c.a.b.a.h(), saiUpgradeInfo).show();  
                                v c2 = v.c();  
                                c2.s("appUpgrade_" + saiUpgradeInfo.getVersion_code(), true);  
                                return true;  
                            }  
                        } else if (saiUpgradeInfo.getVersion_code() > b.c.a.b.d.i()) {  
                            new d(b.c.a.b.a.h(), saiUpgradeInfo).show();  
                            return true;  
                        } else if (z) {  
                            ToastUtils.v("已经是最新版本");  
                        }  
                        e0.b("========>>> 包升级更新:${it.url}");  
                    }  
                } else if (z) {  
                    ToastUtils.v("已经是最新版本");  
                }  
            } catch (Exception unused) {  
            }  
        }  
        return false;  
    }

4.布局优化

【吾爱破解安卓逆向入门教程《安卓逆向这档事》四、恭喜你获得广告&弹窗静默卡】

1.修改xml中的属性值

元素名称 属性名称 描述
LinearLayout android:gravity 设置布局内部元素的位置,这里设置为中心和左对齐
LinearLayout android:orientation 设置 LinearLayout 的方向,这里设置为水平
LinearLayout android:tag 为视图设置标签,这里设置为 "binding_13"
LinearLayout android:background 设置背景图片,这里引用了名为 "sai_sp_stroke_divider" 的资源
LinearLayout android:paddingLeft 设置左填充距离,这里引用了名为 "dp_15" 的资源
LinearLayout android:paddingTop 设置顶部填充距离,这里设置为 10dp
LinearLayout android:paddingBottom 设置底部填充距离,这里设置为 10dp
LinearLayout android:visibility 设置视图可见性,这里设置为 "gone"
LinearLayout android:layout_width 设置布局宽度,这里设置为 0dp
LinearLayout android:layout_height 设置布局高度,这里设置为包裹内容
LinearLayout android:layout_marginRight 设置右边距,这里引用了名为 "dp_8" 的资源
LinearLayout android:layout_weight 设置布局权重,这里设置为 1.0
LinearLayout android:paddingVertical 设置垂直方向的填充距离,这里设置为 10dp
ImageView android:layout_width 设置图片视图宽度,这里引用了名为 "dp_32" 的资源
ImageView android:layout_height 设置图片视图高度,这里引用了名为 "dp_32" 的资源
ImageView android:src 设置图片资源,这里引用了名为 "icon_mine_invitecode" 的资源
TextView android:textSize 设置文本字体大小,这里引用了名为 "sp_14" 的资源
TextView android:textColor 设置文本颜色,这里引用了名为 "common_h0" 的资源
TextView android:layout_width 设置文本视图宽度,这里设置为包裹内容
TextView android:layout_height 设置文本视图高度,这里设置为包裹内容
TextView android:layout_marginLeft 设置左边距,这里引用了名为 "dp_10" 的资源
TextView android:text 设置文本内容,这里设置为 "填写邀请码"
android:visibility="gone"

2.上帝模式优化布局

[白嫖大法]某影视邀请协议分析

四、课后小作业


完成剩余布局的优化并截图回复
最终效果图:

五、答疑


待更新

六、视频及课件地址


百度云
阿里云
哔哩哔哩
PS:解压密码都是52pj,阿里云由于不能分享压缩包,所以下载exe文件,双击自解压

七、其他章节


《安卓逆向这档事》一、模拟器环境搭建
《安卓逆向这档事》二、初识APK文件结构、双开、汉化、基础修改
《安卓逆向这档事》三、初识smail,vip终结者
《安卓逆向这档事》四、恭喜你获得广告&弹窗静默卡
《安卓逆向这档事》五、1000-7=?&动态调试&Log插桩
《安卓逆向这档事》六、校验的N次方-签名校验对抗、PM代{过}{滤}理、IO重定向
《安卓逆向这档事》七、Sorry,会Hook真的可以为所欲为-Xposed快速上手(上)模块编写,常用Api
《安卓逆向这档事》八、Sorry,会Hook真的可以为所欲为-xposed快速上手(下)快速hook
《安卓逆向这档事》九、密码学基础、算法自吐、非标准加密对抗
《安卓逆向这档事》十、不是我说,有了IDA还要什么女朋友?
《安卓逆向这档事》十二、大佬帮我分析一下

免费评分

参与人数 76威望 +1 吾爱币 +95 热心值 +74 收起 理由
kozyan + 1 + 1 学破解学了20年,还是小白。见了好贴就要赞一个!
老板来包辣条 + 1 谢谢@Thanks!
junjia215 + 1 + 1 用心讨论,共获提升!
woaichibinggao + 1 + 1 谢谢@Thanks!
yangj666 + 1 + 1 谢谢@Thanks!
HunterVv + 1 + 1 谢谢@Thanks!
shenqi88 + 1 + 1 谢谢@Thanks!
myx04 + 1 + 1 我很赞同!
wystudio + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
PUBG3301 + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
何当负途人 + 1 + 1 谢谢@Thanks!
抱歉、 + 1 谢谢@Thanks!
2016976438 + 3 + 1 谢谢@Thanks!
zhangxu888 + 1 + 1 用心讨论,共获提升!
sxz5 + 1 我很赞同!
追梦小猿 + 1 我很赞同!
crizquan + 1 + 1 用心讨论,共获提升!
chen29688 + 1 + 1 谢谢@Thanks!
yuyi347288629 + 1 + 1 很实用内容很丰富比花钱买的还要值
wu.tony + 1 + 1 说的贼对
wangyou918918 + 1 + 1 求几张厂妹图片,说得我没耐心看下去了。。。
King945 + 1 热心回复!
learre + 1 谢谢@Thanks!
小贰 + 1 + 1 谢谢@Thanks!
Chenda1 + 1 + 1 我很赞同!
Jay15 + 1 + 1 我很赞同!
wardenzzzz + 1 + 1 谢谢@Thanks!
Yangzaipython + 1 + 1 谢谢@Thanks!
cncprz + 1 + 1 谢谢@Thanks!
lunoah + 1 + 1 谢谢@Thanks!
love008 + 1 + 1 谢谢@Thanks!
zssth520 + 1 + 1 我很赞同!
allspark + 1 + 1 用心讨论,共获提升!
zhufengwan + 1 + 1 谢谢@Thanks!
duan7542123 + 1 + 1 谢谢@Thanks!
Asked404 + 1 + 1 谢谢@Thanks!
plasd + 1 + 1 谢谢@Thanks!
wasd3152 + 1 + 1 谢谢@Thanks!
cenyj + 1 + 1 用心讨论,共获提升!
AbyssL + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
FarSight2333 + 1 + 1 我很赞同!
yp17792351859 + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
debug_cat + 1 + 1 谢谢@Thanks!
牧尘凉凉 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
fenggod1 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
JasonDev324 + 1 用心讨论,共获提升!
mapslove + 1 + 1 我很赞同!
zlnxlzht + 1 + 1 谢谢@Thanks!
悦来客栈的老板 + 1 + 1 我很赞同!
twodoors + 1 + 1 谢谢@Thanks!
时光书窝 + 2 + 1 谢谢@Thanks!
shiqu02 + 1 + 1 感谢
jobs_steven + 1 + 1 我很赞同!
hongmengshikong + 1 + 1 用心讨论,共获提升!
ShuoYan + 1 + 1 我很赞同!
AcceleratorG + 1 + 1 我很赞同!
parallel + 1 + 1 用心讨论,共获提升!
wHoRU + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
fan37257978 + 1 + 1 我很赞同!
TedChen + 1 + 1 热心回复!
MywifeDouma + 1 + 1 谢谢@Thanks!
wabisabi07 + 1 + 1 已经处理,感谢您对吾爱破解论坛的支持!
露珠闪闪 + 1 + 1 用心讨论,共获提升!
BonnieRan + 1 + 1 用心讨论,共获提升!
小卍卒 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
Heasitation + 1 + 1 我很赞同!
Hmily + 1 + 20 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
Feng6538 + 1 + 1 我很赞同!
alexkaer + 2 + 1 谢谢@Thanks!
zyz1234 + 1 热心回复!
lin101 + 1 + 1 我很赞同!
helian147 + 1 + 1 谢谢@Thanks!
twl288 + 1 谢谢@Thanks!
低调(d-iao) + 3 + 1 谢谢@Thanks!
OVVO + 2 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
勇者为王 + 1 + 1 己己老师开课了,大家准备好小板凳快来啊。

查看全部评分

本帖被以下淘专辑推荐:

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

梁茵 发表于 2023-7-29 22:13
感谢楼主分享,满满的技术贴厉害
wss0823 发表于 2023-7-29 21:42
安卓没接触过,先收藏学习了

免费评分

参与人数 1吾爱币 -8 收起 理由
cattie -8 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

查看全部评分

yippee 发表于 2023-7-29 21:11
谢谢分享!!

免费评分

参与人数 1吾爱币 -8 收起 理由
RS水果 -8 本版块禁止灌水或回复与主题无关内容,违者重罚!

查看全部评分

leifengwl 发表于 2023-7-29 21:08
前排!感谢分享

免费评分

参与人数 1吾爱币 -8 收起 理由
RS水果 -8 本版块禁止灌水或回复与主题无关内容,违者重罚!

查看全部评分

yjj945 发表于 2023-7-29 21:32
感谢分享,很感谢·

免费评分

参与人数 1吾爱币 -8 收起 理由
cattie -8 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

查看全部评分

twl288 发表于 2023-7-29 21:14
正哥晚上好

点评

晚上好  详情 回复 发表于 2023-7-29 22:16

免费评分

参与人数 1吾爱币 -8 收起 理由
RS水果 -8 本版块禁止灌水或回复与主题无关内容,违者重罚!

查看全部评分

Zzz159 发表于 2023-7-29 22:26
感谢分享,又可以学习了

免费评分

参与人数 1吾爱币 -8 收起 理由
cattie -8 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

查看全部评分

祈愿啊 发表于 2023-7-29 21:57

谢谢分享!!

免费评分

参与人数 1吾爱币 -8 收起 理由
cattie -8 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

查看全部评分

 楼主| 正己 发表于 2023-7-29 20:57
沙发沙发

免费评分

参与人数 1吾爱币 -8 收起 理由
cattie -8 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

查看全部评分

yixinyiyi 发表于 2023-7-29 21:14
支持一下!!!

免费评分

参与人数 1吾爱币 -8 收起 理由
RS水果 -8 本版块禁止灌水或回复与主题无关内容,违者重罚!

查看全部评分

Indifference 发表于 2023-7-29 21:28
感谢分享

免费评分

参与人数 1吾爱币 -8 收起 理由
RS水果 -8 本版块禁止灌水或回复与主题无关内容,违者重罚!

查看全部评分

哥哥的肥皂 发表于 2023-7-29 21:31
感谢分享,大家共同进步。

免费评分

参与人数 1吾爱币 -8 收起 理由
cattie -8 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

查看全部评分

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-21 22:54

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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