吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2620|回复: 1
收起左侧

[Android CTF] 《攻防世界》MOBILE--app1

[复制链接]
HNHuangJingYU 发表于 2021-9-28 20:29
1. app1.apk拉进JEB分析发现题目很简单,就是java层的分析,简单的分析下,就是我们输入的字符串长度要等于versionName的长度、然后就是字符串逐个字符要等于versionName.charAt(v0) ^ v4)那么就好办了。
[Java] 纯文本查看 复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
this.btn.setOnClickListener(new View$OnClickListener() {
            public void onClick(View arg10) {
                try {
                    String v1 = MainActivity.this.text.getText().toString();
                    PackageInfo v2 = MainActivity.this.getPackageManager().getPackageInfo("com.example.yaphetshan.tencentgreat", 0x4000);
                    String v3 = v2.versionName;
                    int v4 = v2.versionCode;
                    int v0 = 0;
                    while(v0 < v1.length()) {
                        if(v0 >= v3.length()) {
                            break;
                        }
 
                        if(v1.charAt(v0) != (v3.charAt(v0) ^ v4)) {
                            Toast.makeText(MainActivity.this, "再接再厉,加油~", 1).show();
                            return;
                        }
                        else {
                            ++v0;
                            continue;
                        }
                    }
 
                    if(v1.length() != v3.length()) {
                        goto label_39;
                    }
 
                    Toast.makeText(MainActivity.this, "恭喜开启闯关之门!", 1).show();
                    return;
                }
                catch(PackageManager$NameNotFoundException v5) {
                }
 
            label_39:
                Toast.makeText(MainActivity.this, "年轻人不要耍小聪明噢", 1).show();
            }
        });
2.versionName.charAt(v0) ^ v4 的值输出,因为输出的值都是int值,所以需要进行对ASCLL码转换
[Java] 纯文本查看 复制代码
1
2
3
4
5
6
7
8
9
@Test
public void demo2() {
    String versionName = "X<cP[?PHNB<P?aj";
    int versionCode = 15;
    for (int i = 0; i < versionName.length(); i++) {
        System.out.print((char) (versionName.charAt(i) ^ versionCode));
    }
    //输出:W3l_T0_GAM3_0ne
}

免费评分

参与人数 1吾爱币 +7 热心值 +1 收起 理由
qtfreet00 + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!

查看全部评分

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

州哥在江湖 发表于 2021-9-30 12:49
感谢楼主分享,学习学习。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2025-7-26 17:03

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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