--- tags: CTF_Writeups, picoCTF, General Skills --- # strings it * 解題 題目提供了一個檔案, 連結名 | 下載的檔案 ---|--- file | strings 下載下來後是一個 `strings` 檔案, 題目表示是否可以不執行它來得到 flag ? 那我們第一件事就是先執行它 (? ```shell $ chmod +x strings $ ./strings ``` 得到輸出: ```shell Maybe try the 'strings' function? Take a look at the man page ``` 得知可以使用 strings 功能來達成目標,它請我們查看手冊 [man](https://en.wikipedia.org/wiki/Man_page) : ```shell $ man strings ``` > 僅擷取主要說明的部份 ``` NAME strings - print the sequences of printable characters in files ``` **strings** 這個命令可以查看所有可視字元, 因為不是所有字元都是可以看得見的, 如 ASCII code 的 0~31 號就是不可見的,都有特殊功能。 **strings** 尤其對查看執行檔內部資訊相當有用, 因為裡面大部分都是不可視的,畢竟不是文字檔案。 簡單使用方式是: `strings file` 可以印出 file 的所有可視字元並以換行隔開每一個。 將檔案 `strings` 用 strings 命令來查看: ```shell $ strings strings ``` 會印出非常多無意義字串,我們用 **grep** 篩選: > [grep](https://zh.wikipedia.org/wiki/Grep) 這個工具可以在一個或多個檔案中尋找特定形式的字串, > 這裡列出幾個常用用法: > * `grep "xxx" file1` 表示在 file1 檔案中尋找 xxx 字串 > * `grep "xxx" file1 file2` 表示在 file1 與 file2 檔案中尋找 xxx 字串 > * `grep "xxx" ./*` 表示在目前目錄下所有檔案中尋找 xxx 字串 > * `grep -r "xxx" ./*` 表示在目前目錄以及所有子目錄下所有檔案中尋找 xxx 字串 ```shell $ strings strings | grep "pico" picoCTF{5tRIng5_1T_827aee91} ```
×
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