re學習筆記(53)BUUCTF-re-[BJDCTF 2nd]guessgame | 8086

新手一枚,如有錯誤(不足)請指正,謝謝!!
個人博客:點擊進入/點擊進入

[BJDCTF 2nd]guessgame

題目鏈接:點擊進入

IDA載入,shift+F12搜索字符串,即可得到flag
在這裏插入圖片描述
得到flag爲BJD{S1mple_ReV3r5e_W1th_0D_0r_IDA}

(剛開始沒查找字符串,傻乎乎的看了主代碼沒找到flag,然後又去看了會在main函數前執行的pre_c_init和pre_cpp_init)

[BJDCTF 2nd] 8086

題目鏈接:點擊進入

Intel 8086……
IDA32位載入的時候更改一下處理器(雖然我沒感覺這個步驟有啥用……好像不改也行)
在這裏插入圖片描述
1KB的程序,main函數是加載sub_10030函數,sub_10030函數是個死循環,,直接看彙編
在這裏插入圖片描述
最上面有個字符串,應該就是程序把它處理後得到flag了
但是要找一下加密代碼在哪,唯一可疑的地方就是jmp下面的代碼了

選中,摁C解釋成代碼,選擇Force強制轉換
在這裏插入圖片描述
得到代碼
在這裏插入圖片描述
這個代碼比較簡單可以直接看彙編。大體就是將0x22個字符挨個與0x1F異或得到flag
(或者將jmp指令nop掉之後,將紅色代碼摁p聲明成函數,然後F5僞代碼)
直接寫python腳本

enstr="]U[du~|t@{z@wj.}.~q@gjz{z@wzqW~/b;"
for i in enstr:
	print(chr(ord(i)^0x1f),end="")

在這裏插入圖片描述
得到flag爲BJD{jack_de_hu1b1an_xuede_henHa0}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章