签到 xor

直接告诉 转一个十六进制 然后xor

package defpackage;

import java.math.BigInteger;

/* JADX INFO: loaded from: guess.class */
public class guess {
    static String XOR(String _str_one, String _str_two) {
        BigInteger i1 = new BigInteger(_str_one, 16);
        BigInteger i2 = new BigInteger(_str_two, 16);
        BigInteger res = i1.xor(i2);
        String result = res.toString(16);
        return result;
    }

    public static void main(String[] args) {
        if (args.length > 0) {
            try {
                int guess_number = Integer.parseInt(args[0]);
                if (1545686892 / 5 == guess_number) {
                    int i = 349763335 + 345736730;
                    String answer = XOR("4b64ca12ace755516c178f72d05d7061", "ecd44646cfe5994ebeb35bf922e25dba");
                    System.out.println("your flag is: " + answer);
                } else {
                    System.err.println("wrong guess!");
                    System.exit(1);
                }
                return;
            } catch (NumberFormatException e) {
                System.err.println("please enter an integer \nexample: java -jar guess 12");
                System.exit(1);
                return;
            }
        }
        System.err.println("wrong guess!");
        int i2 = 1000000 + 1;
        System.exit(1);
    }
}

猜数字的话也可以直接出flag 算一下就好了

1545686892 / 5 = 309137378

exp

a = int("4b64ca12ace755516c178f72d05d7061", 16)
b = int("ecd44646cfe5994ebeb35bf922e25dba", 16)

print(hex(a ^ b)[2:])

flag

a7b08c546302cc1fd2a4d48bf2bf2ddb