ゲームのプレイアビリティを向上させ、チート作成の難易度を高めるために、多くのゲームはボスのスキルに非常に高いダメージを与えるように設計されており、タイミング良く回避する効果を得るには、スキルを予測する必要があります。予測方法はいろいろありますが、例えばパケットを受信して判断する方法が最も早いですが、コードの書き方が複雑になり、パケット受信時にHOOKが検出されてアカウントBANやクラッシュにつながることもよくあります。もう一つの方法は、スキル解放時にトラバースする方法で、「天亜明月ナイフ」や「夢想三國志」など、多くのゲームではスキル解放状態を追加し、キャラクター自身のボスも一緒に保存しています。次に、Tianya Mingyue Knife を例として、スキルの予測を分析してみましょう。
まず、BUFF ステートの名前を検索してスキル ステート ライブラリを見つけますが、ゲーム内のほとんどの漢字は UTF-8 でエンコードされていることに注意してください。プロセスは非常に単純なので、分析して式を直接与えることはしません。
[BUFF ベース アドレス]+1144]+64 BUFF 名トラバーサル開始アドレス
[[BUFF ベース アドレス]+1144]+68 BUFF 名は配列メンバーの数を横断します
[[BUFF ベース アドレス]+1144]+5C BUFF 名のオブジェクトの走査数
[[[[BUFF ベース アドレス]+1144]+64]+n*4]+0 BUFFID
[[[[BUFF ベース アドレス]+1144]+64]+n*4]+4 BUFF オブジェクト
[[[[BUFFベースアドレス]+1144]+64]+n*4]+8 BUFFリンクリスト
[[[[[BUFF ベース アドレス]+1144]+54]+n*4]+4]+0 BUFFID
[[[[[[BUFFベースアドレス]+1144]+54]+n*4]+4]+4]+0 BUFF名
このゲームで広く使用されている array-set-linked-list 構造を取得します。
次に、NPCとキャラクターの現在のBUFFとスキルステータスをすべて分析してみましょう。以前の BUFF ライブラリのコードを引き続き分析します。状態名を取得する関数は、スキル ID のパラメーターを渡します。キャラクターの BUFF にアクセスすると、(図のように) スキルを分解して分析します。 . Body 配列の構造に追いついたことが分かりました
、この配列にはキャラクターの現在の BUFF 状態とスキルを放つときの準備動作が格納され、各動作は異なる ID に対応します。上方向に解析を続けると、この配列はキャラクター オブジェクトの下に格納されていることがわかりました (図に示すように)
コード出力を通じて、この配列はモンスターや他のプレイヤーにも適用できることがわかりました。式は次のとおりです
[NPCまたはキャラクターオブジェクト]+304 BUFF配列開始アドレス
[NPCまたはキャラクターオブジェクト]+308 BUFF配列終了アドレス
[[NPC またはキャラクター オブジェクト]+304]+80*n+0 BUFFID スキル予測 ID
この配列にはIDがあり、現在解放されているスキルの射程、対象、方向、形状などの未知のデータが多く、比較検討を重ねて判断する必要がある。分析。
このようにして、スキルの予測効果を実現し、BOSS の異なるスキル名を横断することで異なる回避方法を採用することができます。