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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

REVERSE-PRACTICE-CTFSHOW-4

發布時間:2023/12/10 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 REVERSE-PRACTICE-CTFSHOW-4 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

REVERSE-PRACTICE-CTFSHOW-4

    • encode
    • Easy
    • BJD hamburger competition
    • JustRE

encode

elf文件,upx脫殼,ida分析
交叉引用字符串"Please input your flag:",來到sub_804887C函數
輸入經過三次變換,先是變表base64,然后是與"Flag{This_a_Flag}"循環異或,最后以"Flag{This_a_Flag}"為密鑰進行RC4加密,與已知的明文字符串比較驗證

這題思路挺清晰的,不過逆的過程感覺有bug,我自己解RC4得到的明文不正確
看網上其他師傅的wp:2020 BJDCTF Re encode
直接把RC4解密出來的明文拿來用了,然后是異或

xor_str="Flag{This_a_Flag}" decry_str="23152553081a5938126a3931275b0b1313085c330b356101511f105c" decry_num=[] for i in range(0,len(decry_str),2):decry_num.append(int("0x"+decry_str[i:i+2],16)) base64_str="" for i in range(len(decry_num)):base64_str+=chr(decry_num[i]^ord(xor_str[i%len(xor_str)])) print(base64_str) #eyD4sN1Qa5Xna7jtnN0RlN5i8lO=

最后用工具解變表base64,即可得到flag
感覺還是有bug,得到的flag長度為20,第18行判斷輸入長度為21
運行elf后,輸入flag,并沒有打印"right!",挺玄學的

Easy

做過原題
REVERSE-PRACTICE-BUUCTF-8

BJD hamburger competition

做過原題
REVERSE-PRACTICE-BUUCTF-10

JustRE

做過原題
REVERSE-PRACTICE-BUUCTF-5

總結

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

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