---
# System prepended metadata

title: First Grep
tags: [' General Skills', ' picoCTF', CTF_Writeups]

---

---
tags: CTF_Writeups, picoCTF, General Skills
---

# First Grep
* 解題  
  這題從題目就可以看出需要使用 `grep` 工具，
  可以參考[這篇](https://hackmd.io/s5pWg4FxQRyYwUSiPkTHdg)學習基礎使用法。
  
  用 wget 將題目的 `file` 下載下來，
  嘗試 cat 它，會發現內容太多顯示不完，
  這種時候可以使用 less 命令來查看：
    ```shell
    $ less file
    ```
  會顯示開頭一部分的內容：
    ```
    yQE:Z:y?9U@Z    Pl6lA%KO0TGr@9#mc`O;zWQePqFFyrZ+dzqMx`I*33T_gNm7[P|_)y8P9
    (以下略過)
    ```
  完全是亂碼，看完後可以按 `q` 退出 less 。
  
  這時候 grep 就派上用場：
    ```shell
    $ grep "picoCTF" file
    ```
  flag 就到手囉：
    ```shell
    picoCTF{grep_is_good_to_find_things_dba08a45}
    ```
  
  > `grep` 也可以搭配 pipe 管線使用，例如先 cat 再 grep ：
    ```shell
    $ cat file | grep "picoCTF"
    ```
  > 將 cat 輸出到 **stdout** 的內容轉為傳輸到 grep 的 **stdin** 
  > ( 因此 grep 就不需要寫目標檔案，此時的目標檔案就是 **stdin** )
  > 事實上這也是更為常用的用法。