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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

MoeCTF 2021Re部分------PE

發(fā)布時(shí)間:2025/3/21 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MoeCTF 2021Re部分------PE 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

文章目錄

    • ida分析
    • 算出秘鑰
      • 解密腳本
    • 總結(jié)

ida分析


這個(gè)題呢,目的是用附件異或一串秘鑰得出一個(gè)exe,然后運(yùn)行exe即可得出flag,然后秘鑰主要藏在PE文件頭中

算出秘鑰

說實(shí)話,這題有點(diǎn)腦洞,我就說一下大概思路:PE頭部和所給file附件相對(duì)位置藏有秘鑰,需要算出key


然后根據(jù)這里~(bank[i] ^ input[i % v7])計(jì)算,取反的逆運(yùn)算的就是^0xff

PE_=b'This program cannot be run in DOS mode' file_=[0xDE,0xB6,0xE4,0xE9,0xA9,0xEA,0xFF,0xF9,0xFD,0xFF,0xE9,0xFB,0xB3,0xF0,0xF2,0xF8,0xFA,0xF5,0xF2,0xB0,0xE8,0xBB,0xAD,0xE8,0xFC,0xF4,0xAD,0xFF,0xF4,0xAD,0xCC,0xD9,0xC0,0xB3,0xFE,0xF9,0xF0,0xFF] for i in range(len(PE_)):print(chr(PE_[i]^file_[i]^0xff),end='') reverierwilllikeyou!

解密腳本

key=b'reverierwilllikeyou!' data=open('./file','rb').read() origin_file=open('./origin.exe','wb')origin_data=bytes((data[i]^0xff)^key[i%len(key)] for i in range(len(data))) origin_file.write(origin_data)

moectf{P3_Structur3_1s_r3ally_fUnnY!}

總結(jié)

  • 腦洞有點(diǎn)大
  • 總結(jié)

    以上是生活随笔為你收集整理的MoeCTF 2021Re部分------PE的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。