支援技術をリバース----- FPSゲームの無反動矢継ぎ早

在FPS游戏中,射击函数是调用非常频繁的,如果要对每一颗子弹的射击情况进行服务器验证的话,对服务器的压力是非常大的。尤其

これは、遅いコンピュータの初期の年のため、この圧力はさらに耐え難いで、CS LANゲームです。だから、撮影機能に関する重要な情報の多くは、ローカルに確認するために行われています。以下

私たちは、無制限の弾丸、無反動、矢継ぎ早3つの機能を実現するためにゲームコードを改ざん。

私たちは、AWP CS室で作成され、プレイヤーはマップ上のスナイパーライフルを拾うことができ、我々はこのマップで矢継ぎ早AK-フリーのバックシートを実現する必要があります。
まず、AKのカートリッジの数がCEでスキャン、結果はほぼ200(図)を得ることができます

ここに画像を挿入説明
これらの修飾の各カートリッジの数に見られる結果は、(図)のアドレスに変更することができる
ここに画像を挿入説明
ODでゲームをロードし、アドレスのハードウェアブレークダウンライト、場合シューティングゲームをオフ再び(図)

ここに画像を挿入説明
私たちは弾丸の数がEAX、EAX由来とマイナス1から12月のここをコードを毎回言うことですEAX、EAXの上に来ていることがわかります。私たちは、12月にこれを入れます

NOPあなたはそれをINC変更した場合、それはより多くのあなたがより多くの弾丸を使用して作ることができますが、弾丸がより重要な値よりもゼロになりますとき、新しい増加し、弾丸の同じ数を作ることができます。

私たちは、撮影機能(図)を見て外層に戻ります
ここに画像を挿入説明

この関数は、3つのパラメータを取りますが、唯一のAKの火の下で壊れる、各ガンシューティング機能が独立していることを示しています。三つのパラメータの分析は、2つのパラメータが目の前に描画することができます

浮動小数点、および3番目の引数は0です。ここでは、我々は最初の最初の2つのパラメータ記録した値を見ては、0.009624999と0.09549999ました。

ここでは、(図示のように)同じように狙撃ライフル射撃機能を取得します

ここに画像を挿入説明
二つのパラメータ0.001及び1.45を描画する前に、3番目のパラメータは0です。我々は2つの銃を比較した後、我々は、何であるか判断できないことを最初の引数が二番目の引数で見つけることができますこれらの2つの値ので、おそらく、火災の割合で銃ショット間隔、されるべきであり、現実には、二つの銃が一致していることですA。これを検証するために、我々は0.001(図)(図)に2つ目のパラメータをAKます

ここに画像を挿入説明
ここに画像を挿入説明
これは、我々がシュート撮影速度がはるかに高速になっていた見ることができるものであるが、銃ジッタがより強力になってきています。だから、撮影速度と弾数を解決した後、私たちの最後の作業では、Windowsの揺れを取り除くことです。

コードは、私たちはAK撮影機能を求めるディザの位置を確認するために、我々は、この機能ウィンドウが揺れる単一の呼び出し、関数内のコードで揺れを見つけました。

達成するためのコードと、ジッタウィンドウ場合は、実際には、撮影中の人の方向の変化、および微調整オリエンテーション値は、ジッタの効果を達成することができます。そして顔にこの値
フロートには格納されているので、我々は、内部浮動小数点関数で書かれたコードを解析しています。

機能ヘッドオフ、一つずつダウンするF8キーを押して、関数の引数には、いくつかの1D901574であり、浮動小数点数の割り当てで、私たちは、これらの値は、観察下にあることがわかった比較的大きなようで、Aとしては適していません向き(図)

ここに画像を挿入説明
(示すように)0.0099で分析をダウン続け、我々は1D901697書き込みコードで浮動小数点を見ることができますが、間隔を撮影した後、ここに書かれていることを観察し、私たちはそう
ここに画像を挿入説明
見下すし続け、我々はすぐに機能が終わったことがわかった、と一つのサブ機能解析は、終了前に(図)を行いませんでした
ここに画像を挿入説明

関数のパラメータは、ポイントを浮遊している、我々は、ジッタ機能は、ウィンドウの関数であると思われます。2つの方法が第一精密コードジッタを見つけるために内部関数を解析し続けることで、あり、第二は、NOPオフの直接の関数である、同じコードを介して振らないであろう。私たちは、もちろん、第2のシンプルかつ原油を選びましたが、また、NOP機能の前にスタックフラットの状況を観察します。内部機能は、図1CにRETNする一方7関数関数の合計が、我々がオフ(図)をNOPを7つのパラメータとCALLについて話しているので、バランスをとることを起こります

ここに画像を挿入説明
その後、我々は、我々は成功を修正することを示す、非常に安定した銃を見つけ、再び撃ちます。しかし、我々は動いたりジャンプしたとき、下り坂、どのような状況反動急速な火の中に文字を作るために、コードをさまざまな状況での撮影が異なっていることを示し、これらの変更は効果がないことがわかった、私たちは、そして、次のコード(図)(図)を変更

ここに画像を挿入説明
ここに画像を挿入説明
その後、我々はAK47の修正を完了し、あなたは同じように他の無反動銃速射を見つけることを試みること。

リリース7件のオリジナルの記事 ウォンの賞賛0 ビュー84

おすすめ

転載: blog.csdn.net/qq_41697345/article/details/104796557