点击此处获得更好的阅读体验
解题思路
1
| cipher = C28BC39DC3A6C283C2B3C39DC293C289C2B8C3BAC29EC3A0C3A7C29A1654C3AF28C3A1C2B1215B53
|
len(cipher) = 80
用jeb打开,能最终定位到一个关键函数,这个函数输入两个参数,第一个是flag,第二个是hellodsctf字符串的md5,输出为cipher。直接爆破每一位
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| import java.lang.String; public class Main { public static void main(String[] args) { c a = new c(); String flag = "sctf{"; String printable = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!#$%&()*+,-.:;<=>?@[]^_{|}~"; String ss = "C28BC39DC3A6C283C2B3C39DC293C289C2B8C3BAC29EC3A0C3A7C29A1654C3AF28C3A1C2B1215B53"; for(int j=0;j<100;j++) { for(int i=0;i<printable.length();i++) { String now= flag + printable.charAt(i); String d = a.a(now,"E7E64BF658BAB14A25C9D67A054CEBE5"); if(ss.indexOf(d) == 0) { System.out.println("flag: " + now); flag = now; } } } } }
|
FLAG