2017年01月27日

前記事の続き(bindtotargetなど)

前記事で「結論から言うとできない」って言ったやつの解説
bindtorootとbindtoparentはステコン実行時に[Pアド+0x3434]とかに参照先アドレスを代入してるのだけれども、実際にpos等に数値代入するのはF処理終了時(もしかしたらキャラ処理終了時かも?、未検証)
だからキャラ処理でそこの数値を書き換えてやれば終了時に数値取得ができる

一方、target関連はというと

1.bindtotargetについて
これはステコン実行時にアドレスを保存せず、しかもF終了時ではなく即時に位置が変わっているみたい
よって、参照先を変えたいならtarget参照先弄りで変える必要がある

target参照先弄りは、%n等を用いて複数回アドレス取得する必要があるのでそれを行うくらいならpowerと残像使ってサクッと参照した方が楽(というかオバステじゃそもそも無理)


2.targetbindについて
こっちは即時にタゲ先の座標が移動するわけではなく、F終了時に座標移動
でも残念ながら参照や代入は独自にアドレス保存してやるわけではなく、target管理先のアドレスや自己アドレスをそのまま用いてる
(ちなみにpos=x,yと書くところの数値は
[[Pアド+0x220]+0x14]+Cとか+10にあったりする)
そのため、こちらも代入先を変えたければtarget参照先弄りを使う必要がある


以上より、bindtotargetとtargetbindを用いて簡単に参照や代入をするのは難しいと判断した

まあ狭い範囲の参照ならアドレス取得してpowerで見ればいいし、広範囲参照ならparentなり使えば良い
bindtorootのやつで便利になるのはコード使わないで基準アドレス取得するオバステ親捏造かな
書き換えるのに若干不安があるparent参照先弄りよりも書き換えても安全なbindtoだと取得が1F遅れるとしても採用する価値はあると思う

posted by めろんピエロ at 01:09| Comment(1) | MUGEN | このブログの読者になる | 更新情報をチェックする

2017年01月26日

新MUGENでのコード実行とか

DTC経由でスタックオーバーフロー使って任意箇所のコードを実行できないもんかと試してみた
winの方だとDTC用に使えるスタックは1024までなのに加えて、その直後にリターンアドレスがあるから弄りやすかった

新でもできねーかなと思ったら
・まず確保領域が4095
・それを超えたら強制的に4095番目にヌル文字代入
・リターンアドレスはなさげ(未確定

だったので無理そうでした

結局、今まで通りの既存コード利用でやるしかないんかね...

残像のアドレス保存は場所は違えどwinと同様にやってそうな感じはしたのでオバステで弄ればなんとかなるかな

あとbindtorootのやつもコードみて軽く調べたんだけども、新だと処理変わっててこれも無理
そのままだったら楽しかったのにな

そういえば、winmugenで「bindtoroot/parentで値取得出来るならbindtotargetとtargetbindはどうなん?」って思ったからちょいと調べた
結果から言うとできないんだけど、詳しくは別の記事で書きますわー
posted by めろんピエロ at 01:39| Comment(0) | MUGEN | このブログの読者になる | 更新情報をチェックする

2017年01月25日

残像でコード部分代入

アニメナンバーを取得するのに使ってみた
感想としては、
・一つ毎にDTCでコードを代入する必要が無いのは楽
・でも代入する時にいくつか注意する箇所があって少しめんどい

って感じですかね
総合的な記述量はグッと減るのでほかの記述でも採用してみる価値はあるかも
実際のコードの方は初めて組んでみましたが意外と簡単なものだった
簡単に自己アドレス取得するコードも作れたのでうれしい

ちなみにアニメ取得はelemが0の所謂ジャンクアニメも回避出来るようにしたので割と満足できる結果に

これをうまく使えば新MUGENでのコード実行も夢ではないかもねー
posted by めろんピエロ at 22:22| Comment(0) | MUGEN | このブログの読者になる | 更新情報をチェックする

2017年01月23日

bindtoroot参照先弄りでアドレス取得のテンプレ公開

公開しました
DLは公開先から

うまく動作しなかったら報告してください
posted by めろんピエロ at 00:48| Comment(0) | MUGEN | このブログの読者になる | 更新情報をチェックする

2017年01月21日

bindtorootアドレス利用で数値取得

調べてたらなんか見つけたので報告

bindtoroot実行時に、P+0x3434にrootのpos xのアドレスが入る
F終了時に、[P+0x3434]をP+0x19C(実行者のpos x)に代入する
つまりステコンオバフロ等を用いてこの[キャラアドレス+0x3434]を任意のアドレスに書き換えてやればF終了時にpos xに数値が代入される

同様にpos yに対しても利用可能

他にも弄るところがあり、そのF中に処理を完了できないためpower参照よりは使い易いとは言えないが...
最終処理で実行されるっぽいので最新の情報を取得できるという点では使えるかも?
一応ステコンオバフロ利用で基準アドレスは取得出来ることを確認しました

コード貼れば処理はわかりやすいんだけど貼るのもなんかアレなので省略

ちなみに
bindtoroot/parentステコンの処理:0x471403
posへの代入処理:0x4424D0

あとbindtorootパラメのtimeを1以上にしてfacingのエラーを回避できれば、別にbindtorootを実行しておく必要はないです
おそらくbindtoparentでも同じことができそうですね

posted by めろんピエロ at 10:54| Comment(0) | MUGEN | このブログの読者になる | 更新情報をチェックする

2017年01月12日

探査&全領域邪眼

なんか話題になってるので
def一覧は[[[P+0xBE8]]+0x18]にあるのでそこまでをafterimagetimeとpower参照先弄りを組み合わせて辿る
コードでもできるけど、個人的にはこっちの方が好き

過去記事だけど
power参照先については
残像関連はただのデバッグキーテンプレだけど

探査は敵のdef一覧を見るのに加えて、def総数とステコン総数とかも見た方がいい
一応ステコンの種類とかトリガーとかも辿れんことは無いけど、コードじゃなけりゃ記述が煩雑になるからそこはやらなくてもいいかな...

afterimagetimeの有用性を見つけるまでは全部DTCでやらざるを得なかったから便利になったもんよー
見つける前の捏造探査の記述残ってるけど、汚すぎる...

P.S.
アニメアドレスとかを辿ったらclsnがあったのでアニメ探査に使えないか試してみます
posted by めろんピエロ at 08:08| Comment(0) | MUGEN | このブログの読者になる | 更新情報をチェックする