最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網 會員登陸 & 注冊

XCTF攻防世界--(新手賽區(qū))第4題快來圍觀學習!

2022-05-26 14:55 作者:rkvir逆向工程學院  | 我要投稿

1.先查看題目,依照作者的話說是需要逆向算法了,先下載下來吧

2.下載下來先查殼

下載下來是個64位沒加殼的二進制文件

3.老規(guī)矩,先丟進kali運行一下看看程序流程

運行了一下發(fā)現(xiàn)程序流程就是讓用戶輸入猜測的,一句猜測的結果進行輸出提示

4.既然這樣我們就直接把文件丟進ida中分析,先shift+F12查看引用字符

好家伙,發(fā)現(xiàn)關鍵提示字符,依照字面意思就是說用戶輸入的flag是正確的,那我們直接跟進去

5.跟進來看到welcom關鍵字符資源,這不就是二進制剛運行的時候顯示的用戶提示嗎?那我們直接查看進入引用函數(shù)

6.進入函數(shù)F5查看偽代碼,查看程序邏輯

①把一串字符賦值給v8

②把一串十六進制數(shù)賦值給v7,7賦值給v6

③將用戶輸入字符賦值給s,并將其長度賦值給v3

④首先對比輸入字符的長度是否小于v8的長度,如果小于執(zhí)行,sub_4007C0()函數(shù),跟進這個函數(shù)發(fā)現(xiàn)是提示輸入錯誤的

⑤for循環(huán)就是關鍵,循環(huán)中第一個if便是判斷用戶輸入的字符長度是否大于v8的長度如果大于,

那么就執(zhí)行sub_4007C0(),跟進發(fā)現(xiàn)就是提示flag錯誤的信息,第二個if便是對比用戶 輸入的

每個字符是否等于 (char)(((BYTE )&v7 + i % v6) ^ v8[i]),如果不等于執(zhí)行sub_4007C0(),跟

進發(fā)現(xiàn)也是提示flag錯誤,發(fā)現(xiàn)還有最后??一行代碼函數(shù)有跟進去看過,跟進去看就是提示 flag

正確,那怎么才能執(zhí)行他呢?肯定是循環(huán)成功執(zhí)行完以后那我們就可想而知,只要我們輸入的每

一個字符s[i] != (char)(((BYTE )&v7 + i % v6) ^ v8[i])則就可以 執(zhí)行完循環(huán),也就是說我們輸入的

flag是正確的,能得到提示信息。

⑥if ( s[i] != (char)(((_BYTE?)&v7 + i % v6) ^ v8[i]) )是比較加密后的flag,那我們逆運算加密后的flag便可以得到真正的flag了,因為源碼中的flag加密是采用異或,然而異或的逆運算任然是異或

逆運算代碼如下:

7.結果:


XCTF攻防世界--(新手賽區(qū))第4題快來圍觀學習!的評論 (共 條)

分享到微博請遵守國家法律
仁寿县| 泸溪县| 平远县| 景谷| 项城市| 云梦县| 惠安县| 汕头市| 聂荣县| 大新县| 奉化市| 外汇| 永春县| 恩平市| 五指山市| 洛隆县| 武功县| 丽江市| 隆安县| 奈曼旗| 蒲城县| 浦城县| 镇原县| 舒城县| 青龙| 墨玉县| 福州市| 山东省| 三江| 博乐市| 苍南县| 洞口县| 新源县| 格尔木市| 高邑县| 龙南县| 鄂州市| 文昌市| 泽州县| 南投市| 慈利县|