Ragnarok OnlineにおけるDirectSoundの初期化、及びサウンドレート、そして高音質化へ

今回はサウンド関連というネタを提示しますが、ネタをもとに書きながら解析及び方法模索、コーディングを行っているので、長談になりがちですが、よろしくお付き合いください。

ROのexeやdllのインポートを参照してもdsound.dllは見つかりません。
サウンド関連の初期化はBinkw32.dll(Bink RAD Game Tools )というヘルパーライブラリによってdsound.dllが動的に読み込まれ初期化されます。
内部処理を詳しく知りたい方は、 デバッグやマルウェア解析等に関する有力ツール | Planetleaf.com Lab.で紹介したIDAで BinkOpenDirectSound というファンクションを見てみましょう。
“Ragnarok OnlineにおけるDirectSoundの初期化、及びサウンドレート、そして高音質化へ” の続きを読む

古今東西のROクライアントのPacketLengthを取得できる技術というネタ

Developmentのカテゴリの方で用意している教材にPacketLengthを取得できるコードとフリーマウスカーソルを搭載。

SimpleROHook RCXの跡地 | Planetleaf.com Lab.
https://lab.planetleaf.com/memory-of-rcx

“古今東西のROクライアントのPacketLengthを取得できる技術というネタ” の続きを読む

ret命令@リプレイ機能が搭載されたROのexeのコードスクランブル

これが実行出来ると色々便利という半強制的にタイトル画面に戻れるモード移行のファンクション。
CGameModeのインスタンスはグローバルにあるので容易に実行することが出来る。
が、このコードもコードスクランブルの煽りを受けてスパゲッティ状態である。
アセンブリコードを記事に載せる手軽で居まい方法が思いつかないので取りあえずハイライターで…

“ret命令@リプレイ機能が搭載されたROのexeのコードスクランブル” の続きを読む