Explore "Full-Stack" in depth!

情報系の専門学校で、今は機械学習に的を絞って学習中。プログラミングを趣味でやりつつ、IT系のあらゆる知識と技術を身に付けるべく奮闘中。

Linux

readelf -S を簡易実装してセクションヘッダを理解する

目次 目次 概要 前提:セクションヘッダとは? 本題1:実装 本題2:セクション名のテーブルについて 総評 概要 drumato.hatenablog.com こちらの記事の続きです。 一応今回でreadelfは最終回になると思います。 今回はセクションヘッダを解析するコードを書きまし…

readelf -lを簡易実装してELFフォーマットの理解を深める。

目次 目次 概要 前提:プログラムヘッダテーブルとは? 本題 コードリーディングで情報集め 実装 総評 概要 こちらの記事の続きです drumato.hatenablog.com ELFヘッダのあとは、 プログラムヘッダの解析 に移るのが自然な流れだと思います。 今回も ソースコー…

バイナリ何もわからない人に送る"ソースコード視点"のELFヘッダ解説

目次 目次 概要 まずはおさらい 本題:readelf 総評 概要 ELFフォーマットを理解するための試み第二弾。 こちらの記事の続きと言ってもいいです。 drumato.hatenablog.com 上記の記事には間違いが多いので注意してください。 本記事バイナリ何もわからない人に送…

readelf -hの簡易版・省略版を作成するミニ記事

目次 目次 概要 本題:ELFヘッダを見る 本題2:GoでELFヘッダを解析する 総評 概要 コンパイラ自作をとても楽しくやっている私ですが、 どうせコンパイラを作るならバイナリ生成までやらせたいものです。 もっと具体的に言うと、 アセンブリから機械語を生成する…

UNIX/V6における実行プロセス切り替えのsleep()→swtch()を最低限理解する

目次 目次 概要 前提 UNIX V6とは PSW(Processor Status Word) 汎用レジスタ プロセスとは 並列処理 user構造体 proc[]とproc構造体 仮想アドレス空間 本題 並列処理におけるプロセスのフロー sleep() sleep()まとめ swtch() 実行プロセスの選択アルゴリズム…

DirtyCOW(CVE-2016-5195)を最低限理解する。

目次 目次 概要 前提知識 本題 Linuxとプロセスの関係 PoCを見てみる レースコンディションの仕組み まとめ 概要 LinuxKernelに存在した脆弱性のDirtyCOW 今は完全にパッチが当てられていますが、その仕組みはとても奥深く、 理解にはLinuxKernelの挙動の理解…

Golangによる擬似シェル「IGOsh」を自身に課したい。@ミニ記事

目次 目次 概要 注意:読んでください 本題 個人的な制約 総評 概要 Golangによってプログラミングの楽しさがとどまる事を知らない私です。 しかし JSON受け取って綺麗に出力 CSVを管理するツール 画像全取得するスクリプト 等々、 細々としたツールしか作って…

実録!WSLを立ち上げてからHello、Worldを出力するまでを自力で解剖する。

目次 目次 概要 前提知識 本題 /init ro Hello,Worldを見つめる プリプロセス コンパイル 参考:もうちょっとだけ深く読む アセンブル リンキング 総評 概要 ※なんの知見もない私が、頑張って内部の動きを理解するという内容の記事です。 普段何気なく書いてい…

2018年を振り返る+2019年の目標を立てる

目次 目次 概要 今年のプログラミング総まとめ Ruby BookManage WeatherReport Drumapi HubAPI Python スクレイピングで画像一括取得 C言語 総評 来年の課題 機械学習・データ分析総まとめ 始まりはマイナビコンペ サラマンダー本で基礎固め そしてKaggle 総…

Windowsにおける最低限CUI環境「Cmder」

目次 目次 概要 CmderでWSL+PowerShellを同時起動 ターミナル ダウンロード&初期設定 Tips タブ作成 ラムダ変更 余談 概要 Windowsユーザにとって常に付きまとう問題が、 CUI環境の整備です。 MSYS2やPowerShell等、 様々なシェルやターミナルエミュレータが存…

ふつうのLinuxプログラミング 6章の演習問題!

目次 目次 概要 演習問題 余談 さらに余談 概要 ふつうのLinuxプログラミング 第2版 Linuxの仕組みから学べるgccプログラミングの王道作者: 青木峰郎出版社/メーカー: SBクリエイティブ発売日: 2017/09/22メディア: Kindle版この商品を含むブログを見る は最…

ふつうのLinuxプログラミング 5章の演習問題!

目次 目次 概要 演習問題 総評 概要 ふつうのLinuxプログラミング 第2版 Linuxの仕組みから学べるgccプログラミングの王道作者: 青木峰郎出版社/メーカー: SBクリエイティブ発売日: 2017/09/22メディア: Kindle版この商品を含むブログを見る は最高の本です。…