ゲヌムShadow Worldsのミニ研究、改善、ボット

黄色の芋出しMMORPGを調べ、チヌト機胜を远加し、わかりにくいボットを蚘述したす。

匕き付ける絵





このゲヌムずは䜕ですか



私は10幎前にShadow Worldsに぀たずいたが、それは私を完党に捕らえた。 ひどいモデム接続で友達ず遊んだり、ネズミやゟンビをびしょぬれにしたり、オヌクから逃げ出したり、チェストを開けたり、ボスの䞊で勝利したりしお歓喜し、「タフなゲヌム」ず叫びたした。



圌女の䜕が特別なのか説明するのは難しい。 そのずきでさえ、それはかなり原始的なグラフィックスを持ち、ほずんど倉化がありたせんでしたが、䜕かに惹かれたした。 それはアヒルの症候矀にあるかもしれない。



それ以来、たくさんの氎が流れたしたが、時々ゲヌムクラむアントをダりンロヌドし、新しいアカりントを䜜成しお疲れるたでプレむしたした。その埌、ネゞからゲヌムの痕跡をすべお削陀したした。 䜕幎も倉わっおいないこずを確信するたびに、同じ堎所、同じモンスタヌ、グロヌバルチャットで同じ宣誓、新しいこずは䜕もありたせんが、バランスは䞊䞋したす。



1か月前、叀いメヌルボックスに倧量のスパムをすくい、SWチヌムからの手玙を芋぀けたした。 最近、新しいカヌド、アむテム、その他の蚭備を備えた新しいサヌバヌが発売されたず述べたした。 次回は懐かしさに突入するようになったトリガヌが私の脳内でオフになった。

登録し、クラむアントをダりンロヌドしお、ゲヌムに参加したした。



すべおの新しいプレヌダヌが最初に目にするもの。




ダンゞョンでネズミを殺し、墓地でゟンビを殺し、お金を集め、持網を買うこずができたす。



再び若く感じ、十分なプレむをした、日曜日の倕方近く、私は奜奇心を抱いおいたした。ゲヌムはどのようにサヌバヌず通信するのですか 実際、むンタヌフェヌスの原始性以䞋で説明したすず長幎にわたる進歩の欠劂から刀断するず、䜿甚されるプロトコルの単玔さを期埅できたす。 Wiresharkを起動し、ログのおlogsをバむトから芋たしたが、意味のあるものは䜕もありたせんでした。 さお、内郚から芋おいきたしょう。



IDA、DeDe、OllyDBGのゲヌムのメむンehe-shnikであるMUDClient.exeを開きたす。 IDAでは、Ollyではクヌルに、DeDeではデバッガヌを芋぀けない方がいいので、ゲヌムはBorland C ++ Builderで曞かれおいるためです。

すべおがバタンず行く、元はパックされおおらず、トレッドによっお䞊から保護されおいたせん。



DeDeでは、奇劙なプロシヌゞャ名が衚瀺されたす。これにより、倚くの有甚な情報を迅速に取埗できる保護なしずいう自信が埗られたす。



Ollyには小さな問題がありたす。事実は、起動時にゲヌムが毎回曎新のチェックを開始し、ダりンロヌドしお再起動するこずです。





したがっお、デバッガでMUDClient.exeを実行するず、すぐに終了し、代わりにrun.exeが起動し、管理者特暩を芁求するこずもあり、管理者パスワヌドを入力する必芁がありたす。 わかった。



OllyDbg run.exeを開き、CreateProcessWにブレヌクポむントを蚭定したす。 これを取埗したす。



マゞックパラメヌタヌはE8DA81A3FFE9B1です。 䜕らかのチェックサムなのか、単なる秘密なのかはわかりたせんが、batファむルを䜜成しお䜜成したす

start MUDClient.exe E8DA81A3FFE9B1
      
      





ゲヌムが開始され、管理者パスワヌドの入力は䞍芁で、曎新は詊行されたせん。 勝利



これで、Ollyでコマンドラむン匕数E8DA81A3FFE9B1を指定できるようになり、ゲヌムは曎新の確認が䞍芁であるず刀断し、デバッグを安党に進めるこずができたす。 そしお、単にプレむしたいずきは、このバットファむルを実行する方が䟿利です。 重芁な曎新を芋逃すずいう事実を心配する䟡倀はありたせん。すべお同じで、新しい実行可胜ファむルはありたせん。ゲヌムは週に1回曎新されたすこのサヌバヌの機胜が、曎新にはゲヌムの堎所の新しいファむルのみが含たれたす。



どうする そしお、プレむダヌを狩る人、぀たりゲヌム内でゲヌムマスタヌ GM ず呌ばれる管理者を狩りたしょう。 圌らの仕事は、ルヌルの違反者、特にAFK +マクロを远跡するこずです。぀たり、プレむダヌが鉱石を掘ったり、魚を採ったり、仕事に出かけたりする簡単なプログラムを起動したずきです。 これは芏則で犁止されおいたす。



私自身は正盎にこのルヌルに違反したこずはありたせん。これを芋たら、そのようなプレむダヌにゟンビを連れお行き、死䜓を掃陀したした。 これは楜しいです。 なぜGMを捕たえる必芁があるのですか そしお、あなたが職堎にいる堎合、チェックは芋逃しがちであり、ゲヌムは2番目のモニタヌにあり、別のりィンドりで誀っおブロックしたしたが、プレむダヌは䞀般的なチャットで積極的にお互いをトロヌルしおいたす。 そしお、時々ゲヌムに気を取られおしたうず、うたくいきたせん。 したがっお、アラヌムを䜜成する必芁がありたす圌らが私たちをチェックしようずするずすぐに、䜕らかの皮類の信号を送信したす。たずえば、ゲヌムりィンドりを開いお点滅させ、メロディを再生し、SMSを送信したす。



怜蚌はどのように行われたすか 管理者はあなたにテレポヌトしたすが、圌は普通のれロレベルプレむダヌのように芋えたすが、圌のギルドだけがゲヌムマスタヌを持ち、「ここに」たたは「afkをチェック」ずいう簡単な質問をしたす。 数分以内に回答がなく、キャラクタヌがスキルを䞊げ続ける堎合、圌はキヌボヌドではなく、犁止に行きたす。



デバッガヌに 私たちはImthebotのキャラクタヌでゲヌムに参加し、生きおいる魂を長い間探しおいたす-オンラむンゲヌムのこの特定の瞬間には、わずか19人数千人ではなく、数癟䞇人ではないがいたす。 その結果、銀行に出くわしたす。



銀行ず圌が特別であるずは思わない




バンクが゚スケヌプするたでデバッガヌをすばやく取埗し、プロセスメモリから行「Bank」を怜玢したす。 そしお芋぀けたす。





名前の暪にはただ面癜いtsiferkiがあり、少し高いずころに同じtsiferokに囲たれたニックネヌムがありたす。 士気が高たっおおり、奜奇心ず掘りたいずいう欲求が高たっおいたす。



しかし、ここに悔やみがありたすこのデヌタブロックの堎所にすぐにゎミが衚瀺され、「Bank」ずいう行が他の倚くのアドレスですでに怜出されおいたす。 ぀たり、䟿利な静的アドレスは芋぀かりたせんでしたが、䞀郚の手順の重芁な産物であるファントムだけが芋぀かりたした。 そこで、このデヌタが圢成される゜ヌスを探したす。



WSOCK32.dllモゞュヌルのrecv関数の内蚳を远加したした。 たずえば、次のような倚くの操䜜が発生したす。



珟圚のずころ、recvを埋めるバッファには、Wiresharkのロギングの結果のように、意味のないものがありたす。 䞊蚘の呌び出しスタックを䞊に移動し、メモリ内の呌び出しの1぀を凊理した結果、人間が読み取れる行が圢成されるこずを確認したす





申し蚳ありたせんが、銀行は仕事を蟞めたした




トレヌスを続けるず、システムの䞭栞になりたす。 実際、recv呌び出しはスレッド内で行われ、そのタスクはメモリ内に行を圢成するこずです。その埌、ゲヌムのメむンスレッドがそれを取埗しお凊理したす。 生成された行にハヌドりェアブレヌクポむントを配眮し、メむンスレッドハンドラヌで終了するこずができたす。



しばらくの間、仕事で座っお、OllyDbgを䜿甚しお着信メッセヌゞをファむルに蚘録するこずで楜しかった。 これは、条件付きブレヌクポむントを蚭定するこずで実行されたすShift + F4





その結果、巚倧なデヌタラップを圢成したした。

Zloyプレむダヌが通り過ぎるずきのフットラップの䟋
0042A8CC ID 00000418の新しいスレッドが䜜成されたした

0044A435 COND0448P222Imthebot10144613310001000000000 :; G0000000

スレッド00000418が終了し、終了コヌド4BDFF7C79560572.

0042A8CC ID 000007F0の新しいスレッドが䜜成されたした

0044A435 COND0448P212Imthebot10144713310001000000000 :; G0000000

スレッド000007F0が終了し、終了コヌド4BDFF7C79560572

0042A8CC ID 00000288の新しいスレッドが䜜成されたした

0044A435 COND0493P322Imthebot10144813410001000000000 :; P610 Zloy 100956138100010000 00000 :; G0000000000

スレッド00000288が終了し、終了コヌド4BDFF7C79560572.

0042A8CC ID 000009B0の新しいスレッドが䜜成されたした

0044A435 COND???

スレッド000009B0が終了、終了コヌド4FFFF7C83885948

0042A8CC ID 000008E0の新しいスレッドが䜜成されたした

0044A435 COND0493P222Imthebot10145013410001000000000 :; P620 Zloy 100955138100010000 00000 :; G0000000000

スレッド000008E0は終了し、終了コヌド4FFFF7C83885948

0042A8CC ID 000007A0の新しいスレッドが䜜成されたした

0044A435 CONDOK



0044A435 COND0493P202Imthebot10145013410001000000000 :; P710 Zloy 100954137100010000 00000 :; G0000000000

スレッド000007A0が終了、終了コヌド4FFFF7C83885948

0042A8CC ID 00000C3Cの新しいスレッドが䜜成されたした

0044A435 COND???

スレッド00000C3Cが終了し、終了コヌド51FFF7C85983100。

0044A435 CONDOK







そしお突然、GMナヌザヌからのメッセヌゞが「GM-GM-AFKのチェック// GM-AFCチェック」ずいうテキストを含む個人チャットで私に届きたす。 同時に、私の近くには誰もいたせんでした。 私はすでに驚きに飛び぀きたした。 神秘的なGMに挚拶した埌、フォヌラムに登っお、GMチェックの改革に぀いお語った最新のトピックを芋぀けたした。 簡単に説明するず、GMは飛行したせんが、特別な呪文を導入したす。その結果、圌はキャラクタヌを芋るようになりたすが、圌の前に誰がいるかはわかりたせん-ニックネヌム、レベル、倖芳さえも決定できたせん。 実行するアクションず近くの敵匿名性を高めるためにマりスに眮き換えられたすのみが衚瀺されたす。 このようにしお、䞍正なゲヌムマスタヌの問題は解決されたした。



それは远加の課題でした。隣のプレむダヌを远跡する必芁があるだけでなく、個人的なチャットも必芁でした。 私に飛んだGMからの質問がログに蚘録されたした。ここにありたす

0044A435 COND: 48:457:01GM-GM - check for AFK // - ;I41:46:35;P002:Imthebot:1001:53:35:1000:1000:0:0:0:0:0:0:;G00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000







パッチを䜜成したす。 圌に䜕が必芁ですか サヌバヌから到着した文字列を倖郚アプリケヌションに転送する必芁がありたす。これにより、それをどう凊理するかがわかりたす。 これを行うには、りィンドりに送信メッセヌゞWM_COPYDATAを䜿甚したす。



クむックグヌグルは次のコヌドを提䟛したした



 var aCopyData: TCopyDataStruct; hTargetWnd: HWND; begin with aCopyData do begin dwData := 0; cbData := StrLen(PChar(Edit1.Text)) + 1; lpData := PChar(Edit1.Text) end; // Search window by the window title // Fenster anhand des Titelzeilentext suchen hTargetWnd := FindWindowEx(0, 0, nil, PChar('WM_COPYDATA-Receiver')); if hTargetWnd <> 0 then SendMessage(hTargetWnd, WM_COPYDATA, Longint(Handle), Longint(@aCopyData)) else ShowMessage('No Recipient found!'); end;
      
      







MUDClient.exeむンポヌトにはFindWindowEx関数はありたせんが、FindWindowAがあるため、これを䜿甚したす。



パッチゞャンプは次の堎所にありたす。



ここに圢成された行があり、3぀のNOPが恩恵を受けたす




手順の最埌の3぀のコマンドの䞊に「JMP 00515080」を曞き留めたす

2぀のPOPコマンドを食べた埌、それらを埩元する必芁があるこずに泚意しおください。



れロで満たされたメモリの倧きなブロックに配眮したパッチリレヌは次のようになりたす。





受信機のコヌドはさらにシンプルです



 procedure WMCopyData(var Msg: TWMCopyData); message WM_COPYDATA; ------ procedure TForm1.WMCopyData(var Msg: TWMCopyData); begin try StrLCopy(sText, Msg.CopyDataStruct.lpData, Msg.CopyDataStruct.cbData); DoProcessNewLine(sText); //      except end; end;
      
      







パッチではなく、ロヌダヌ
実際、exeファむルは倉曎したせん。 代わりに、私のアプリケヌションはMUDClient.exeを起動し、WriteProcessMemoryコマンドを䜿甚しおメモリ内のコヌドを倉曎したす。 これにより、「ボット」を2぀ではなく1぀のexeの圢匏で配垃でき、ラむセンス契玄の条項Grammar Nazi、戊闘甚の違反も回避できたす。

13.叀いクラむアントを介しおゲヌムに入るこず、およびゲヌムのexeファむルの倉曎。






ここで、どのような皮類のラむンが埗られるのか、その䞭で䜕が䟡倀があるのか​​を䌝える必芁がありたす。 たずえば、自分やMobを含む画面䞊のキャラクタヌに関する情報





䞊蚘は、GMキャラクタヌからプラむベヌトのメッセヌゞがあった行の䞀郚でした。



この情報は、私たちが芋おいるキャラクタヌず、私たちに個人的に曞き蟌む䞍可芖のGMの䞡方を远跡するのに十分です。 スクリヌンショットは、画面にナニットを衚瀺する「ボット」りィンドりの1぀を瀺しおいたす。





ルヌル違反の兞型的な䟋。 AFKマりスシヌルドを振っお、私が圌らの健康の1぀を台無しにしたこずすら気付かなかった


写真に続く
















本圓に楜しい





サヌバヌからのデヌタの受信を調べたので、少なくずも片方の目でクラむアントが送信しおいるこずを確認する必芁がありたす。 読者にリストの負担をかけたせん。recvの堎合ず同様に、送信時にブレヌクポむントを蚭定し、コヌルスタックを調べお、文字列がただ゚ンコヌドされおいない堎所を芋぀けたこずを簡単に説明したす。 コマンドの䟋



VR-継続的に送信されたす。これにより、クラむアントは自分が生きおおり、状態を曎新したいず蚀いたす。

QR-ゲヌムからのキャラクタヌ退出

UI40-むンベントリの4぀のセルを䜿甚したす。 たずえば、ボトルを飲む、魚を食べる、巻物を読む

MB01240-圚庫アむテムを12セルから4に移動したす

ACHello0000-ロヌカルチャットに挚拶

PC * Vasya * Hello-「Hello」ずプラむベヌトチャットでプレむダヌVasyaに曞き蟌みたす

SP3-座るキャラクタヌが座るず、圌はすぐに健康ず魔法の゚ネルギヌを補充したす

ACesani gre olam1003-ID1003のキャラクタヌのファむアボヌルスペルを読む



などなど。



各コマンドは0x13および0x10で終了する必芁がありたす





䜿い方は もちろん、停のチヌム。 より䟿利なチャットを曞いお、キャラクタヌに魚を自動的に食べさせ、自動的に座るように教えるこずができたす。 もちろん、キヌストロヌクずマりスクリックを゚ミュレヌトするこずで倚くのこずができたす。 倚くの、しかしすべおではありたせん。



2番目のパッチも非垞に簡単です。 䞻なアむデアゲヌムが暗号化しおサヌバヌにデヌタを転送しようずしおいる堎所に、パッチコヌドを挿入したす。 圌はボットのりィンドりを怜玢し、芋぀かった堎合はコマンドを読み取り、その埌ゲヌムプロセスのメモリ内の行を曞き換えたす。



ここでは、事件に぀いお話すこずができたす
新しいパッチをテストしおいるずきに、友人が「聞いお、あちこちいじっおいたせんか」 私は圌の質問を理解しおいたせんでしたが、グロヌバルチャットに泚目したした。そこでは、サヌバヌの再起動によっおプレむダヌが倧いに怒りたした。 同時に、圌らはゲヌムから远い出され、ゲヌムの状態が少しロヌルバックされ、ボスを含むすべおのMobが再び珟れたした。 最初はそれを信じおいたせんでしたが、いく぀かのチェックを行い、その結果、サヌバヌが再起動したした。 チャットで完党なヒステリヌが始たりたしたが、圌らぱルフのすべおを非難しニックネヌムが混同されおいない堎合、䞍名誉を止めるように圌に頌みたした。 ゚ルフがスケヌプゎヌトになった理由はわからない。圌は地元のハッカヌの栄光を手に入れたのか、あるいは圌が同時にゲヌムを管理し、公匏の地䜍を䜿うのを助けおいるので、悪い名前を持っおいるからだ。 知りたせん



䞀般に、プログラムに「サヌバヌのドロップ」ボタンを䜜成したした。これは埌で䜕床かテストに成功したしたサヌバヌのドロップはそれほど簡単ではないず思っおいたため友人ず私は「誰かがこのサヌバヌを卵のために持っおいる」 。 数時間埌、サヌバヌ䞊で゚ラヌが修正されたようです。サヌバヌに゚ラヌが修正されたようです。これは良いこずです。メむン管理者ぞの個人的な手玙に曞いおありたす。しかし、「送信」をクリックする前に、最埌にもう䞀床確認するこずにしたした...サヌバヌが壊れおいないこずがわかりたした。



はい、ポむントは、コマンドを最終シヌケンス0x13 0x10で終了しなかったこずです。





クヌルから。 ゲヌムには、近くのキャラクタヌを「芋る」機胜がありたす。そのため、ALTを抌したたたクリックする必芁がありたす。





どのようなチヌムが同時に送られるのか興味がありたす。 自分自身をクリックするず、ログに以䞋が衚瀺されたす。

 00515160 COND: ID1006
      
      





1006を1001に倉曎しおみたしょう。





しかし、このプレむダヌは私たちの隣にいるだけでなく、別の堎所にいるだけでなく、異なる䞖界にいたすレベル21に到達したすべおの人が行きたす。経隓は最初の䞖界ではこれ以䞊進みたせん。

これにより、珟圚オンラむンになっおいるナヌザヌを知るこずができたす。 ただし、オンラむンのプレヌダヌのリストはゲヌムのりェブサむトで入手できるため、やめたしょう。 これはそうですが、管理者は衚瀺されたせん。 たた、管理者を非衚瀺にするには、管理者がオンラむンであっおも、メッセヌゞを送信しようずするず、「メッセヌゞを送信できたせんでした」ずいうメッセヌゞが衚瀺されたす。 そしお、芋぀かった機䌚のおかげで、特定のGMが珟圚機胜しおいるこずを垞に知るこずができたす。 タスクは、ID1000から... ID1100たでの怜玢を行うだけで十分であるずいう事実によっお促進されたす。 誰かがゲヌムを離れおIDをリリヌスするず、次のプレヌダヌが自分でIDを取埗したす。 したがっお、ゲヌムマスタヌのIDを掚枬する必芁はありたせん。 たた、ボヌナスずしお、プレむダヌが私たちから逃げたずしおも、プレむダヌの健康状態を監芖できたす。



たずえば、コマンドを送信したす

 ID1020
      
      





結果

 Osiris:0:Invictus:53:0:705:705:1:124:190:189:0:139:187:131:184:186:0:0:0:
      
      







 ID1021
      
      





結果

 Admin:0::80:0:1880:1880:0:0:136:555:171:138:167:133:155:163:0:0:0:
      
      







かなりおいしい。



圚庫



それから私は本圓に圹に立぀䜕かをしたかった。 このゲヌムは圚庫を扱うのは非垞に䞍快です。 倖出先でバッグを開けお䜿甚するこずはできたせん。䜿甚できる高速セルは3぀だけです。必芁なアむテムが遠くにある堎合は、葉が抜けるのに非垞に長い時間がかかりたす。



同時に、非垞に抑制的なカヌ゜ルに蚀及する䟡倀がありたす。これは、ハヌドりェアカヌ゜ルに結び付けられおいたせんが、ゲヌムによっお独自に描画されたす。぀たり、クむック機噚をひっくり返す小さな矢印でそれらを突くのは拷問であり、オブゞェクトもクリックしたす。



ゲヌムず同じように䜿甚できる別のりィンドりの圢でむンベントリを䜜成するこずにしたした。 結果





たず、ゲヌムがむンベントリの先頭を栌玍するアドレスを芋぀けたした。 その埌、ArtMoneyの助けを借りたした。 未知の倀をふるいにかけ、最初のセルずれロのセルの間にゟンビの手を投げるこずで、私はすぐにこの堎所を思い出したした。



00550AC4以降、アむテムを定矩する4バむトの倀が保存されたす。 確かに、うたくいかず、これらの倀をtga / itemsフォルダヌ内の画像ず単玔に比范したした。 ご芧のずおり、ゟンビの手には151のむンデックスがありたすが、写真のあるフォルダヌでは、手は別の意味を持っおいたす。





151-149の単玔な枛算は、他のオブゞェクトの堎合は完党に異なる可胜性があるため、䞋がらない。



WinHexでITEMS.DATファむルを開きたす。このファむルはすべお同じtga / itemsフォルダヌにありたす。





ご芧のように、暗号化されたもののようには芋えたせんが、䞀芋するずロシア語ず代替蚀語ドむツ語版にはドむツ語がありたすでオブゞェクトを蚘述するだけで䟿利です。 ファむルを少し掘り䞋げお、䜕らかの皮類の構造を芋぀けお、それを非垞にすばやく芋぀けたす。アむテムの各説明の先頭間の距離をバむト単䜍で蚈算するず、毎回0x2E2738バむトになりたす。 ぀たり、N被隓者に関する情報の各ブロックは738 * Nで始たりたす。



しかし、ゟンビの手ず䞀臎する151は䜕ですか 非垞に簡単151 * 738を掛け、この倀0x1B34Eでファむルの先頭から戻り、以䞋を参照しおください。



この情報から手が描かれおいるグラフィックファむルの名前を取埗する方法は 個人的には目で芋たしたが、倀による怜玢も䜿甚できたす。アドレス1B5A4には目的の149149.bmp000.pngがありたす。 結論デヌタブロックの先頭から0x256バむトの埌に、ピクチャを含むPNGファむルの数に等しい2バむトの数がありたす。



圚庫はほずんど準備ができおいたす。 ただし、単玔な衚瀺だけでは十分ではなく、そこからオブゞェクトを䜿甚する必芁がありたす。 前述のように、サヌバヌにUIコマンドX 0Xはセル番号を送信するず、アむテムが䜿甚されたす。 マゞシャンず䞀緒に走り、倖出先でマナのボトルを飲むこずができたす。これは、ゲヌム内の機噚を開くこずなく、健康補絊のボトルを飲む戊士であり、さらに䞍快な「速い」ものです。



釣り方
ゲヌムの平和な職業の1぀は持垫です圌は鍛冶屋ですが、それは問題ではありたせん。 圌は釣りだけでなく、「マゞカ」の魔法の魚にも必芁です。 通垞、釣りは、持網を右クリックしおから池を巊クリックするマクロによっお自動化されたす。 魔術垫はめったに捕たるこずがなく、ほずんどが圹に立たない小さな魚を食べる必芁がありたすこれは治療のスキルを高めたす。 あなたは魚の完党なバックパックを捕たえ、そしお䞍必芁に䞍必芁な魚をクリックしお、魔法を残したす。



しかし、今ではこのような匷力なツヌルがあるため、マゞシャンのキャッチを簡単に自動化できたす。 これを行うには、サむクルでむンベントリを調べ、すべおの悪い魚を食べるようにコマンドを䞎えたす。 その結果、持垫を远跡する必芁はありたせん-圌は自分で貎重な魚を捕たえたす。



ちょっずした技術的な問題UI X 0コマンドをサヌバヌに送信するだけで、圌は実際にそれを食べお、OKクラむアントにさえ行きたすが、クラむアントはこのOKが䜕であるかわかりたせん。䜕も送信せず、それを無芖するからです。 したがっお、クラむアントは、魚/ボトルがただ無傷であるず考え続けたす。 この問題を倧たかに解決したした。UIX0コマンドを送信した埌、WriteProcessMemoryを䜿甚しお察応するセルにれロを曞き蟌む必芁がありたす。 そしお、魚はすぐに消えたす。





むンベントリのより優れた機胜のために、基本的なこずをしたす「私たちの」むンベントリの件名をクリックするず、ゲヌムのクむックむンベントリがこのアむテムにスクロヌルし、ダブルクリックがゲヌムに転送されたす。 たた、基本的に行われたした。ArtMoneyは、クむックむンベントリの䜍眮が栌玍されおいるアドレスを芋぀け、叀き良きWriteProcessMemoryを䜿甚しお、必芁な番号を曞き蟌みたす。 コマンドで送信されたダブルクリック

 PostMessageW(h, WM_LBUTTONDBLCLK,wParam,lParam);
      
      







Shadow Worldsのむンベントリの操䜜はこれたでになく䟿利で、オブゞェクトを投げる速床鉱倫にずっお非垞に䟿利が倧幅に増加したした。レバヌずホむヌルの発明者のように感じたした。



自動フェヌドず犁止



少し退屈な錻氎ずゲヌム内のtwist䜙曲折


私のプログラムを非垞に機胜的にしたので、私はそれから脱線し、ゲヌムに興味を持ちたした。 友人ず鍛冶屋は揺れ始めたした-劎働時間䞭、特に気を散らす必芁はありたせんでした自分で鉱石を掘り、それから時々簡単なオブゞェクトを停造し、プログラムはむンタヌフェヌスずの盞互䜜甚を簡玠化したした。



問題は最初の倖囜人です。 サヌバヌには、ロシア人に察しお攻撃的に振る舞う倖囜人プレむダヌがかなりいたす。 すぐに、友人ず私は、鉱石を掘るだけではうたくいかないこずに気付きたした-戊闘キャラクタヌは時々あなたよりもはるかに高いグルヌプで鉱山に飛び蟌み、虐殺を手配したす。 その結果、汗ず血によっお蓄積された経隓がパむプに飛び蟌み、新しいピックずハンマヌを買うためにお金さえも求められたす。 私たちは倖囜人に腹を立おるのではなく、むしろ敵察的な暎埒ずしお認識され、圌らの間でき火をされ、圌らから逃げるこずができたずきに喜びたした。



2番目の問題は私たちの問題です。 最初は、ロシア人のハむレベルプレむダヌは、アメリカ人だけでなく、サヌバヌで呌ばれおいるように「アメリカ人」ず戊おうずしたため、私たちに觊れたせんでした。 しかしすぐに、倖囜人が支配的な地䜍に就き、「私たち」は匷力なギルドに反察できないこずに気づき、新人の䞭立的な性栌で脱萜し始めたした。 — () , «?» . — « PvP-», . , PvP . , — .



: , . , ,

8. [...] / , .






そのため、危険な堎合の出口自動化を䜜成しおいたす。これに必芁なものはすべおありたす。キャラクタヌが画面に衚瀺されるずすぐに、これに関する通知を受け取りたす。ゲヌムを終了するには、少なくずも2぀の方法がありたす。QRコマンドをサヌバヌに送信するか、「終了」ボタンのマりスクリックを゚ミュレヌトしたす。キャラクタヌが䞀床打たれた堎合、圌は䞀分間ゲヌムに留たらなければならないので、玠早く抌す必芁がありたす。



できたホワむトリストも远加されおおり、信頌できるものを远加できたす。そしお、楜しみが始たりたした。私たちは鉱石を採掘し、邪悪な゚むリアンたたは「私たち」が鉱山に飛び蟌んで剣を振りかけたしたが、ヌボの鍛冶屋の姿はすぐに消えおしたいたした。圌らは埅ち䌏せを配眮したしたが、私たちは忍者のように珟れたり消えたりしたした。



たた、科孊を念頭に眮いお、危険を回避し、GMからの簡単な質問に答えながら、釣りや鉱石を掘る完党自動のImthebotを䜜成するずいう犯眪的思考も思い぀きたした。圌は䜕日/月たで耐えたすか、どのレベルのスキルを発揮できたしたか数日間、私はアむデアを育おたしたが、鍛冶屋をポンプで揚げるこずに察する私の情熱が匷すぎたため、拒吊したした。



そしお、ひどいこずが起こりたした。い぀ものように、私は鉱石を掘っおいたので、管理者が私にテレポヌトしたした。自動出力が機胜し、すぐに「Enter」を抌しお挚拶したした。しかし、遅すぎた



ため、キャラクタヌはキャラクタヌを芋たずきにゲヌムを自動的に終了するプログラムを䜿甚したこずで999日間の犁止を受けたした。



ああ、このトピックに぀いお絶えず考えおいたが、手が届かなかったため、ホワむトリストに管理者を远加しないこずに察しお自分を非難した。管理者ず話をしようずしたしたが、沈黙の壁に遭遇したした。圌は犁止されおいる人々のし぀こさに慣れおきたようです。察話ぞの長い招埅の埌、圌は「あなたは苊情を受け取った、私はチェックし、疑いは確認された」ず付け加えた。おもしろい䞍満私は自分のクヌルな魔術垫/戊士を䜎レベルの裞の職人で殺すこずができないので、それを把握するよう管理者に䟝頌したす。



鍛冶屋の喪倱は、私にずっお「タフなゲヌム」のもう䞀぀の論理的なポむントになり、その埌、ゲヌムは再び蚘憶に移りたす。



善ず悪に぀いおの真実ず掚論



明らかな質問は次のずおりです。ゲヌムは蚘事の埌に苊しみたすか、詐欺垫ずバギヌはあふれたすか いや第䞀に、蚘事には特定のコヌドはほずんどなく、いく぀かのアむデアがありたす。第二に、これらのアむデアはすべお完党に関連しおいるわけではありたせん。぀たり、機胜したすが、䞍噚甚です。たずえば、サヌバヌに送信するコマンドを停造するコヌドは䞍安定です。圌はクラむアントの通垞のリク゚ストをほじるので、しばらくしおクラむアントが病気になり、切断が発生したす。正しく行う方法、私は教えたせん-蚘事はこれから良くなるこずはありたせん。自動終了アルゎリズムを改善しおも誰にも䜕も䞎えられたせん管理者は怜蚌のために別のキャラクタヌを簡単に䜜成でき、管理者は非垞に厳しいため、民䞻䞻矩や無眪の掚定がないため、ポンピングの月はれロになりたす。



All Articles