REVERSE-PRACTICE-BUUCTF-5
REVERSE-PRACTICE-BUUCTF-5
- findit
- 簡單注冊器
- [GWCTF 2019]pyre
- [BJDCTF2020]JustRE
findit
apk文件,直接上jadx-gui分析
驗證輸入的邏輯比較簡單,寫腳本即可
安裝這個apk,將字符串輸入即可得到flag,當然也可以直接寫輸出flag的腳本
簡單注冊器
apk文件,jadx-gui分析
觀察到驗證輸入非常簡單,只對第0個,第1個,第2個和第31個字符做了判斷,其他都沒有判斷,于是可以偽造一個注冊碼進行輸入
第0個與第2個字符的十進制ascii碼的和為104,選擇兩個一樣的字符,即數字4(ascii碼為52),第1個字符為小寫字母b,第31個字符為小寫字母a,偽造輸入即可得到flag,當然也可以直接寫腳本得到flag
[GWCTF 2019]pyre
.pyc文件,是由py文件經過編譯后生成的文件
使用在線網站或者uncompyle6可將pyc文件反編譯為py文件
代碼邏輯為,將輸入順序地加上下標存儲到code,code保持最后一個字符不變,從倒數第二個字符向前,和它們后一個字符進行異或運算
寫逆腳本即可得到flag
[BJDCTF2020]JustRE
exe文件,運行后提示說要多點幾次爆出flag,猜測為修改程序內部判斷邏輯,無殼,ida分析
WinMain->sub_4010C0->sub_4011C0->DialogFunc
分析可知需要點擊19999次,程序會輸出flag
按Tab切換到IDA View窗口
選中19999所在的指令,Edit->Patch program->Assemble,將19999改成2,多余的地址寫成nop
Edit->Patch program->Apply patches to input file,再次運行exe程序,點擊2次獲得flag
總結
以上是生活随笔為你收集整理的REVERSE-PRACTICE-BUUCTF-5的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎么购买理财黄金最合适?三种黄金投资方法
- 下一篇: start()和run()的区别