elf形式の解析をrustでやってみてる

5年くらい前からxv6のコードを読みたいなーと、何度かチャレンジして失敗している。新人教育してくれた先輩がカーネル屋さんだったり組み込みの方が多かったので、なんとなく低レイヤーに憧れがあるのだと思う。

チャレンジ失敗している理由としては、普段業務でやってないブートローダー・メモリ配置・アセンブラあたりで躓くことが多いので、今回はまずリンカ・ローダの本を読み進めている。

www.amazon.co.jp

限られた環境のみだが、elf形式の解析(readelfの再実装)がなんとなく動く状態になってきた。今回は勉強兼ねてrustに挑戦してみている。

github.com

つまづいたところ

手を動かしたので、ELFの構造と中に何が入っているのかはなんとなく理解できるようになった。 あと、rustのセットアップ、以前はvscodeの設定を色々弄る必要があった覚えがあったが、すんなり終わったので敷居だいぶ下がったなぁと思った。

今週末4連休なので、簡易ローダづくりを終わらせたい  

参考にしたページ

https://msyksphinz.hatenablog.com/entry/2020/08/08/040000
https://tomo-wait-for-it-yuki.hatenablog.com/entry/2019/01/05/161331
https://uclibc.org/docs/elf-64-gen.pdf