日常の戯言とかなんとか

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
-------- : スポンサー広告 :
Pagetop

%nの平和的利用法

http://mugeneinzbern.blog.fc2.com/blog-entry-1555.html
http://nameless311.blog.fc2.com/blog-entry-794.html

まず%nってなんなのってところから

%nってのはC言語の書式指定子の1つで、「それまでに出力したバイト数を指定したアドレスに書き込む」というものです

例えば
int main(void){
 int a;
 printf("hello,world%n",&a);
 printf("文字数は%dです",a);
 return 0;
}
こんなプログラムを実行してみたら、aの値は「hello,world」の文字数の11になります

で、MUGENだとどうなるか
DisplayToClipboardがC言語のprintfに相当します
だから%dとか%fとかで数値を表示したりできるわけですが

で、アドレスさえ指定すれば好きな場所に好きな数値を書き込むことができる
例えばデバッグキーの押下フラグを管理しているアドレスを指定すればF1でもF5でもできるし、相手のAliveのアドレスを指定すれば直死だし
これが「なんでもできる」ということの正体ですね

ただまあ直死撃ちこむだけだと芸もないしぶっちゃけつまらん
せっかく何でもできるんだからちょっとは平和的利用法を考えてみようじゃないか

それで、私がざっと思いついた限りではこの2つ

①ステコンオバフロの代わりに使ってファイルサイズを軽量化
相手の領域ではなく自分のAlive領域に限定して使えばいい
Alive偽装も凍結解除も親変更もnullステがいらなくなるからそのぶん軽くなる
現在の神キャラのファイルサイズの6割は全領域親変更のせいだからこれは大変なことだと思うよ

②比較的穏やかな攻撃方法としての利用
ぶっちゃけ試合中にF1使う程度なら凶悪でもなんでもない(ただし試合後は自重しとけ)
ハイパー扇奈とかブラックコアを消し飛ばせるといったってねえ、親変更が見つかって鬼巫女が消し飛ばされたのと大差ないと思うよ
そもそもヘルパー押し付けや本体親変更のように相手本体に想定してないルートからの干渉が可能になるものが受け入れられてF1押下が拒絶されるのはなんか変でしょ

平和的利用に限定するならだいたいこのへんに集約されるんじゃないかね
とりあえずできることの上限だけ見て脊髄反射で全部拒絶するのは非常にもったいないと思うよ

これから導入を考えてる人へアドバイスするなら
「%nで何をさせたいか、やりたいか」というコンセプトをしっかり決めて、それに沿って導入すべし

って感じかね
スポンサーサイト
2012-12-11 : MUGEN : コメント : 0 : トラックバック : 0
Pagetop
コメントの投稿
非公開コメント

Pagetop
« next  ホーム  prev »

プロフィール

@ひたち

Author:@ひたち
「@」を忘れるべからず
読みは普通に「ひたち」でいいんじゃないの

検索フォーム

アクセスカウンター

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。