「%nバグ」の編集履歴(バックアップ)一覧はこちら
%nバグ - (2011/05/06 (金) 13:48:58) の1つ前との変更点
追加された行は緑色になります。
削除された行は赤色になります。
DisplayToClipboardを利用したバグ。
%nトークンを使い任意のアドレスを書き換えることにより様々な事が出来る。
詳しくは「書式文字列攻撃」で調べるといい。
&nicovideo(sm14244577)
*問題点
・[[直死]]以上の環境依存
現在一部のMUGEN本体でしか成功が確認されていない。
・使い方次第で''PC本体に影響が出る''(例:Webブラウザを起動させる)
よって悪意のある使い方をされるとウイルスとして機能しかねないという重大な問題がある。
*回避方法
・記述をチェックする
cns等を開いてCtrl+FでDisplayToClipboardを調べ、%nがないか見てみる。
paramsにやたら数字が書いてあったらほぼ確定。
このバグを使っているかチェックするツールもあるので利用するといいだろう。
・本体を変える。
上記の不安定さを突いたもの。
特に新MUGENではちゃんと対策されている模様。
%%・MUGEN専用のPCを用意する%%
DisplayToClipboardを利用したバグ。
%nトークンを使い任意のアドレスを書き換えることにより様々な事が出来る。
&nicovideo(sm14244577)
原理については「書式文字列攻撃」で調べるといい。
*やり方
やり方自体はDisplayToClipboardを使うだけ。
例:Pauseボタンを押したのと同じ状態にする場合
[state ]
type=displaytoclipboard
trigger1=1
text=" %n\n"
params=4942465
textにあるスペースの数をparamsで指定したアドレスに入れる。
入れる値が小さいならこれでもいいが大きい値を入れたい時には面倒になるので
[state ]
type=displaytoclipboard
trigger1=1
text="%1u%n"
params=1,4942465
と書いてもいい、こちらは%とuの間にある値を入れる。
*問題点
・[[直死]]以上の環境依存
現在一部のMUGEN本体でしか成功が確認されていない。
またアドレスが固定で無い試合中の処理等を弄るのも安定しない。
アドレスが固定のデバッグキー操作あたりは比較的安定する。
・使い方次第で''PC本体に影響が出る''(例:Webブラウザを起動させる)
よって悪意のある使い方をされるとウイルスとして機能しかねないという重大な問題がある。
とは言っても本物のウイルス並の事は出来ないようだが。
*回避方法
・記述をチェックする
cns等を開いてCtrl+FでDisplayToClipboardを調べ、%nがないか見てみる。
paramsにやたら数字が書いてあったらほぼ確定。
このバグを使っているかチェックするツールもあるので利用するといいだろう。
・本体を変える。
上記の不安定さを突いたもの。
特に新MUGENではちゃんと対策されている模様。
・%%MUGEN専用のPCを用意する%%