


人民的名义-抓捕赵德汉1-200
一、文件分析
1.1使用JADX打开文件进行分析,发现存在defpackage.CheckPass和defpackage.CheckPassword两个类,从接口文件defpackage.CheckInterface可以看出只调用了checkPassword类

接下来主要分析defpackage.CheckPassword

二、逆向分析
2.1业务流分析
main()↓ loadCheckerObject()↓ 读取ClassEnc文件↓ AES解密↓ 动态加载类↓ 调用checkPassword()
private static CheckInterface loadCheckerObject ( ) throws BadPaddingExceptio
fa3733c647dca53a66cf8df953c2d539对比。public boolean checkPassword(String input) throws NoSuchAlgorithmException {MessageDigest md5Obj = null;try {md5Obj = MessageDigest.getInstance("MD5");} catch (NoSuchAlgorithmException e) {System.out.println("Hash Algorithm not supported");System.exit(-1);}byte[] bArr = new byte[40];md5Obj.update(input.getBytes(), 0, input.length());byte[] hashBytes = md5Obj.digest();return byteArrayToHexString(hashBytes).equals("fa3733c647dca53a66cf8df953c2d539");}
三、得到Flag
利用在线MD5解密得到
monkey99

四、过关
输入flag{monkey99}

END

文章都看完了,还不点个赞
回顾往期内容
CTF安卓逆向:《2015移动安全挑战赛》第二题 AliCrackme_2