2011-08-18から1日間の記事一覧
前回の続きを作ってみた。各パーツの大きさのバランスが難しい
文字列の任意の文字の文字コードの取得方法をsyonbori_techに教えて頂いたので、VMクラスのgetCodeを以下の変更しておく def getCode() return @memory[@registers[EIP]].bytes().to_a()[0] end
とりあえずRubyでx86エミュレータを作ってみる。まず、以下のファイルを作る。 ./emulator.rb ./vm/VM.rb ./vm/register/RegisterIndex.rbまずRegisterIndex.rbから module RegisterIndex EAX = 0 ECX = 1 EDX = 2 EBX = 3 ESP = 4 EBP = 5 ESI = 6 EDI = 7 …
ある文字列の1文字目の文字コードを取得したい場合、1.8の場合は "Hello World!"[0] で良かった気がするけど、1.9でこれやると1文字の文字列が返ってくるようだ。それでsliceなんかも試してみたけど1文字だけのときでも文字列が返ってくるようになったらし…
getCodeをまた修正した def getCode() return @memory[@registers[EIP]].unpack("C")[0] end