即死の種類

  • 通常即死
普通のHP・防御力を持つキャラが即死する程度のダメージを与える、投げ以外の攻撃。
大ダメージ即死とも言われる。
欠点として、極端にHP・防御力が高いキャラには効果がない場合がある。


  • オーバーフロー即死
MUGENの処理が追いつかないほどの大ダメージを用いた攻撃。
防御が100未満のキャラにはマイナス方向のオーバーフローを用いる。
ダメージ-2147483648あたりの値をtargetlifeaddすると、HPが桁はずれに多いキャラでも即死させられる。


  • 即死投げ
投げを用いて相手のステートを引き込み、即死させる攻撃。
主にP2StateNoやTargetStateを用いる。
自分の用意した即死ステートを相手に読み込ませると、そのステートは相手の-2ステートの後に処理される。
その為、-2ステートでライフを回復しても、即死ステートへ移動した後にライフが0以下となり即死する。
当たり前だが、ライフを0にする前にステート抜け等で逃げられると効かない。


  • 落下即死
fall.damageを適当に大きくする事によって、落下の際に即死させる。
落下ダメージ加算ステコンはコモンステートにデフォルトで搭載されているので、そこに混線やp2statenoで直接送り込む。
これを応用したものがアーマー貫通砲。


僅かなダメージを短いスパンに与え続ける攻撃。
例えば、数フレーム毎の極小targetlifeaddなど。
永続ターゲットとの併用でより強力になる。
一定時間内の大ダメージを無効化するキャラ等に有効。


  • 即死当身
投げが効かない、アーマー持ちのキャラにも通用する即死投げ。
原理としては、ステコンのReversalDefを用意し、相手のHitDefを当身して即死ステートに送る、という手順。
即死ステートに送る効果よりも、永続的にターゲットをとれる付属効果の方が大きい。
有名なOTHキラーもこれを用いる


  • 永続ターゲット
ターゲットを取っている状態でReversalDefを起動し続けると、そのラウンド中ずっとターゲットを取ったままになるバグ。
これにより毎フレームのTargetLifeAddやTargetstateができ、相手は毎フレームのライフ管理やステート管理を要求される。


  • 死の宣告
永続ターゲットで相手本体を捕捉していると、例え試合後やwinフラグが立っている状態でもTargetLifeAddが利用できる。
そこで、タイムアップと同時に相手のライフを減らして判定勝ちや即死を狙う。
また、勝利後には体力を回復できないフレームがあるため、その隙を狙うと強固なライフ管理を施したキャラもKOできる可能性がある。
ただし、相手がガードステートに固定されていた場合は減らせない。


  • 強制死の宣告
永続ターゲットを取った上でTargetLifeAddなどで相手のライフに干渉した後時止めを実行し、その上で自殺する。
自殺することで試合を強制的に終了させ、相手が時止め状態で動けないまま
前述のライフを回復できないフレームを利用し即死させる。その上で蘇生すれば勝てるという理屈である。
通常の死の宣告が通用しない場合の理由の多くは、相手が試合終了後にガードステートに篭るためであるが、強制死の宣告は時止めを利用し、試合中のライフ干渉状態を試合後まで維持させることで即死させる技術である。
なお、蘇生しない場合は道連れ宣告、自殺せずにタイムアップまで待つ場合は凍結宣告と呼ばれる。

  • 変数リセット・変数弄り
ステートを奪ってVarSetやParentVarSetを読ませて相手の変数をいじる。
ライフや性能を変数に頼っていると、ライフが0になったり弱体化したりして自滅する可能性がある。
gametime式ステ抜け等を貫通する時にも使用する。
だが、安易に使うと論外化したりする事も多く悩み物。
※残機が死亡条件になってる場合、その数値が数千~数万になり倒せなくなる等。
予めバックアップを取っておいた場合、変数の値を元に戻せば論外化させない変数弄りも出来るようだ。


相手を大量のステコンが入ったステートに飛ばし、オーバーフローを発生させて本来書き替えることができない領域にあるalive値を0にして即死させるバグ。
単純なNoKOフラグは「life=0の時にalive値を0にしない」というだけなため、これを突破できるのが最大の特徴。
通常1つのステートに512を超えるステコンがあるとエラーとなるが、当身を用いてHitPauseTimeを付加した状態でそのステートに移動するとそうはならないことを利用する。
nullの数を増やして相手の設定を直接弄る事も可能。自己領域からオーバーフローを発生させて相手のalive値を弄る物は「直死」等と呼ばれる。


  • 超即死投げ
HitDefのPauseTimeには自分が固まるパラメータがあり、それを利用する。
固まっている状態で超即死ステートにchangestateするとエラーにならない。


攻撃も当身もしていない相手のヘルパーにターゲットを付けるバグの総称。
affectteam=Fのprojを自分のヘルパーに当ててそのヘルパーを消すと、相手がいないターゲット、通称「空のターゲット」が付く。
その状態で誰かがヘルパーを出せば、そのターゲットにそのヘルパーが入り込む。
そこでTargetStateを使用してこちらの混線利用即死ステートに移動させ、projの仕様と合わせて、相手に相手自身の好きなステートを読ませられる。
相手の即死ステートに送った場合は相手を即死させ、当たり判定のあるステートに送ればヘルパーアーマー等で本体に攻撃を当てられないように対策したキャラにも攻撃を当てられるようになる。
非常に強力なバグだが、欠点として自分自身、あるいはパートナーの出したヘルパーもターゲットになる。


  • パンドラキラー
常時無敵のキャラに攻撃を当てる為の技術。
コモンステートの110と115にはHitByがあり、そのステートに相手を飛ばすことで無敵を解除する。
パンドラボックス(0.2b)をこの技術を用いて撃破した為、それにちなんでこう呼ばれている。
だが(当のパンドラボックスも)この技術だけで倒せるキャラはほとんどおらず、他の即死技術を補助する技術としての側面が強い。


  • アーマー貫通砲
アーマー相手でも落下即死を喰らわせる為の技術。
落下ダメージは他の攻撃を受けるか、HitFallDamegeというステコンで処理されるか、どちらかが実行されるまで残る。
この仕様を利用して落下ダメージを蓄積させ、コモンステートの5100か5110(どちらも落下ダメを処理するステート)に、相手を送って落下即死させる。
落下ダメージを蓄積させるには本体に当てなければならないので、パンドラキラーと併用して使われることが多い。


  • ヘルパー偽装(リダイレクト偽装)
メモリ位置順番(デバッグ表示の順番)でヘルパーIDが参照される事を利用する。
例えば
value=helper(12345),var(1)
と指定した時、ID=12345のヘルパーが2体以上いた時どっちのヘルパーの値が
用いられるかというと、メモリ位置順で参照される。
よって、相手の干渉不可なシステムヘルパーより前に同じIDのヘルパーを出してやれば
相手のライフ管理等を乗っ取る事が可能となる。
後は煮るなり焼くなり好きにしよう。


  • 即死ステート多重化(邪眼キラー)
StateNo式(邪眼式)ステート抜けを貫通する方法。
例えば相手が「自分のStateNoが1以外なら、SelfStateで1ステートに戻る」ことをしていた場合、こちらで用意した別の1ステートに相手を送っても、相手はステート抜けを行わない。

  • 当身しにくいhitdef
hitdefのattrの前半を省略すると何故か当身しにくくなるバグを利用する。
安心してhitdefを打てるので混線を作る時とかに便利。
ところが、当身しにくいhitdefは特定の条件で継続出来ないと当身出来るようになる。
superpause等で不意に途切れるタイミングを作ってやることで当身出来る(=アノマロカリスキラー)ようだ。
当然の事だが、時間停止無視を組み合わせている場合は当身出来ない。

  • Tagin
タッグ戦用のステコン。パートナーを指定のステートに移動させる。
ステコンの説明の通り、干渉できる敵Aのステートを奪い、干渉できない敵Bに無理矢理干渉する。
ターゲットも取れない、ヘルパーも奪えない敵は自身のステート保護をしてない場合があり
その場合Taginによる即死返しにより即死させる事ができる。
+ 使い方の例
[State ]
type = Tagin
trigger1 = Time = 0
stateno = 821;自身が移動するステート
partnerstateno = 5110;パートナーが移動するステート

これをカンフーマンの820ステートにコピペして相手タッグの片方を投げると
相手の相方が5110ステート(ダウン)に移動する。

  • Palno変更・ヘルパーノーマル化
ステコンオーバーフローバグ派生技。Palno・HelperTypeを管理しているメモリ位置が発見されたので超即死の要領で変更可能。

  • 親変更
好きなヘルパーの変数を書き換える技術。
ヘルパーAがヘルパーBをhelperステコンにより生成するとヘルパーAはヘルパーBの親となる。
ここでヘルパーAをdestroyselfステコンにより消滅させると、ヘルパーAがいたアドレス位置がヘルパーBの空親となる。
このヘルパーAがいたアドレスに敵ヘルパーCが入るとヘルパーBは敵ヘルパーCを空親とすることができる。
この時ヘルパーBがparentリダイレクトを利用すると敵ヘルパーCを参照する。
しかし、ヘルパーBは親確認としてヘルパーAのIDも記憶しており、parentvarsetステコンを利用できない。
そこでステコンオーバーフローバグにより親IDを敵ヘルパーCのものにすることにより敵ヘルパーの変数書き換えを実現した。
敵がライフ管理、生存管理に通常変数を使っていた場合即死できるため対神キャラに対して非常に強力である。
また、gametimeステ抜けを行っているヘルパーを奪えるので即死の取っ掛かりにする事もできる。

  • 親捏造
広義には、ステコンオーバーフローバグを利用して、parentの参照先を書き換えてしまうこと。
parentの参照先をSysverにすれば相手のシステム変数を弄ることができるし、相手のAlive領域を参照先にすれば、(非常に精度の高い)直死になる。
参照先を変更したあとの変数弄りには、下記の%nバグを利用することが一般的である。

DisplayToClipboardと%nの仕様を利用することで任意のアドレスの数値を書き換えられるバグ。
これにより変更したい変数のアドレスさえわかれば相手のAlive・Sysvar・Palnoといった致命的な変数に直接干渉できるほか、フラグを書き換えたり特定のキーを押した時と同じ処理を行うことも可能になる。
最大の問題点としてこれを任意のコード実行に繋げることで弄れる領域がMUGEN内部に留まらないということが挙げられる。悪意ある利用をされるとPCに重大な損傷を与える危険性があるので、これを利用する場合は細心の注意を払う必要があるだろう。

  • マインドコントロール
hitdefのground.typeをground.type=noneにした場合すると攻撃を受けても被弾状態にならない為、movetype=H式ステ抜け(=くらい状態になった時にステ抜け)をさせずにP2statenoで相手を任意のステートに送り込むことができる。
  • def-Buffer-overflow

DBOA、もしくはDBOFとも。
statedefのラベル名([Statedef xxx]のxxxに当たる部分)を異常に長くすることでバッファーオーバーフローを引き起こす。
原理は超即死と同じだが、超即死はステコンを経由する為、0or1での単純な書き換えしかできないが、これは任意のコードを実行できるため、できることの範囲ははるかに広い。
通常であれば割り当て領域をはみ出して書き換えられた領域が不正な処理となってエラー落ちするだけだが、これを「上手く辻褄が合うように書き換えてやる」ことで攻撃者が用意した任意のコードへ飛ばし、実行する。
これにより直死やプレイヤー消去は勿論、mugenのトリガーの処理自体を書き換えたり、ブラウザを勝手に開いて勝手にワード検索したりやりたい放題できる。
ちなみに某界隈では「SuperNull」、或いはそれを簡略化して「SNull」「SN」等と呼ばれているのだが、Nullは全く関係なく、外国人がNullのステートコントローラーに鍵があると勘違いして呼称し広がった名称である。

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2023年03月29日 22:29
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。