SWPUCTF两道安卓逆向题

2019-08-09  本文已影响0人  超威蓝猫l

第一题


image.png

输密码

image.png

一看判断条件 12位 然后255减去index减去100再减去x = 0


image.png

0是48.

所以密码是从后往前数

image.png image.png image.png

太简单了。

第二道

image.png

ida f5后看到如上

从FIrst方法中解出v3
下面两个循环分别解出v4 v5

image.png

注意 这三个解密都只循环四次 剩余的最后一个字母是用的原字符

image.png

这个init看起来复杂 其实就是逐个取一个出来

image.png
public static void main(String[] args) {
        String str1 = "LN^dl";
        int arr2[] = {0x20, 0x35, 0x2d, 0x16, 0x61};
        String str3 = "AFBo}";

        char[] chars1 = str1.toCharArray();
        char[] chars3 = str3.toCharArray();

        char res1[] = new char[5];
        char res2[] = new char[5];
        char res3[] = new char[5];

        for (int i = 0; i < 4; i++) {
            res1[i] = (char) ((chars1[i] ^ 0x80) / 2);
            res2[i] = (char) (chars1[i] ^ arr2[i]);
            res3[i] = (char) (chars3[i] ^ arr2[i]);
        }
        res1[4] = chars1[4];
        res2[4] = (char) arr2[4];
        res3[4] = chars3[4];

        System.out.println(new String(res1));
        System.out.println(new String(res2));
        System.out.println(new String(res3));

        for (int i = 0;i<res1.length;i++) {
            System.out.print(res1[i]);
            System.out.print(res2[i]);
            System.out.print(res3[i]);
        }

    }
上一篇 下一篇

猜你喜欢

热点阅读