android8.0证书安装

2023-10-18 14:13:14 浏览数 (1)

mobile1(gctf)

下载下来是个apk

jadk打开查看源码

有两个关键方法

代码语言:javascript复制
public static void main(String[] args){
​        TestActivity TestActivity=new TestActivity();
​        System.out.println(String.valueOf(TestActivity.checkSN(“Tenshine”,“Tenshine”)));
​    }
​    private boolean checkSN(String userName, String sn) {
​        if (userName == null) {
​            return false;
​        }
​        try {
//            if (userName.length() == 0 || sn == null || sn.length() != 22) {
//                return true;
//            }
​            MessageDigest digest = MessageDigest.getInstance(“MD5”);
​            digest.reset();
​            digest.update(userName.getBytes());
​            String hexstr = toHexString(digest.digest(), “”);
​            StringBuilder sb = new StringBuilder();
​            for (int i = 0; i < hexstr.length(); i  = 2) {
​                sb.append(hexstr.charAt(i));
​            }
​            System.out.println(“flag{“ sb.toString()  “}”);
​            if ((“flag{“   sb.toString()   “}”).equalsIgnoreCase(sn)) {
​                return true;
​            }
​            return false;
​        } catch (NoSuchAlgorithmException e) {
​            e.printStackTrace();
​            return false;
​        }
​    }
​    private static String toHexString(byte[] bytes, String separator) {
​        StringBuilder hexString = new StringBuilder();
​        for (byte b : bytes) {
​            String hex = Integer.toHexString(b & 255);
​            if (hex.length() == 1) {
​                hexString.append(‘0’);
​            }
​            hexString.append(hex).append(separator);
​        }
​        return hexString.toString();
​    }

运行输出

获得flag

flag{bc72f242a6af3857}

false

-——————————–

0 人点赞