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

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

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

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

hotpatchによるDirectDraw/Inputのプロキシコード挿入、実践コード

これはこの記事を見ている方達の力量を判断するための教材的なコードです、処理としては導入部にあたります。
RCXのコア部分に使っていたものでは無く、前回の記事の手法で、あらたにコア部分から書き起こしてあります。CBTフック(ウインドウの構築、破棄などを起点にdllの処理を起動できるもの)を想定したDllMain部分のコアを極限まで単純化、かつ効率化してあります。

“hotpatchによるDirectDraw/Inputのプロキシコード挿入、実践コード” の続きを読む

アプリケーションに依存しないAPIフック

まず参考文献から

Detours – Microsoft Research
http://research.microsoft.com/en-us/projects/detours/#overview

http://research.microsoft.com/pubs/68568/huntusenixnt99.pdf

Windows XP SP1、およびWindows Server 2003 SP1から、ホットパッチという再起動しなくてもセキュリティ上問題のある部分を修正を適応可能とする機構が導入されました。

OS起動中はロックされてしまい修正不可能なファイルに対して、メモリ上でパッチをして一時的に適応。再起動時にファイルを置き換えるというものです。

“アプリケーションに依存しないAPIフック” の続きを読む

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

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

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

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

 某IRCにて公開していますが、皆さんが一番利用しそうなPacketLengthについて一部抜粋で解説します。
EXEの更新が1度しか行われていないので考察程度に、それぞれ各コード抜粋にジャンプします。

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