日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

REVERSE-PRACTICE-BUUCTF-29

發布時間:2023/12/10 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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程序,直接不能運行,無殼,ida分析
簡單F8單步調試發現,在sub_401000函數最后,有個lea eax, [ebp+var_201],然后call eax,這里會報錯退出

上x32dbg,來到call eax那里,F7單步步入

可以看到對ds:[esi]進行異或運算,執行完這一段,在內存窗口看到"and so it begins"字符串

繼續向下走,可以看到又有對ds:[esi]進行異或運算

執行完,在內存窗口可以看到另一段字符串

繼續向下,再執行完兩段對ds:[esi]的異或運算后,在內存窗口看到flag

[CFI-CTF 2018]powerPacked

elf for powerpc文件,有upx殼,使用工具脫殼后,ida分析
搜索字符串,看到一段不明意義的字符串

交叉引用過去,來到main函數,有個strcmp,還有個減2的運算
由"EHK"減2得"CFI",剛好和比賽的名字一樣,于是可以確定程序的運算邏輯是將已知字符串循環減2,再和輸入進行比較

寫腳本,最后加上"}"即為flag

data=[ord(c) for c in "EHK}kanqxgarqygtre"] for i in range(len(data)):data[i]-=2 print(''.join(chr(i) for i in data)) # CFI{i_love_powerpc

[INSHack2018]Tricky-Part2

elf文件,無殼,ida分析
main函數,整體的效果是反調試

交叉引用字符串"Enter password : ",有兩個地方引用,先來到abort_trap這里
獲取輸入,進入check函數驗證輸入

check函數,直接比較輸入和已知數據

寫腳本即可得到flag

data=[73,78,83,65,123,89,48,117,95,115,104,48,117,108,100,95,107,110,48,119,95,116,104,52,116,95,49,95,99,52,110,95,116,114,49,99,107,95,121,48,117,114,95,100,51,98,117,103,103,51,114,125] print(''.join(chr(i) for i in data)) #INSA{Y0u_sh0uld_kn0w_th4t_1_c4n_tr1ck_y0ur_d3bugg3r}

另一個引用"Enter password : "的地方,是對輸入進行sha256散列,再與已知比較

哈希運算不可逆,而且對已得到的flag進行sha256散列,結果與已知不相同

import hashlib s="INSA{Y0u_sh0uld_kn0w_th4t_1_c4n_tr1ck_y0ur_d3bugg3r}" h=hashlib.sha256() h.update(s.encode(encoding='utf-8')) print(h.hexdigest()) # 6765e72305447e0c0bc65758ef29be67c8abe2a582ee5104fc2e5f7700f5fc6b

[CFI-CTF 2018]Automated Reversing

兩個py文件,一個binaries文件夾
generator.py是對明文的變換,變換結果寫到binaries文件夾的各個binary文件里,在那段明文中可以直接看到flag

solution.py是對變換結果進行逆變換,從binaries文件夾的各個binary文件里讀取運算符和參與運算的數據,最后打印明文,也可獲得flag

總結

以上是生活随笔為你收集整理的REVERSE-PRACTICE-BUUCTF-29的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。