两道CTF Reverse题目(windows平台)
兩道CTF?Reverse題目(windows平臺)
需要用到的工具:PEiD(查殼),IDA,OllyDbg
第一道題(ISCC2018線下賽河南賽區的一道題)
?
0x01
先運行一下 發現GetFlag按鈕是灰色的?輸入無反應
直接用灰色按鈕克星激活(spy++也行) ??點擊后出現假的flag(當時還傻傻提交好多次。。。)
0x02
PEiD查殼?發現無殼?VC編譯的程序
0x03
既然沒有加殼 直接IDA載入分析 ??shift+F12看看有沒有可疑字符串
雙擊Flag進入??
雙擊向上的箭頭(是一個引用)
接著F5大法
分析之后 發現就是一個異或
Py大法好:
最后得到flag:{VEg46R4m04f7607c61e732732a0d4f737f34d674f}
?
?
第二道題
?
0x01
運行之后就提示讓輸入flag ??如果輸入不正確 就退出
0x02
PEiD查殼發現沒有加殼?VC的程序
0x03
IDA載入分析 ?關鍵字符串?
雙擊進入
雙擊進入??F5大法 ?找到關鍵代碼
既然關鍵在于sub_401480這個函數??那就雙擊進入一探究竟
現在就明白了?我們的input經過sub_401070這個函數運算之后是否等于v3 ?也就是nAdtxA66nbbdxA71tUAE2AOlnnbtrAp1nQzGtAQGtrjC7===
如果相等 sub_40148函數返回值=1?就輸出yes
則input就是我們要得到的flag
一定要注意這個字母n???IDA分析后默認是沒有和其他在一塊的(這是一個大坑 還好我提前OD動態調試了一波)
轉換之后
發現5個bit為一組,分別賦給8個值,每個值5位
就是base32呀
接著分析sub_401000()
一共有三步操作:
1.?將ABCDEFGHIJKLMNOPQRSTUVWXYZ偶數位變為小寫字母 ??也就是AbCdEfGhIjKlMnOpQrStUvWxYz
2. 再將字符串進行逆序
3. 后面加上765321
那么base32編碼表從默認的ABCDEFGHIJKLMNOPQRSTUVWXYZ234567就變為了zYxWvUtSrQpOnMlKjIhGfEdCbA765321
所以我們需要用Python translate() 方法與maketrans()方法來將nAdtxA66nbbdxA71tUAE2AOlnnbtrAp1nQzGtAQGtrjC7===還原
在解一次base322即可
至此,關鍵代碼分析完畢。
Py大法實現:
得到flag{f1ag_1s_enc0de_bA3e32!}
對了,也有一個假flag
ZmxhZ3tmbGFnX2lzX25vdF9tZSF9
用base64解密一下(算是個彩蛋吧)
兩道題目+idb分析文件+py腳本已全部打包
百度網盤下載鏈接: https://pan.baidu.com/s/1V-inJEXtPwopyKHtTqP02A?密碼: qiu3
看不過癮?合天2017年度干貨精華請點擊《【精華】2017年度合天網安干貨集錦》
別忘了投稿哦!
合天公眾號開啟原創投稿啦!!!
大家有好的技術原創文章。
歡迎投稿至郵箱:edu@heetian.com
合天會根據文章的時效、新穎、文筆、實用等多方面評判給予100元-500元不等的稿費喲。
有才能的你快來投稿吧!
點擊了解投稿詳情?重金懸賞 | 合天原創投稿等你來!
總結
以上是生活随笔為你收集整理的两道CTF Reverse题目(windows平台)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 安装loadrunner,缺少VC200
- 下一篇: jQuery图片弹出Lightbox插件