BUUCTF Reverse Java逆向解密
一天一道CTF題目,能多不能少
下載下傳檔案,發現是個class檔案,這好辦直接使用jd-gui打開,反編譯:
邏輯是如此清晰簡單,就是我們輸入一個字元串
然後經過一個for循環進行異或
然後将得到的新字元串與KEY進行比較,看看是否相等~
這裡我想看看在JAVA中的異或與python中的異或是否一樣,我就進行了java代碼的編譯:
再貼上python的代碼:
strs = [180, 136, 137, 147, 191, 137, 147, 191,
148, 136, 133, 191, 134, 140, 129, 135, 191, 65]
flag = ""
for i in range(0,len(strs)):
flag += chr(strs[i] - ord('@') ^ 0x20)
print(flag)
也能得到:
事實證明我想的太多了~
結果就得到了flag:
flag{This_is_the_flag_!}