Nullable

旧レガシーガジェット研究所

2022-01-02から1日間の記事一覧

Linux Kernelへのパッチ作成及び送信手順

概要 Linuxカーネルへのパッチ作成及び送信手順をまとめた。

CPUをつくる ~ FPGA編 ~

概要 FPGA上で動作するMIPSプロセッサを作ったので学習の流れや大まかな作り方をまとめる。 https://github.com/0n1shi/mips-fpga 成果物 FPGAでつくったMIPS上でフィボナッチ数の計算が動いた!以前Goで書いたMIPSのエミュレータとも結果が一致している・・…

CPUエミュレータを書く

概要 https://github.com/0n1shi/mipsemu CPUエミュレータを書いたのでまとめる。 今回書いたのはMIPS1のCPUエミュレータ。命令は全て実装したわけではなくC言語のコードいくつか書きクロスコンパイルしたバイナリを実際に動作させ、ある程度のコードが問題…

ディスアセンブラを書く

概要 以下のような出力を行う簡単なディスアセンブラを書いたので作り方をまとめる。

Erlang 入門

概要 1986年にスウェーデンの通信機器メーカーであるEricsson社が電話通信アプリケーションを開発する目的でErlangを開発し1998年にOSSとして公開した。 Erlangは巨大なサーバソフトウェア(メッセージキューイングやWebサーバ、分散データベースなど)などの…

Unix xv6 ~ 起動 ~

概要 xv6のコードリーティングを通してUnixの動作を追う。今回はCPUの起動からカーネルの起動直前までを見ていく。 xv6 xv6は、ANSI Cによる、6th Edition Unixのマルチプロセッサx86システムへの再実装である。 xv6はMITにおけるオペレーティングシステムエ…

Unix xv6 ~ イメージ ~

概要 xv6のコードリーティングを通してUnixの動作を追う。今回は起動イメージを見ていく。 リポジトリは以下。 https://github.com/mit-pdos/xv6-public xv6 xv6は、ANSI Cによる、Sixth Edition Unixのマルチプロセッサx86システムへの再実装である。 xv6は…

CVE-2019-5736に関して

概要 当該脆弱性を悪用して細工したコンテナをユーザが実行した場合、ホスト上のruncバイナリが上書きされ、コンテナが起動しているホスト上でroot権限でコマンドが実行される恐れがある。 ここからは以下のドキュメントを雑に訳したものとなる(間違いがあ…

キャラクタデバイスドライバを書く

概要 ラズパイのGPIOを対象としたデバイスドライバを作成した。

Raspberry Pi 3でGPIOライブラリを書く

概要 Raspberry PiのGPIOを対象としたライブラリを作成する。既存のライブラリなどは数多く存在するが実際に自分で作成することでその内部を理解できると思う。 環境 Paspberry Pi 3 Model B $ sudo cat /etc/os-release PRETTY_NAME="Raspbian GNU/Linux 9 …

Write-ups for microcorruption.com

概要 以下の常設CTFのWirte Upとなる。 https://microcorruption.com

インライン・アセンブリに関して

概要 Linux Kernelのソースを読むのに必要だったため簡単にまとめた。参考資料にはサンプルなどが豊富に用意されている。

Foreshadow/L1TF(Level 1 Terminal Failure)について

当エントリーは以下にあるリンクの翻訳となる。 https://git.kernel.org/pub/scm/linux/kernel/git/stable/stable-queue.git/tree/queue-4.18/documentation-add-section-about-cpu-vulnerabilities.patch https://www.kernel.org/doc/html/latest/admin-gui…