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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

南邮ctf 480小时精通C++

發布時間:2024/3/24 c/c++ 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 南邮ctf 480小时精通C++ 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

南郵ctf 480小時精通C++

菜雞第一次寫博客,望大佬多指教~~
首先拖進ida里查看,代碼很簡單,給出一堆字符串然后加密,輸出加密后的flag,當然。。。一道70PT的題目怎么會這么輕松就讓你做出來,很明顯一開始的字符串不是flag。。。

當然了,可以放到Linux里跑一下,會出來真正的加密flag。

然而并沒有什么X用,本來試圖用加密后的flag逆運算得flag,但因為菜雞不會c++很多東西看不懂。。。放棄了,但也有大佬(王師傅)寫了出來,后來才發現本題的考點并不在這,還有更簡單的方法。
下面講解一下菜雞的寫題思路啦~
首先看匯編發現被nop了一段,經王師傅指點才知道這好像是什么smc代碼自修改
也就是為什么按照反編譯后的flag是錯的了

接下去查看一下上面的加密函數,有倆參數rdi(a1)和rsi(a2)分別放的是flag和flag長度,而且我們可以看到加密的方法全是通過異或

這也就說明了,加密的那段函數,就是解密的那段函數,只需要吧加密后的數據放進那段函數里再跑一下,就能得到最初的flag。
那就開始調試吧~

下好斷點,f9走起,點進eax可以看到加密后的flag,按下a鍵出來字符串

記錄下加密flag在棧內的地址
接著吧rdi和rsi改成rax和36,rip改成加密函數開始的地址
再下個斷點,在加密(解密)函數結束那。
f9 跑一下,進入當初記錄的棧處,flag得。


下一篇預告
homuraVM
如有錯處,望大佬指出鴨~

總結

以上是生活随笔為你收集整理的南邮ctf 480小时精通C++的全部內容,希望文章能夠幫你解決所遇到的問題。

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