2012-01-01から1年間の記事一覧
part1では単純なELFファイルを作る際に埋め込む為の、極めて小さいアセンブラのコードを作りました。 なので、次はそのコードを入れる為の、ELFに則ったバイナリを作成する。 目標 ELFに則ったバイナリを作成し、その中にpart1で作成したコードを入れ、動作…
池袋バイナリ勉強会(7)に行ってきました。前回にも触れたように、先にJITで動作させていたバイナリ値をELFの中に組み込めればbfコンパイラが出来上がる。 というわけで、次のステップとしてELFファイルの作成へ。 目標 64bit用ELFの挙動を知るため、必要最小…
池袋バイナリ勉強会(5)にて、前回に引き続きpythonでJITをいじってきました。 今回の目標は外部からbrainf*ck(以下bf)のコードを読ませ、それを実行するネイティブコードの生成とその実行を行う事としました。これが出来たなら、そのネイティブコードにELF…
pythonでJIT part1は非常に単純な例だったので、もう少し複雑にしてみることに。 目標 アルファベットのA~Zをループで取得し、それぞれをputchar関数を使って出力。終わったら改行文字の出力をするネイティブコードをJITで実行する。 アセンブラでのコード …
池袋バイナリ勉強会(4)にて、pythonでJITを行うコードを書いてみました。 基本的にこちらを参考として、64bit版Linux環境下にて。とりあえずはほぼ写経で、ちょこちょこっと環境に応じて変えてみて動作することを確認する。 part1.py from ctypes import * l…
openSUSE12.2がリリースされたので、手元にある12.1のマシンをアップデートしてみた。 更新終わってから再起動したら、どうもうまくログイン出来なくなってしまったので、その時の状況と解消までのメモ。 状況 KDMのログインマネージャから、パスワードを入…