アセンブリとレジスタと時々オートマトン

ここんとこアセンブリばっかりやってる訳ですが、プログラム全体を大きな塊として見てみると、分からないとこはないのだが、レジスタの使い方とか割り込みとか、その他もろもろについてちゃんと理解してなかったら、ほんとの意味で分かってないし、それだとアセンブリ言語をやってる意味がないんじゃないかな~と思ったわけ... 続きを読む


OS作成その4 崩壊

30日でできる予定のOS自作入門ですが、やっと4日目が終わった・・、正確には読み終わった、だけど、理解度は3日目だ。 自慢じゃないが、30日で終わらない自信がたっぷりある。 そんな訳ですが、まずは アセンブラの関数で遊んでみる 著者の川合さんが作ったアドレスを指定する関数を使ってちょっと遊んでみる。... 続きを読む


OS作成その3 機械語

アドレスを指定するという事はどういうことか いつの事だったか忘れましたが、シェルコードを実行してみようって事をやりました。 どうやったかを思い返すと、領域違反でリターンアドレスのポインタになっている変数を利用して実行したわけですが、教本の3日目にある、「ブートセクタからOS本体を実行してみる」ってい... 続きを読む


OS作成その2 ソースと逆アセンブルと比較してみる

こないだからO30日でできる自作入門という本を始めてます。 文章も面白いし、書いている内容も結構濃いし、なかなか面白い。 2日目は1日目にバイナリエディタで書いていたソースをアセンブリ言語にして進めていく感じになってます。 試しに1日目のほぼバイナリのソースを逆アセンブルしていたので、今回のアセンブ... 続きを読む


OS作成その1 HelloWorld

さて、カーネルいじりをやりだして、シェルコードを作ってみるという事までやって、いったいどこに向かっているんだという経路で進めてきて、ぼちぼち本筋だったはずのTCP/IPプログラミングに戻ろうと思ったんだが・・・ 安西先生・・・!!もうちょっとだけアセンブラがしたいです・・・ と、リトルたけけんに尋ね... 続きを読む


シェルコードに再挑戦

stackoverflowというサイトは確か前回も参考にしたし、たまーに見かけるところだったんだけど、噂によると世界規模のプログラム系のFAQサイトだったようだ。今回はそこで有益な情報を見つけてようやくリベンジに成功しました。 英語は分からないけど、コードを読めばなんとかなるのがプログラムのいいとこ... 続きを読む


シェルコードに挑戦

流れに流れて今回はシェルコードに挑戦してみようと思います。 まずシェルコードとは ソフトウェアのセキュリティホールを利用するペイロードとして使われるコード断片である。 By Wikipedia いわゆるfragmentだ。 とりあえず参考サイトのままに権限を取得するコードを試しでやってみた。 実行結... 続きを読む