問題タブ [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.
linux - scanmem (Linux) 対 CheatEngine (Win)
scanmem
CheatEngine
(VirtualBoxでCheatEngineを実行していますが)よりもはるかに遅いです。さらに、scanmem は任意の値 (*) をスキャンできませんが、CheatEngine はスキャンできます。どうして?Linux ユーザー向けの scanmem のより良い代替手段はありますか?
lua - 変更時に印刷
私はこれを理解するのに苦労しています。私はLuaが初めてです。
基本的に、チート エンジンでベース ポインターを見つけました。ここで、Lua を使用して、ベース ポインターの値が時間とともにどのように変化するかの履歴を出力したいと思います。
たとえば、スクリプトを開始し、ベース ポインターの値が 55555 の場合、Lua はたとえば notepad.exe に出力します。
55555
66666 に変わると、改行して 66666 を出力するので、次のようになります。
55555
66666
それを達成する方法について何か考えはありますか?
flash - Cheat Engine を使用して Flash プログラムの時間を加速する
入力のセットを持ち、そのシミュレーションを行うフラッシュexeファイルがあります。シミュレーションの実行にはリアルタイムで時間がかかり、1 ラウンドを完了するのに約 1 日かかります。そして、そこから大量のデータを取得する必要があります。
ウィキペディアによると、2001 年にリリースされた Macromedia Director 8.5 で作成されました。
時間を短縮するためにチート エンジンを使用しようとしましたが、変更するアドレスが見つかりません。時間が格納されているデータ型がわからなかったので、値の型に「すべて」を使用し、リストを〜250の値に短縮することができた「増加した値」を見つけようとしましたが、短縮することはできませんもう。シミュレーターで確認できるのは、「hh:mm:ss」の時間形式だけです。また、一時停止、再生、停止、変数のロードなどを行うためのいくつかのボタンがあります。
私がやろうとしていること:
時間変数を見つけて、それをインクリメントするものを確認し、インクリメントを高速化しようとしています。
私がすでに試した(そして失敗した)こと:
より高速なデータを取得するために、高速化されたシステム時間(virtualbox)を使用してVirtualboxで実行しようとしました-フラッシュプログラムは引き続きリアルタイムで実行されました。
シミュレーションを再現しようとしましたが、使用する物理パラメータがわかりません。複雑すぎます。
c# - チート エンジンが実行時に文字列を表示するのを回避するにはどうすればよいですか
私は CheatEngine で遊んでいましたが、クライアント側のアプリケーションですべての文字列を表示できることがわかりました。チート エンジンが実行時に文字列を認識しないようにするにはどうすればよいでしょうか。私は知っているあらゆる種類のアプローチを試しましたが、文字列があるときはいつでも CheatEngine が表示できます。これを防ぎたい、または少なくとも CheatEngine が代わりに暗号化された文字列を視覚化するようにします。
c++ - C++ プログラムでチート エンジンのベース アドレスを使用する
最近、Cheat Engine を使用してプロセスのベース アドレスを見つける方法を学びました。Windows XP でソリティアを使用して実行したところ、スコアのベース アドレス ( のようなもの000AABBC
) が見つかり、そのアドレスは変更されませんでした。
そこで、使用する C++ プログラムを作成しWriteProcessMemory();
(そのアドレスを渡しただけです)、毎回動作していました。今私はWindows 7でそれをやっています.ベースアドレスを見つけましたが、それはポインタであり、それが指しているアドレスは毎回変わります. ポインターアドレスを確認すると、 と表示されます"solitaire.exe"+000BAFD8
。では、以前に行ったようにコードでどのように使用すればよいでしょうか?
c++ - コード生成によるチート防止
このアンチチート手法は、プライベート サーバー (公開されていない実行可能ファイル) を使用するマルチプレイヤー ゲームで機能しますか?
クライアントがゲームを開始すると、毎日自動更新されます (ランチャーを使用)。サーバーも自分自身を更新します。実際のパッチがない限り、更新はゲームオブジェクトのメモリ レイアウト、ネットコード、およびシェーダーの変更のみで構成されます。これは、(C++) クラスを自動生成およびランダム化する自動システムを使用して行われます。おそらく、偽のオブジェクトを階層に追加して、オブジェクトの識別を難しくすることもできます。
このようにして、クラッカーよりも速くゲームを更新し、リバース エンジニアリング、更新、および新しいチートの公開/更新を行うことを望んでいます。
これは機能するのでしょうか、それともハッカーはこのメカニズムを回避できるのでしょうか? 彼らはこの作業を毎日行うでしょうか、それともある時点で自動化できるでしょうか? このシステムを改善するにはどうすればよいですか?
実行可能ファイルの関数呼び出しをたどり、そのコードからポインターオフセットを抽出することで、レイアウトを多かれ少なかれ簡単に抽出できるため、メモリレイアウトのランダム化は長期的には役に立たないようです。したがって、これを効率的に防ぐには、呼び出しの構造とコード自体もランダム化する必要があります。
それを行う良い方法はありますか?それは自動クラッキングに対してまったく機能していますか?
c# - Why are process memory viewers reading byte arrays to strings?
I have 2 c# applications which communicate with each other through netPipe WCF. One application is sending to the other application an array of bytes. If I check the receiving application's memory map using a process memory viewer (like CheatEngine), I can read the received byte array as a string. Why is this happening?