REVERSE-PRACTICE-BUUCTF-29
REVERSE-PRACTICE-BUUCTF-29
- [FlareOn1]Shellolololol
- [CFI-CTF 2018]powerPacked
- [INSHack2018]Tricky-Part2
- [CFI-CTF 2018]Automated Reversing
[FlareOn1]Shellolololol
exe程序,直接不能運(yùn)行,無(wú)殼,ida分析
簡(jiǎn)單F8單步調(diào)試發(fā)現(xiàn),在sub_401000函數(shù)最后,有個(gè)lea eax, [ebp+var_201],然后call eax,這里會(huì)報(bào)錯(cuò)退出
上x(chóng)32dbg,來(lái)到call eax那里,F7單步步入
可以看到對(duì)ds:[esi]進(jìn)行異或運(yùn)算,執(zhí)行完這一段,在內(nèi)存窗口看到"and so it begins"字符串
繼續(xù)向下走,可以看到又有對(duì)ds:[esi]進(jìn)行異或運(yùn)算
執(zhí)行完,在內(nèi)存窗口可以看到另一段字符串
繼續(xù)向下,再執(zhí)行完兩段對(duì)ds:[esi]的異或運(yùn)算后,在內(nèi)存窗口看到flag
[CFI-CTF 2018]powerPacked
elf for powerpc文件,有upx殼,使用工具脫殼后,ida分析
搜索字符串,看到一段不明意義的字符串
交叉引用過(guò)去,來(lái)到main函數(shù),有個(gè)strcmp,還有個(gè)減2的運(yùn)算
由"EHK"減2得"CFI",剛好和比賽的名字一樣,于是可以確定程序的運(yùn)算邏輯是將已知字符串循環(huán)減2,再和輸入進(jìn)行比較
寫(xiě)腳本,最后加上"}"即為flag
[INSHack2018]Tricky-Part2
elf文件,無(wú)殼,ida分析
main函數(shù),整體的效果是反調(diào)試
交叉引用字符串"Enter password : ",有兩個(gè)地方引用,先來(lái)到abort_trap這里
獲取輸入,進(jìn)入check函數(shù)驗(yàn)證輸入
check函數(shù),直接比較輸入和已知數(shù)據(jù)
寫(xiě)腳本即可得到flag
另一個(gè)引用"Enter password : "的地方,是對(duì)輸入進(jìn)行sha256散列,再與已知比較
哈希運(yùn)算不可逆,而且對(duì)已得到的flag進(jìn)行sha256散列,結(jié)果與已知不相同
[CFI-CTF 2018]Automated Reversing
兩個(gè)py文件,一個(gè)binaries文件夾
generator.py是對(duì)明文的變換,變換結(jié)果寫(xiě)到binaries文件夾的各個(gè)binary文件里,在那段明文中可以直接看到flag
solution.py是對(duì)變換結(jié)果進(jìn)行逆變換,從binaries文件夾的各個(gè)binary文件里讀取運(yùn)算符和參與運(yùn)算的數(shù)據(jù),最后打印明文,也可獲得flag
總結(jié)
以上是生活随笔為你收集整理的REVERSE-PRACTICE-BUUCTF-29的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 我国制造业增加值26.9万亿,全球第一!
- 下一篇: w8计算机配置要求,win8配置要求 详