ソースコードを読む

  • 環境・ツール
    • rg (ripgrep): https://github.com/BurntSushi/ripgrep
  • 方法
    • $ rg する
    • エディタで開く
    • わからないことは辿って読む
    • まとめる
    • これを繰り返して、理解する
  • たとえばELFローダが読みたい
  • どこから読む?
    • $ rg -i ‘ELF loader’ とかしてみる、いい感じのが引っかからないときはentrypointなど関連する語句で検索してみる
    • ローダはプログラムを実行するから、たぶんexecveシステムコールあたりが関係ある
  • 出てきた結果をとりあえず読んでみる
  • 結果が多い場合
    • フォルダを一段降りてみる
    • $ rg -C 5 ‘hogehoge’ のようにして前後を見ながら文脈で検討をつける
    • ディレクトリ名で検討をつける
  • デバッグとか取り入れるといいのかな

Backlinks