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 | このブログの読者になる | 更新情報をチェックする

2016年12月26日

撃破挑戦キャラ公開

Christmas_Bakuha公開しました

名前はクリスマスっぽいですがなんの演出もないです

捏造未使用撃破確認済み
ヒントはある干渉を行います

DLはリンクの公開先から
posted by めろんピエロ at 09:49| Comment(0) | MUGEN | このブログの読者になる | 更新情報をチェックする

2016年10月21日

残像式デバッグキー操作テンプレ(%n)

とりあえず記述だけ(あとで解説したい)
やってること:Shift+F4

[state ]
type=displaytoclipboard
trigger1=1
text="%.*d%n%d"
params=212,0,自アド+3067+1945
ignorehitpause=1;4b58d4
[state ]
type=displaytoclipboard
trigger1=1
text="%.*d%n%d"
params=88,0,自アド+3067+1946
ignorehitpause=1;4b58d4
[state ]
type=displaytoclipboard
trigger1=1
text="%.*d%n%d"
params=75,0,自アド+3067+1947
ignorehitpause=1;4b58d4
[state ]
type=afterimage
trigger1=1
time=0
length=1
timegap=1
framegap=1
palcolor=0
palinvertall=0
palbright=0,0,0
palcontrast=0,0,0
palpostbright=0,0,0
paladd=0,0,62
palmul=0,0,0
trans=none
alpha=251,252
ignorehitpause=1

[state ]
type=displaytoclipboard
trigger1=1
text="%.*d%n%d"
params=72,0,自アド+3067+1945
ignorehitpause=1;4b6948
[state ]
type=displaytoclipboard
trigger1=1
text="%.*d%n%d"
params=105,0,自アド+3067+1946
ignorehitpause=1;4b6948
[state ]
type=displaytoclipboard
trigger1=1
text="%.*d%n%d"
params=75,0,自アド+3067+1947
ignorehitpause=1;4b6948
[state ]
type=afterimage
trigger1=1
time=0
length=1
timegap=1
framegap=1
palcolor=0
palinvertall=0
palbright=0,0,0
palcontrast=0,0,0
palpostbright=0,0,0
paladd=0,0,65536
palmul=0,0,0
trans=none
alpha=0,0
ignorehitpause=1

[state ]
type=displaytoclipboard
trigger1=1
text="%.*d%n%d"
params=0,0,自アド+3067+1945
ignorehitpause=1
posted by めろんピエロ at 00:25| Comment(0) | MUGEN | このブログの読者になる | 更新情報をチェックする

2016年10月20日

afterimageでデバッグキー操作

%n補助で一応できました、ステコンオバフロでも可能ですが次ラウンドにフリーズするみたいなので後で改善しようかなと

これで一切%nを使わずF1が使える...!?

こんど概要書きますかねー
posted by めろんピエロ at 00:07| Comment(0) | MUGEN | このブログの読者になる | 更新情報をチェックする

2016年09月13日

power参照先バグ

箇条書きで

・ヘルパーのpower参照先
→同スロットIDで一個前に出たヘルパーのteamsideを見た上で、そのteamsideの先頭プレイヤー(1ならP1,2ならP2)のpower参照先を代入している
→同スロットIDで前にヘルパーが1回も出ていないならば「そのプレイヤーのアドレス+376」が代入される

・powersetステコンについて
→さっきの「teamsideの先頭プレイヤーのpower参照先」に数値を代入している
(決してステコン実行者のpower参照先を見ている訳では無い)

・getpower系のバグについて
→一番はじめに言った仕様のせいで対象のpower参照先を直接見ているgetpower,givepower,targetpoweraddは代入先が狂う場合がある

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