NS_107 CTF Strings === ###### tags: `ns107` `HW4` `CTF` `WINKYFAC3` 題目內容 --- 找出藏在執行檔裡的秘密吧! :floppy_disk: [strings](https://eens.ee.ncku.edu.tw/files/dfb292923ab7c26c2a7a9deedb8d7017/strings) 解題思路 --- 題目中已經直接提示此檔案為執行檔,因此我們將檔案下載到Linux環境下執行進行測試:  程式正確執行,但在終端機上只顯示了`I don't know the flag!`的訊息。因此接著我們介紹幾種常見對未知檔案進行測試的方式,來嘗試得到檔案裡的flag。這些方法不僅可以用於本題,在其它的CTF題目上也經常會使用這些方式進行最初步的測試。 #### 1. 使用linux指令`strings`測試 `strings`是linux上的一個很好用的指令,可以自動偵測檔案中可被打印的字串。詳細的介紹與指令用法可以看[這個網站](https://linux.die.net/man/1/strings)的介紹。 移動到檔案所在的目錄後,輸入以下指令對此檔案進行測試。此題的flag恰好可以直接透過這個方式來找到。 ``` strings strings ```  #### 2. 將檔案強迫解壓縮 有些檔案雖然不是我們所常見的壓縮檔格式,但卻可以透過解壓縮的方式將檔案分解。一個最好的例子就是word文件檔(.doc, .docx),它可以透過解壓縮分解成好幾個xml檔,如下圖所示;再重新壓縮後又可變回原本的word文件檔。  此題的執行檔也可以透過解壓縮分解。首先將檔案的內容解壓縮至資料夾中:  資料夾中包含了許多檔案,將檔案逐一透過notepad開啟,在`.data`這個檔案中可找到此題的flag:  #### 3. 以文件編輯器嘗試開啟檔案 ~~不需要多做解釋的~~老方法。雖然非文件檔打開時只會呈現亂碼,但有時候會包括了有趣的資訊。事實上,我們這組就是透過這個方式來得到這題的flag。 將strings以Windows內建的記事本後,得到一大堆亂碼:  接著用筆記本的搜尋功能找尋含有`EENS`的字串,便可以直接找到此題的flag。  #### 4. 以HxD Hex Editor嘗試開啟檔案 HxD Hex Editor是一個免費的十六進位編輯器。它可以讓使用者以十六進位的方式任意檢視並編輯檔案,比起直接使用記事本之類的工具開啟,它提供了更高的可讀性和可編輯性;除此之外,這套軟體也可以直接去檢視編輯記憶體和硬碟的內容。詳細介紹可以看[Wiki](https://en.wikipedia.org/wiki/HxD)的說明;這裡我們只會單純使用到HxD檢視檔案的功能。 首先上網下載HxD Hex Editor(這裡推薦[阿榮福利味](https://www.azofreeware.com/2014/04/hxd-1770-hex.html)所提供的免安裝中文版本),用其打開這個strings這個檔案,如下圖所示:  接著用搜尋功能找尋含有`EENS`的字串,便可直接找到此題的flag。  在這題當中看起來使用HxD Hex Editor的效果和使用筆記本差不多,但在某些特定的CTF題目當中,hex editor絕對是不可或缺的工具 :laughing:
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up