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