打开这个文件

首先是一个apk文件

也就是安卓文件,然后用jeb逆向看看。

image-20230606205602481

主要的代码就是这里:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
if(arg12.length() != 22) {
return v7;
}

MessageDigest v1 = MessageDigest.getInstance("MD5");
​ v1.reset();
​ v1.update(arg11.getBytes());
String v3 = MainActivity.toHexString(v1.digest(), "");
StringBuilder v5 = new StringBuilder();
int v4;
for(v4 = 0; v4 < v3.length(); v4 += 2) {
​ v5.append(v3.charAt(v4));
​ }

if(!"flag{" + v5.toString() + "}".equalsIgnoreCase(arg12)) {
return v7;


传入的参数1:arge1;参数2:arg12

看不懂java…

这里看了WP后知道:

这个代码就是:v1的md5,形成的md5密文的字符串取出偶数就是flag

            MessageDigest v1 = MessageDigest.getInstance("MD5");
            v1.reset();
            v1.update(arg11.getBytes());
            String v3 = MainActivity.toHexString(v1.digest(), "");
            StringBuilder v5 = new StringBuilder();
            int v4;
            for(v4 = 0; v4 < v3.length(); v4 += 2) {
                v5.append(v3.charAt(v4));
            }

            if(!"flag{" + v5.toString() + "}".equalsIgnoreCase(arg12)) {
                return v7;

image-20230606210122171

传入的地址参数是Tenshine

image-20230606210150642

b9c77224ff234f27ac6badf83b855c76

1
2
3
a = "b9c77224ff234f27ac6badf83b855c76"
b= a[::2]
print(b)

bc72f242a6af3857

flag{bc72f242a6af3857}