2020年4月30日から2020年4月26日までの日記を表示中
2020年 4月30日 (木)
■Amazon Video
■基板
ウォーザードの既存の解析結果もチェックしてみましたが、こちらもエラーが多数・・・と思ったら、半分くらいが誤検出でした。暗号化のアルゴリズム的に、特定のアドレスだとエンコードの際にXORする数がゼロになる関係で、そもそもエンコードされているのかどうか区別がつかない箇所が存在しちゃうんですな。なるほどなー。
[コメントを書く]
2020年 4月29日 (水)
■基板
バージョン違いの解析結果におかしな点がないかをチェックすべく、MAMEから切り出したSH向け逆アセンブラの関数をライブラリ化して、既存のバイナリで命令と推測されるところを逆アセンブルして、命令の並びにおかしなところ(遅延スロットに不正な命令が置かれているところなど)がないかチェックするプログラムを書いてみました。で、試しに初代ジョジョの解析結果に適用してみたところ、エラーになるところがボロボロと・・・。うーん、引っかかったのは実行されない部分なのか、それともわざわざ初代ジョジョを遊ぶ人が居ないからこの辺のクオリティが低いということなのか・・・。
[コメントを書く]
2020年 4月28日 (火)
■基板
CPS3解析を目的にしたSH-2の逆アセンブラ、命令数が少ないと思ったけど、いざ一から手で書き始めてみると表を見ながらの入力が意外と面倒だということがわかりました(汗)
そこで、ヘッダか何かを再利用して楽できないかとunidasmの中で呼んでいるSHの逆アセンブラのコア部 (sh_dasm.cpp) を見てみたところ、実はこれ自体が超シンプルで、ほぼそのまま使えそうなことが判明。外側の複雑さとのギャップが凄いというか、MAMEなのにこんなに読みやすいなんて・・・w
というわけで途中まで書いた自作品は放棄して、これを改造のベースにすること決定。最初からこうすれば良かったなー。
[コメントを書く]
■キーホルダー
[コメントを書く]
2020年 4月27日 (月)
■基板
unidasm、それ自体は悪くないんですが、CPS3の解析のためにSH-2に限定してもっと凝ったことを色々やるには弄りにくくてなかなか大変な感じです。・・・というか、そもそもSH-2って命令自体がかなりシンプルでドキュメントも整っているんだから、既存のものに頼らずに一から書いてしまったほうが早くて簡単だったりするのでは? というわけでちょっくら実装を始めてみました。
[コメントを書く]
2020年 4月26日 (日)
■基板
CPS3の解析の効率を上げるべく、任意の短いバイト列を、いちいちファイルに書き出すことなくその場で逆アセンブルしてくれるコマンドが欲しい感じ。というわけでMAME付属のunidasmをちょっと改造して、引数で与えた16進数の並びを逆アセンブルできるようにしてみました。プチハックだけどかなり便利でちょっと嬉しいw
[コメントを書く]
2020年4月30日から2020年4月26日までの日記を表示中
[コメントを書く]