jeb打開查看MainActivity方法,發現通過JNI.getResult方法來判斷成功與否

而getResult是native方法

IDA載入so檔案
找到相應函式

Init函式類似每組字數為3的柵欄加密,只不過是沒連在一起,

將得到的3組,第一組前4個字符 每個字符乘以2再異或0x80再進行比較

剩下的則是,每組的前四位;第二組異或第一組,第三組異或第二組,再進行比較

寫Python腳本得到
r1 = [ord(i) for i in list("LN^dl")]
r2 = [0x20, 0x35, 0x2D, 0x16, 0x61]
r3 = [ord(i) for i in list("AFBo}")]
flag = ""
for i in range(5):
if(i < 4):
r3[i] ^= r2[i]
r2[i] ^= r1[i]
r1[i] = (r1[i] ^ 0x80)//2
flag += chr(r1[i])
flag += chr(r2[i])
flag += chr(r3[i])
print(flag)
得到flag為flag{sosorryla}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/347058.html
標籤:其他
上一篇:漏洞深入分析-2021
