問題タブ [cheat-engine]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - サイズ検証なしで WriteProcessMemory を使用して C++ のメモリに書き込むにはどうすればよいですか?
私はこのコードでプロセスのメモリに書き込もうとしています(チートコードを作成するため):
たとえば、jnz を jz で上書きすると、両方とも同じサイズであるため、正常に動作します。しかし、たとえば pop を jmp で上書きしようとすると、これらのコマンドのサイズが異なるため、エラーが発生します。
ここで、WriteProcessMemory が検証を実行して、指定されたアドレスで使用可能なサイズを確認することを読みました。
私がやりたいことは、サイズチェックなしでメモリアドレスに書き込むことです。そのため、プログラムはコードに必要なバイト数を単純に上書きします。
Cheat Engine を使用すると、必要なバイトを上書きすることができたので、これを行うことができました。
だから私の質問は、チートエンジンと同じようにC ++で行う方法ですか?
c++ - メモリ内の double 変数を表示する
プログラムがデータをメモリに保存する方法について勉強しています。そこで、グローバル double 変数を含む単純なプログラムを作成しました。
メモリを読み取るプログラム (私の場合は CheatEngine) からメモリ内のこの double 変数を検索したい場合、不明な点が表示されます。
CheatEngine はメモリ内で 512 を検索します。
それを16進数に変換すると、次のように表示されます:
そして、メモリ内のこの変数の場所を参照すると、次のようになります。
512 を 10 進数から 16 進数に変換すると 200 になりますが、2 番目の画像には 200 に似たものはありません。
2 番目の図の 4080000000000000 は何ですか? 512 とどのように等しいのでしょうか?
c# - ゲーム トレーナーのチート プログラムで CTRL+F1 などのホットキー マルチプライヤーを使用する方法は?
私が今行っていることについて、知識が豊富であると見なされる寸前ではないので、助けていただければ幸いです...
私は現在、C# Steam ゲーム トレーナーに取り組んでいます。ここでできるようにしたいのは、現在のホットキー設定を、ユーザーがホットキーの複数のボタンの組み合わせを押すことができるものに置き換えることです。アクティブ化のための単一のキーに限定されるのではなく、アクティブ化します。
トレーナーのドロップダウン ボックスに数字を入力しようとすると問題が発生しますが、数字キーを押しても入力されません。これは、このホットキー設定により、トレーナー内の特定の機能のみに制限されているためです。 . おそらく、現在のホットキー コードでは、トレーナーで指定されたプロセス以外で動作するように割り当てられたボタンを許可しない方法に関係していると思います(?)
可能であれば、プロセスのみに割り当てられたボタンの使用を制限しない代替ホットキー システムを実装するにはどうすればよいでしょうか (つまり、プロセス以外では 1 または 2 を押すことはできません)。オンのときはトレーナー)、CTRL + F1、ALT + 1、SHIFT + F1など、1キーではなく2キーの組み合わせを押すことで機能するマルチプライヤーにするにはどうすればよいですか?私が取り組んでいるトレーナーのコードは次のとおりです。
ありがとう!
python - MODULEENTRY32でプロセスのベースアドレスを取得するには?
この例で何かをしようとしています: Python - How to get the start/base address of a process? . チートエンジンが提供するポインターは、プロセス自体のベースアドレスを参照しているという点で、そのトピックの人と同じ問題を抱えています。
私が見回したところ、ctypesとMODULEENTRY32を使用してプロセスのスナップショットを保存し、modBaseAddrを分析するのが最善の解決策のようです。
これが私の現在のコードです
現在、メモリに関する私の理解は最大ではありませんが、プログラムの実行中はベースアドレスを静的にする必要があると思います。このコードを実行すると、返される ModBaseAddr は実行するたびに変化します。私が抱えているもう 1 つの奇妙な問題は、その print ProcId ステートメントがないと、プログラムを実行すると 41 行目から ERROR_ACCESS_DENIED (エラー 5) が返されることです (これは、コンピューターで管理者権限を持っていると想定する CreateToolhelp32Snapshot 関数と関係があります)。ただし、print ステートメントを使用すると、プログラムは実行され、毎回異なる ModBaseAddr が返されます。GetBaseAddr 関数に手動で ProcessId をフィードすると、print ステートメントがなくても機能しますが、毎回ランダムなアドレスが返されます。誰かが私に助けを提供したり、正しい方向に私を向けたりすることができれば、私は'
c++ - プロセスで使用される .DLL の (物理) ベースアドレスを取得するにはどうすればよいですか?
最近、新しい c++ win32 コンソール プロジェクトを開始しました。基本的に、メモリ内の特定のアドレスの値を書き換えます。
ポイントは、オフセット付きのポインターマップを使用して、使用するアドレスを再計算することです。 これは、 Cheat Engine のポインター マップのイメージです。
先ほども言いましたが、アドレスを入力するだけなら手動で値(この場合は1147)を書き換えてなんとかなったのですが、自動にしたい!あなたが私の問題を理解してくれることを願っています
ごきげんよう。