ぱけ操作
の編集
http://www.eco.dbeco.net/index.php?%E3%81%B1%E3%81%91%E6%93%8D%E4%BD%9C
[
トップ
] [
編集
|
差分
|
バックアップ
|
添付
|
リロード
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
.csv File
.ct File
.dat File
.mrb File
.spp File
.spr File
.ssp File
.tga File
Anim File
BracketName
EcoDBwiki
EcoModelTranslator
FormattingRules
FrontPage
Help
InterWiki
InterWikiName
InterWikiSandBox
Item
Item/IrisCardData
Item/RecipeData
Item/ワールドポイント
Item/個人用ポイント
Map File
MapData
Marionette
MenuBar
MobData
MobData/DropTable
MobData/属性値
MobData/状態異常値
MotionData
Notice
PHP
PetData
PukiWiki
PukiWiki/1.4
PukiWiki/1.4/Manual
PukiWiki/1.4/Manual/Plugin
PukiWiki/1.4/Manual/Plugin/A-D
PukiWiki/1.4/Manual/Plugin/E-G
PukiWiki/1.4/Manual/Plugin/H-K
PukiWiki/1.4/Manual/Plugin/L-N
PukiWiki/1.4/Manual/Plugin/O-R
PukiWiki/1.4/Manual/Plugin/S-U
PukiWiki/1.4/Manual/Plugin/V-Z
RecentDeleted
SandBox
SkillData
SkillData/詠唱時間
Stirling使い方
Test
Tips
TopInfomation
TopLink
TopSiteMap
UpdateData
WikiEngines
WikiName
WikiWikiWeb
YukiWiki
about patch
attr File
infomation
link
その他
ぱけ操作
ぱけ操作/chat
ぱけ操作/chat/chat.ini
ぱけ操作/ぱけでーた
よくある質問
スレッド
ツール紹介
ツール置き場
パケット
ファイルチェック
モデル表示
モデル表示/DatViewer
モデル表示/Dresser
モデル表示/EMT
モデル表示/MrbViewer
モデル表示/MrbViewer/act_com
モデル表示/MrbViewer/itempict
モデル表示/WebViewer
ランチャー
ランチャー/Launcher
ランチャー/Patcher
保管ガイドライン
保管庫
再構築くん
多重起動
掲示板
管理用
練習ページ
視点解除
解凍くん+
解凍くん+/差し替え
解凍くん+/差し替え2
解凍くん+/差し替え3
*ECO ぱけ操作ツール [#cd091c52] #contents **本体 [#wa5d72c7] [[ツール置き場]] ***■ファイル説明 [#jc989e5c] Root ├ 仕様書フォルダ [モジュール仕様等についての技術資料] ├ Moduleフォルダ [機能追加モジュールの格納庫] │ ├ memory.dll [メモリ検索&書き換えモジュール ROからの拾い物] │ └ packetdumpフォルダ [パケットを見やすくダンプ Mapleの拾い物を改造] │ ├ config.txt [Memory.dll用設定ファイル] └ ws2_32.dll [本ツール] ***■ 概要 [#dc278195] 本ツールは、ECO にてパケを参照する補助ツールの作成を助ける補助ツールです。 ***■ 動作環境 [#d3a6e029] Windows XP 環境にて動作チェックしています。2kでも動くでしょう。 ***■ 使い方 [#s8262f24] 1. 解凍したファイル・フォルダを ECOの フォルダに移動させます。 2. eco を起動します。通常の eco.exe でも改造済のものでもかまいません。 ***■ exe について [#i53d062a] ecoから始まるexeの時に動作します。例外的にeco_launch.exeは動作しないようにしています。 ***■ 免責 [#n0cc0eda] 本ツールにより何らかの損害が発生しても、一切感知しません。自己責任にて使用してください。 ***■ 現在判明してる不具合 [#obf7af41] %%複数のパケットを作成するといくつかが処理されない事がある%%~ %%OnRecv,OnSendで0を返してもパケットが削除されず、そのまま処理されてしまう不具合%% COLOR(red):※最新版では修正済み ***■ 履歴 [#a0fcc6ed] -2007/11/01 ver0.71 --パケット破棄時のバグを修正した気がする --エミュ鯖In時に再起動しなくても良くなるように ---(ECOの初期化が適当なのでそれを補完をする -2007/04/04 ver0.6 --CreatePacketでゲームサーバへのパケットが作成できなかった不具合を修正。 --CreatePacketの第一引数(SOCKET s)で -2を指定するとゲーム鯖、-3でマップ鯖との通信になるように -2007/04/02 ver0.5 --パケット作成に関するソースを書き直し ---任意のタイミングでパケット送信受信可能に ---※注意:最初のOnSendが呼ばれるまでCreatePacketは動作しません(OnConnectで作成しても破棄される ---上記以外の仕様変更はありません --時々パケ送信データが処理されなかった不具合を修正 --削除したパケットに続くデータが処理されなかった不具合を修正 ---ecodeでdummyパケットを付加しなくても良くなったかも ---ecodeでecoが固まるバグが治ったかも ---時々パケ削除が上手く行かなかったのもこれの所為かも -2006/09/28 ver0.4 --バグ修正出来ていなかったのを修正 -2006/09/12 ver0.3 --パケットの一部を処理できないバグ修正のためrecvデータ取得の位置を変更 -2006/02/18 ver0.2 --パケ操作可能に -2006/01/09 ver0.1 --公開 //***■ ソースファイル [#id0b240f] //#ref(Tool/packetMOD/ws2_32.zip) *モジュール解説 [#y8bc0e2a] **パケット参照 [#g96b26c9] ***■packetdump.dll [#packetdump] パケットをpacket.txtの書式に基づいてファイルにダンプするモジュール。~ ~ packet.txtを編集する事により、必要のないデータをダンプしないようにしたり~ データを見やすく表示するのでパケット解析に最適。~ 指定したキーを押すとダンプ開始して指定したキーを押すとダンプを止める改造版もある。~ 作者:MapleStory升スレの誰か~ ~ ***■EcoPlayerWatcher [#q9aed1e5] パケットでプレイヤーデータを監視するツール~ ~ 近くにいる人のHP/MP/SPや憑依してる中の人が誰か表示する~ コマンドラインツールです。ついでに自分の所持品の一覧も表示します。~ 作者:601氏 ~ //すでに使えないらしいので削除 //使えるので戻した。 ***■WateDoll [#q7ff323d] 2PC憑依ワテドル自動操作ツール~ ~ ヒール・キュア・Buff・回復剤等を自動使用してくれる~ 作者:601氏 ~ ***■chat.dll [#chat] 補助スキルの残り時間がわかったり指定アイテムやモンスターが出ると知らせてくれるモジュール~ 詳しくは[[ここ>Tool/chat]] 作者:作者C~ ~ ***■KnightWarTimer.dll [#KnightWarTimer] 演習時の各軍のシンボルの破壊を自動検出して次の沸き時間を計測してくれるツール。~ 同梱の演習タイマー.exeと組み合わせて使用する。~ 作者:不明~ ~ ***■wislog.dll [#y780b661] whisperをログ保存するモジュール。~ 作者:作者C~ ~ //***■exp.dll [#vf382e34] // 相取得経験値や経験値効率を表示するモジュール。~ // 作者:作者C~ //~ ***■tueee.dll [#z4303e22] 俺TUEEEEEEな気分になれるかもしれないモジュール。~ 見かけのダメージを増加させます~ クリティカルもあるよ~ 作者:不明~ ~ **パケット操作 [#h46aa841] ***■packetfilter.dll [#sd676ba0] パケットをpacket.txtの書式に基づいてファイルにフィルタリングするモジュール。~ ~ 最初は難しいかもしれないが、プログラミングが出来なくてもパケットを弄る事が出来る。~ 作者:MapleStory升スレの誰か~ ~ ***■packetdump改造版 [#v37c2a69] 基本は[[#packetdump]]と同じだが、ダンプするかどうかをキーを押す事により操作できる。~ キー押したときにメッセージをログに出すためパケ作成を行っている。~ ~ ***■[[ecode>http://ecore.hp.infoseek.co.jp/cgi-bin/index.cgi]] [#p0224422] サーバーを疑似的に再現します。 **パケット無関係 [#q24c0e9e] ***■memory.dll [#aee44230] config.txtに記述されたデータに基づいて起動時にメモリを弄るモジュール。~ ~ 視点解除や多重起動などの升を、パッチ毎にexeを検索して弄らなくても自動で改造してくれるので便利。~ 作者:RO升スレの誰か?~ ~ ***■ecowin2.dll [#mb8596e3] EcoクライアントのWindowを前回のWindow位置に戻します。~ ~ 作者:601氏~ ~ *モジュール仕様 [#p1b3f6b0] モジュールの仕様書です。 **モジュールの公開関数 [#a456879f] module フォルダ以下に DLL を配置すると、ws2_32.dll がモジュールの 検索を行い、Initialize 関数を見つけるとメモリに組み込みます。 なお、呼び出し関数は以下のとおりです。 ■int WINAPI Initialize(HINSTANCE hModule) モジュールを初めてロードしたときに呼び出されます。 引数のhModuleはこのモジュールを呼び出したDLLのハンドルです。 メモリに組み込む場合、この関数を必ず EXPORT してください。 ■void WINAPI OnConnect(SOCKET s, struct sockaddr_in *name, int namelen) 接続をするときに呼ばれます。接続の直前に呼ばれるため、接続先 情報の変更などが行えます。 ■void WINAPI OnDisconnect(SOCKET s) 接続が切断されたときに呼ばれます。 ■int WINAPI OnSend(SOCKET s, unsigned char *buf, int len, int flags) クライアントが send() 関数を呼んだ直後に呼ばれます。生パケットの 状態で、buf, len が引数として渡されます。返り値は必ずパケット長を 指定してください。パケット長を変えた場合は、その長さを返します。 0を返した場合、そのパケットは送られず破棄されます。 なお、パケット置き換えをした場合、後に読み込まれたモジュールに そのパケットが渡されます。 ■int WINAPI OnRecv(SOCKET s, unsigned char *buf, int len, int flags) クライアントが recv() 関数を呼んだあと、パケットを受信した直後に 呼ばれます。他は全てOnSendと同じ仕様です。 **本体の公開関数 [#o7fb0fff] また、ws2_32.dll にてCreatePacket 関数をエクスポートしており、生パケットの バッファを渡すとパケットデータを追加できます。~ モジュール内からこの関数を使用する場合は、Initialize時に GetProcAddress で関数のアドレスを取得してください。~ ~ %%なお、指定したソケットの送受信の処理が行われる時に追加されるため、作成したパケットがすぐに処理されるとは限りません。%%~ 最新Verではすぐに処理されます。 ■int WINAPI CreatePacket(SOCKET s, unsigned char *buf, int len, char type) 任意のパケットを作成します。 sには通信したいサーバーのSOCKETか -2(ゲームサーバと通信) -3(マップサーバとの通信)を指定してください。 bufにはサイズデータを含めたデータを指定してください。 lenにはサイズデータを含めたサイズを指定してください。 typeには'r'(受信)か's'(送信)のどちらかを指定してください。(大文字不可) 例:看板を出すと同時にエモーションを出す typedef void (*CP)(SOCKET s, byte *buf, int len, char type); CP CreatePacket; void WINAPI Initialize(HMODULE h) { CreatePacket = (CP)GetProcAddress(h, "CreatePacket"); return; } int WINAPI OnSend(SOCKET s, unsigned char *buf, int len, int flags) { int id = buf[2] * 0x100 + buf[3]; switch(id) { case 0x041a : //看板 { //エモーション送信 byte buf[8] = {0x00, 0x06, 0x12, 0x16, 0x00, 0x00, 0x11, 0xa5}; CreatePacket(s, buf, 8, 's'); } break; } return len; }
タイムスタンプを変更しない
*ECO ぱけ操作ツール [#cd091c52] #contents **本体 [#wa5d72c7] [[ツール置き場]] ***■ファイル説明 [#jc989e5c] Root ├ 仕様書フォルダ [モジュール仕様等についての技術資料] ├ Moduleフォルダ [機能追加モジュールの格納庫] │ ├ memory.dll [メモリ検索&書き換えモジュール ROからの拾い物] │ └ packetdumpフォルダ [パケットを見やすくダンプ Mapleの拾い物を改造] │ ├ config.txt [Memory.dll用設定ファイル] └ ws2_32.dll [本ツール] ***■ 概要 [#dc278195] 本ツールは、ECO にてパケを参照する補助ツールの作成を助ける補助ツールです。 ***■ 動作環境 [#d3a6e029] Windows XP 環境にて動作チェックしています。2kでも動くでしょう。 ***■ 使い方 [#s8262f24] 1. 解凍したファイル・フォルダを ECOの フォルダに移動させます。 2. eco を起動します。通常の eco.exe でも改造済のものでもかまいません。 ***■ exe について [#i53d062a] ecoから始まるexeの時に動作します。例外的にeco_launch.exeは動作しないようにしています。 ***■ 免責 [#n0cc0eda] 本ツールにより何らかの損害が発生しても、一切感知しません。自己責任にて使用してください。 ***■ 現在判明してる不具合 [#obf7af41] %%複数のパケットを作成するといくつかが処理されない事がある%%~ %%OnRecv,OnSendで0を返してもパケットが削除されず、そのまま処理されてしまう不具合%% COLOR(red):※最新版では修正済み ***■ 履歴 [#a0fcc6ed] -2007/11/01 ver0.71 --パケット破棄時のバグを修正した気がする --エミュ鯖In時に再起動しなくても良くなるように ---(ECOの初期化が適当なのでそれを補完をする -2007/04/04 ver0.6 --CreatePacketでゲームサーバへのパケットが作成できなかった不具合を修正。 --CreatePacketの第一引数(SOCKET s)で -2を指定するとゲーム鯖、-3でマップ鯖との通信になるように -2007/04/02 ver0.5 --パケット作成に関するソースを書き直し ---任意のタイミングでパケット送信受信可能に ---※注意:最初のOnSendが呼ばれるまでCreatePacketは動作しません(OnConnectで作成しても破棄される ---上記以外の仕様変更はありません --時々パケ送信データが処理されなかった不具合を修正 --削除したパケットに続くデータが処理されなかった不具合を修正 ---ecodeでdummyパケットを付加しなくても良くなったかも ---ecodeでecoが固まるバグが治ったかも ---時々パケ削除が上手く行かなかったのもこれの所為かも -2006/09/28 ver0.4 --バグ修正出来ていなかったのを修正 -2006/09/12 ver0.3 --パケットの一部を処理できないバグ修正のためrecvデータ取得の位置を変更 -2006/02/18 ver0.2 --パケ操作可能に -2006/01/09 ver0.1 --公開 //***■ ソースファイル [#id0b240f] //#ref(Tool/packetMOD/ws2_32.zip) *モジュール解説 [#y8bc0e2a] **パケット参照 [#g96b26c9] ***■packetdump.dll [#packetdump] パケットをpacket.txtの書式に基づいてファイルにダンプするモジュール。~ ~ packet.txtを編集する事により、必要のないデータをダンプしないようにしたり~ データを見やすく表示するのでパケット解析に最適。~ 指定したキーを押すとダンプ開始して指定したキーを押すとダンプを止める改造版もある。~ 作者:MapleStory升スレの誰か~ ~ ***■EcoPlayerWatcher [#q9aed1e5] パケットでプレイヤーデータを監視するツール~ ~ 近くにいる人のHP/MP/SPや憑依してる中の人が誰か表示する~ コマンドラインツールです。ついでに自分の所持品の一覧も表示します。~ 作者:601氏 ~ //すでに使えないらしいので削除 //使えるので戻した。 ***■WateDoll [#q7ff323d] 2PC憑依ワテドル自動操作ツール~ ~ ヒール・キュア・Buff・回復剤等を自動使用してくれる~ 作者:601氏 ~ ***■chat.dll [#chat] 補助スキルの残り時間がわかったり指定アイテムやモンスターが出ると知らせてくれるモジュール~ 詳しくは[[ここ>Tool/chat]] 作者:作者C~ ~ ***■KnightWarTimer.dll [#KnightWarTimer] 演習時の各軍のシンボルの破壊を自動検出して次の沸き時間を計測してくれるツール。~ 同梱の演習タイマー.exeと組み合わせて使用する。~ 作者:不明~ ~ ***■wislog.dll [#y780b661] whisperをログ保存するモジュール。~ 作者:作者C~ ~ //***■exp.dll [#vf382e34] // 相取得経験値や経験値効率を表示するモジュール。~ // 作者:作者C~ //~ ***■tueee.dll [#z4303e22] 俺TUEEEEEEな気分になれるかもしれないモジュール。~ 見かけのダメージを増加させます~ クリティカルもあるよ~ 作者:不明~ ~ **パケット操作 [#h46aa841] ***■packetfilter.dll [#sd676ba0] パケットをpacket.txtの書式に基づいてファイルにフィルタリングするモジュール。~ ~ 最初は難しいかもしれないが、プログラミングが出来なくてもパケットを弄る事が出来る。~ 作者:MapleStory升スレの誰か~ ~ ***■packetdump改造版 [#v37c2a69] 基本は[[#packetdump]]と同じだが、ダンプするかどうかをキーを押す事により操作できる。~ キー押したときにメッセージをログに出すためパケ作成を行っている。~ ~ ***■[[ecode>http://ecore.hp.infoseek.co.jp/cgi-bin/index.cgi]] [#p0224422] サーバーを疑似的に再現します。 **パケット無関係 [#q24c0e9e] ***■memory.dll [#aee44230] config.txtに記述されたデータに基づいて起動時にメモリを弄るモジュール。~ ~ 視点解除や多重起動などの升を、パッチ毎にexeを検索して弄らなくても自動で改造してくれるので便利。~ 作者:RO升スレの誰か?~ ~ ***■ecowin2.dll [#mb8596e3] EcoクライアントのWindowを前回のWindow位置に戻します。~ ~ 作者:601氏~ ~ *モジュール仕様 [#p1b3f6b0] モジュールの仕様書です。 **モジュールの公開関数 [#a456879f] module フォルダ以下に DLL を配置すると、ws2_32.dll がモジュールの 検索を行い、Initialize 関数を見つけるとメモリに組み込みます。 なお、呼び出し関数は以下のとおりです。 ■int WINAPI Initialize(HINSTANCE hModule) モジュールを初めてロードしたときに呼び出されます。 引数のhModuleはこのモジュールを呼び出したDLLのハンドルです。 メモリに組み込む場合、この関数を必ず EXPORT してください。 ■void WINAPI OnConnect(SOCKET s, struct sockaddr_in *name, int namelen) 接続をするときに呼ばれます。接続の直前に呼ばれるため、接続先 情報の変更などが行えます。 ■void WINAPI OnDisconnect(SOCKET s) 接続が切断されたときに呼ばれます。 ■int WINAPI OnSend(SOCKET s, unsigned char *buf, int len, int flags) クライアントが send() 関数を呼んだ直後に呼ばれます。生パケットの 状態で、buf, len が引数として渡されます。返り値は必ずパケット長を 指定してください。パケット長を変えた場合は、その長さを返します。 0を返した場合、そのパケットは送られず破棄されます。 なお、パケット置き換えをした場合、後に読み込まれたモジュールに そのパケットが渡されます。 ■int WINAPI OnRecv(SOCKET s, unsigned char *buf, int len, int flags) クライアントが recv() 関数を呼んだあと、パケットを受信した直後に 呼ばれます。他は全てOnSendと同じ仕様です。 **本体の公開関数 [#o7fb0fff] また、ws2_32.dll にてCreatePacket 関数をエクスポートしており、生パケットの バッファを渡すとパケットデータを追加できます。~ モジュール内からこの関数を使用する場合は、Initialize時に GetProcAddress で関数のアドレスを取得してください。~ ~ %%なお、指定したソケットの送受信の処理が行われる時に追加されるため、作成したパケットがすぐに処理されるとは限りません。%%~ 最新Verではすぐに処理されます。 ■int WINAPI CreatePacket(SOCKET s, unsigned char *buf, int len, char type) 任意のパケットを作成します。 sには通信したいサーバーのSOCKETか -2(ゲームサーバと通信) -3(マップサーバとの通信)を指定してください。 bufにはサイズデータを含めたデータを指定してください。 lenにはサイズデータを含めたサイズを指定してください。 typeには'r'(受信)か's'(送信)のどちらかを指定してください。(大文字不可) 例:看板を出すと同時にエモーションを出す typedef void (*CP)(SOCKET s, byte *buf, int len, char type); CP CreatePacket; void WINAPI Initialize(HMODULE h) { CreatePacket = (CP)GetProcAddress(h, "CreatePacket"); return; } int WINAPI OnSend(SOCKET s, unsigned char *buf, int len, int flags) { int id = buf[2] * 0x100 + buf[3]; switch(id) { case 0x041a : //看板 { //エモーション送信 byte buf[8] = {0x00, 0x06, 0x12, 0x16, 0x00, 0x00, 0x11, 0xa5}; CreatePacket(s, buf, 8, 's'); } break; } return len; }
テキスト整形のルールを表示する