FC2ブログ

制作日記

こういうの作った方が、逃げにくいじゃない

トップ

トップ
※申し訳ないですが、メールでの返信は出来ません。

DEP回避して任意コード実行
_reimu_ver191.ico

DTCリターンアドレス改竄テストキャラ(ver0.7xとは別物です)
_reimu_ver181.ico

MUGEN用プロセスメモリリーダ、memRead 最終更新 2013/11/17
memRead.ico
CUIアプリです、普通にアイコンをダブルクリックでも起動できます

リンクを右クリックして、「対象をファイルに保存」からダウンロード
ファイルの拡張子をrarに変えてから解凍してください

MUGENステコン入力支援マクロ
入力補完、短縮表記機能有り版(取説)
stateControl_2.js
入力補完、短縮表記機能なし版
stateControl_1.js
使い方とかはjsの先頭に書いてあるので、メモ帳で開くなりして読んでください

バグ報告等々コメントして頂けると助かります
公開物とそれらに関する情報の利用は、内容に依らず自由にして頂いて問題ないです

過去verは続きへ追いやられました

続きを読む

劇場版響けユーフォニアム

見てきたけど、これTVシリーズ3期とか続編は確定してないんだよね?
完全に原作小説の販促映画やん

fvar:=

-- 追記 --
mugen本体弄って治す方法書いてるけど、cnsの計算式の方を括弧で括って対策するのが正しいと思うぞ。
-- 追記終わり --

https://sinomugen.blog.fc2.com/blog-entry-246.html
MUGENの構文解析が間違ってるね

00405A85 83FB14 cmp ebx, 14h
00405A88 0F84B8000000 je 00405B46h # var:= はここで405B46hにjmp, 恐らくfvar:=も同じ所へjmpをするべき
# 中略
00405AEA B807000000 mov eax, 00000007h
00405AEF EB3A jmp 00405B2Bh # fvar:= はここで405B2Bhにjmpしてしまっている


以下、解析内容
あと分かりやすくするために、fvar(x):= y は x fvar:= yと表記する。

1 fvar:= 2 fvar:= 10
でfvar(1)が2になる原因は2つ思い付く

構文解析ミスで結合が右から左ではなく左から右になっている
or
fvar:=の評価結果間違いで代入した値を持つはずが代入先のfvarの番号になっている

displaytoclipboardのparamsに1 fvar:= 10を指定して値を確認すると10になっている。
よって、原因は後者ではなく、前者の構文解析ミスと思われる。

MUGENは内部で計算式を後置表記で持っているので
1 fvar:= 2 fvar:= 10 は、1, 2, 10, fvar:=, fvar:= となる必要がある
ここを間違っていて、 1, 2, fvar:=, 10, fvar:= になっているのだと思われる

結合規則は構文上存在しない概念で、あくまでも構文規則から導かれるものでしかない
例えば、fvar:= の左辺にfvar:=を持つ式は入らない、右辺には入るという規則になっているはずで
1 fvar:= 2 fvar:= 10 を見た時
2つ目のfvar:= の左辺にfvar:=を持つ式が入るのはNGだから
(1 fvar:= 2) fvar:= 10 という解釈はNG
1つ目のfvar:= の右辺にfvar:=を持つ式が入るのはOKだから
1 fvar:= (2 fvar:= 10) という解釈になる

実際はそんなに難しくないし実装も楽なんだけど
ようはここの構文解析の実装がミスってる
どうミスってるかは自分で簡単な電卓とか実装すれば想像できるよ

var:= 同等にすれば良さそうなので、上記したswitch分のjmpテーブルを書き換える
winmugen.exeのoffset 6888hの2byteをEA5Aから465Bに書き換える

MUGEN内での計算式処理サブルーチン

ここらへんかなーって思いながら、確認するの忘れてた
アセンブラ読んだ感じだと00407780
引数は4つで、整数用/少数用の計算結果格納アドレスで2つ、残りは知らん
どうせ、キャラクターのアドレスと、計算式の指定でしょ

で、戻りのEAXが計算結果の種類を表していて、1なら整数、2なら少数、0なら計算失敗かな

やってること自体は、各トークンがトリガー、リダイレクト、数値、演算子か確認して
それに応じた処理しているだけ

昔、そこらへんのデータ構造は記事を書いたな
http://drabs.blog40.fc2.com/blog-entry-1517.html

探査とかでtriggerが真かどうかとか、changestateのvalueなんかもこれで事前確認できると思うんだけど
代入処理とかでvarが変更されたりと副作用があるから気軽には実行できんのよね
復元処理が必要になる

Fate HF 第II章

やっぱ、最高だったわ。。。

今回もじっくりねっとり桜が描かれていて良かったぞ
プロフィール

Author:drab
霊夢改変キャラ
「12 3 ! {V} [_]」
公開中
L霊夢でもl_reimuでも好きなように読んでください

最新記事
最新コメント
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク