MISC200
解題思路:
壓縮包里一個apk和一個疑似被加密的flag,先把apk拖到apktools里看下源碼,

可以看到一個EncryptImageActivity,貌似有點用
可以看到很useful的函數

繼續往下看

這就是對文件進行加密的具體函數了,可以看到,使用key對文件逐位異或得到cipherText,聯系上面的關鍵函數,可以得知,這個程序的工作流程:
- 1選擇一個文件
- 2輸入密碼
- 3使用密碼的md5值對原始文件進行逐位異或
- 4將加密后的cipherText寫入新文件并輸出
由于異或的特性,使用password的md5值對已經加密的文件再次加密能夠得到原來的文件,所以我們的任務就是逆向找到password了!!
上一句劃掉
那么麻煩干嘛,扔到手機里運行一下(才不說我專心逆向找password,怕手機被加密另開了手機分身運行應用呢),發現密碼已經是“記住”狀態了,把flag.encrypted扔進去點擊encrypt就會提示成功的創建了文件,只要提出來在Linux里直接能顯示出圖片了。

Flag:出題人你出來,自己選磚頭!神?字跡辨認
2017湖湘杯-Writeup