「%nバグ」の編集履歴(バックアップ)一覧はこちら
%nバグ - (2011/05/28 (土) 12:58:16) の1つ前との変更点
追加された行は緑色になります。
削除された行は赤色になります。
DisplayToClipboardを利用したバグ。
%nトークンを使い任意のアドレスを書き換えることにより様々な事が出来る。
&nicovideo(sm14244577)
なお、すでに「%nバグ」という名称が広まっているので便宜上こう呼ばれているが%n自体は仕様である。
詳しくはプログラミングについて調べてみると良い。
ただし%nに関する事をわかりやすく書いているものは少ないかもしれない。
*やり方
やり方自体は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ブラウザを起動させる)
悪意のある使い方をされると、PCにさまざまな重大な被害が発生することも考えられるので注意。
*回避方法
・記述をチェックする
cns等を開いてCtrl+FでDisplayToClipboardを調べ、%nがないか見てみる。
paramsにやたら数字が書いてあったらほぼ確定。
このバグを使っているかチェックするツールもあるので利用するといいだろう。
・本体を変える。
上記の不安定さを突いたもの。
特に新MUGENではちゃんと対策されている模様。
・%%MUGEN専用のPCを用意する%%
DisplayToClipboardを利用したバグ。
%nトークンを使い任意のアドレスを書き換えることにより様々な事が出来る。
&nicovideo(sm14244577)
なお、すでに「%nバグ」という名称が広まっているので便宜上こう呼ばれているが%n自体は仕様である。
詳しくはプログラミングについて調べてみると良い。
ただし%nに関する事をわかりやすく書いているものは少ないかもしれない。
*やり方
やり方自体は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ブラウザを起動させる)
悪意のある使い方をされると、PCにさまざまな重大な被害が発生することも考えられるので注意。
*回避方法
・記述をチェックする
cns等を開いてCtrl+FでDisplayToClipboardを調べ、%nがないか見てみる。
paramsにやたら数字が書いてあったらほぼ確定。
このバグを使っているかチェックするツールもあるので利用するといいだろう。
・本体を変える。
上記の不安定さを突いたもの。
特に新MUGENではちゃんと対策されている模様。
・Data Execution Prevention(通称DEP)を使う
Windows XP以降のOSに搭載されているセキュリティー機能。
データ領域に記録されたデータをプログラムとして実行されるのを防ぐ機能。
MUGEN内で扱える%nを実行しつつ不正な書き込みを制限できる非常に有効な手段。
ただし設定を変えることによって生じた不具合については自己責任。
・%%MUGEN専用のPCを用意する%%