チート初心者スレpart3
説明HPはあくまで一例だろ
チートする値のアドレスを、静的アドレスからたどりたいのだろうけど
ゲームによって値の管理は違うからアセンブラ読むしかないと思う
説明HPは
0x0059B74(静的アドレス)→0x00DFA30(動的アドレス、プレーヤークラス?)→+0xF8(体力)
となっているけど
クラスはC++のクラスのこと、機能や値をまとめた物と認識しておけばよい
静的アドレス→ゲーム管理クラス→プレーヤークラス(動的アドレス)→ステータスクラス(動的アドレス)→体力(動的アドレス)
みたいに、何段階もたどる必要がある
これらの違いは、プログラマがその様に作成したとしか言い様がない
ちなみにunityやunrealエンジンを使用しているゲームは、例えばHPのアドレスをベースポインタ(静的アドレス)
からたどるには10段ぐらいはかかる 質問失礼します。
https://www.youtube.com/watch?v=zFUHrg-wdmo
↑こういう事をやりたくて何を学べば出来るようになるか某板で聞いたら
MFC,Win32API,ATL/WTL,Qt....等と帰ってきたのですが結局C++の場合どれをやればいいのか分かりません。
このスレで教えてもらった通りC++はある程度は読めるようになったので次どれをやればいいのか教えてほしいです。
Cは分かりません。 >>188
とりあえずサンプルをまねて自分で作成してみる。
1.チートしたいゲームを選ぶ
2.動画をまねて値を書き換えるプログラムを作る
3.さらにプログラムに機能を追加してみる
動画ではゲームのメモリを書き換えるためにWriteProcessMemory()を
使用しているが、このAPIを知らなければ使えないだろう
こういうのは基本はググる、「メモリ書き換え winapi」みたいな感じで
そうすると色々なサンプルが見つかるので、意味を理解して必要な部分をまねっこする
これがプログラム初心者の基本かとおもう >>189
http:んwisdom.sakura.ne.jpんsystemんwinapiんindex.html
こういうとこでわざわざ全て覚える必要はないですか?
親切にありがとうございます!できそうなとこからやってみます。 武器に重さがないfpsのスピードハックってどうやって解析すればいいですか? 武器のエンティティから構造体見たけど、どれが足の速さの数値か分からん
なんかいい方法あったらください 前進ボタン等押した時の移動距離を算出してるところ調べれば速度に関連するパラメータわかるんじゃないか? >>204
どうやってそこ見つけるのか分からないです
XYZ軸とは関係ない?チートエンジンにデフォで付いてるからスピードハックの方法検索してもそれっぽいのがでない・・ >>205
CEはソースコードが公開されている
スピードハックモジュールのソースもあるので、ソース見ればフックするAPIが
一目瞭然 スピードハックだと自分も敵も速くなるから意味ないのでは? >>206
数値検索じゃ出ないのか
フックとかWIN32API学習しなきゃだめか・・・
ありがとうございました ダッシュ、普通の歩き、スニーク等移動速度が変わるのであればスピードの係数みつかるかも? ウマ娘はパックされてるね
unityのゲームは簡単に解析できるので、それへの対処かな
このパックルーチンを解析してユーザーモードでデバッグできるようにすれば簡単にチートできるはず ニコ生の弾幕ツールを作りたいのですが
参考になる動画とかないでしょうか? >>1
フリーター(子ガチャ外れ枠)「親ガチャ外れた。」 不買婆の荒らし報告確認したら煽りスレたて!文句はお婆さんに言ってねwww >>1
自称不細工(子ガチャ外れ枠)「親ガチャ外れた。美男美女の子供として生まれ、容姿が良ければ人生イージーモードだった。」 >>1
小室圭さんの緊急帰国で警備費は2千万円 仮住まい候補は「赤坂」「青山」の高級マンションに
https:/ /news.yahoo.co.jp/articles/8b1625f22d3636fc6e19c5df8c2384303af1a6ad 脳ミソ腐った鬼畜の住みか 豚社長と指なくしバカマヌケ は職員のことも考えて気持ち悪い笑みが耐えられない判子なんか押すわけないやろ!
こういう結論ありきの押し付け命令するクソバカ変態ストーカーの言いなり豚社長 >>1
実家暮らしニートが親ガチャ失敗言うてるのうける
親ガチャ大当たりやん IDコロコロ どう見てもB型以下の変態ストーカーのふざけぶりとぼけぶりは変わりませんと110番通報するとどうなるか? でも重労働作業場のエアコンは直さず どう見てもB型以下の変態ストーカーのふざけぶりとぼけぶりは変わりませんと110番通報するとどうなるか? >>1
眞子「そこっ…!イイッ」
圭「」ピタッ
眞子「…え?…」
圭「眞子…俺今月金ねンだわ」
眞子「で、でも…これは国のお金で…」
圭「フーン」ヌポポ
眞子「ッ!…いやッ!辞めないで!」
圭「…じゃあ分かるよな?」
眞子「…」フルフルつ50000円
圭「…」グワシャ
圭「愛してるよ…眞子」チュッ
圭「っしゃ!スパート掛けるぞオラッ!」パンパンパンパンパンパン
眞子「アッアッアッアッ….いやああああ!!!!!」
これが現実
★「金ねンだわ」とは
小室圭さんと眞子様の結婚発表した際に、
小室家には400万円ほどの借金があることが判明、メディアに取り上げられることで結婚に待ったがかかった。
この発表を受けたネット民は、借金のある小室圭を「金無しの屑人間」と仮定し
ネタコピペを次々創作していく流れに。
「金ねンだわ」は、そのコピペ内で「金無しの屑人間」と化した小室圭が発言した架空のセリフが元ネタとなっている。 >>1
眞子「そこっ…!イイッ」
圭「」ピタッ
眞子「…え?…」
圭「眞子…俺今月金ねンだわ」
眞子「で、でも…これは国のお金で…」
圭「フーン」ヌポポ
眞子「ッ!…いやッ!辞めないで!」
圭「…じゃあ分かるよな?」
眞子「…」フルフルつ50000円
圭「…」グワシャ
圭「愛してるよ…眞子」チュッ
圭「っしゃ!スパート掛けるぞオラッ!」パンパンパンパンパンパン
眞子「アッアッアッアッ….いやああああ!!!!!」
これが現実
■「金ねンだわ」とは
小室圭さんと眞子様の結婚発表した際に、
小室家には400万円ほどの借金があることが判明、メディアに取り上げられることで結婚に待ったがかかった。
この発表を受けたネット民は、借金のある小室圭を「金無しの屑人間」と仮定し
ネタコピペを次々創作していく流れに。
「金ねンだわ」は、そのコピペ内で「金無しの屑人間」と化した小室圭が発言した架空のセリフが元ネタとなっている。 >>1
眞子「そこっ…!イイッ」
圭「」ピタッ
眞子「…え?…」
圭「眞子…俺今月金ねンだわ」
眞子「で、でも…これは国のお金で…」
圭「フーン」ヌポポ
眞子「ッ!…いやッ!辞めないで!」
圭「…じゃあ分かるよな?」
眞子「…」フルフルつ50000円
圭「…」グワシャ
圭「愛してるよ…眞子」チュッ
圭「っしゃ!スパート掛けるぞオラッ!」パンパンパンパンパンパン
眞子「アッアッアッアッ….いやああああ!!!!!」
これが現実
■「金ねンだわ」とは
小室圭さんと眞子様の結婚発表した際に、
小室家には400万円ほどの借金があることが判明、メディアに取り上げられることで結婚に待ったがかかった。
この発表を受けたネット民は、借金のある小室圭を「金無しの屑人間」と仮定し
ネタコピペを次々創作していく流れに。
「金ねンだわ」は、そのコピペ内で「金無しの屑人間」と化した小室圭が発言した架空のセリフが元ネタとなっている。 >>1
ガキ「無職で皇族にプロポーズした一般人に多額の税金が無駄使いされている?どうでもいいです」 共産党による皇室崩壊計画がこんなところにまで投下されるとはな x86アセンブラが凄い敷居高く感じるんだが皆どうやって覚えた? 言語仕様的にはアセンブラはあらゆるプログラミング言語の中で最も簡単だろ まじか。構文の見た目が直感的じゃなくて全然分からない。頭良いんだな
このままチートエンジンのチュートリアル続けても身につきそうにない
お勧めの入門書ある? 入門書もなにもインテルの命令セット リファレンス見るだけじゃん >>230
https://imgur.com/a/hrc3yTE
弾を撃ったときにこういう処理が出てきたら赤い所だけ着目してればいいのですか?
イメージとして*(string+1)こういうことしてるのかな?アドレスの計算をして何をしてるのかわからない。
全体を通して通してアセンブラ見ると全く意味がわからない。。 >>231
見た所、弾の数の処理っぽいからstringではないだろうよ
pushしてるってことはその後に何か関数呼んでるだろうしfunc(弾の数)って感じだろうな
dec [esi]は--*ptrだから撃った後に弾減らしてるんだろう >>229
直感的ではないがどれも単純な命令だし命令数だって高級言語と比べたら限られてるからな
ちゃんとまともにプログラミング経験があればすぐ分かるよ
逆にプログラミング経験もないのにいきなりアセンブラから入ったら何のためにこの命令を行ってるのか理解出来なくて勉強捗らないだろうな >>233
一年近くCのコンソールの文法並行してやってるけど全然検討もつかなかったw
厳しいかな?詳しく教えてくれてアリガトウ ハンゲームのななパチのバイオ5で子役のアドレス探してるんですがたどり着けません。
押し順ベルと三択回避が知りたいのですが、どのように探せばいいですか? >>236
売ってる
>>237
見つからないでしょ
買うか自分で作るしかない アドレスどうやって探すの?に対して「見つからないから自分で作れ」は草 サドンアタックEVOの弾のアドレスが引っかからないのですが
どうすれば見つかりますか?
撃って-1検索し続けても出ないし16進数8進数に変えてやっても駄目みたいです。 バイト数変えるならまだしも進数変えてもなんの意味もねえぞ >>244
知らなかった。ありがとう
でもバイトのタイプ全て変更してやったけど出なかった
他に方法ないかな 何のツール使ってるか知らんが変動サーチする
Cheat Engineなら
1.Scan TypeをUnknown initial value で First Scan
2.ゲーム内で一発撃つなど弾数変動させて Changed value で Next Scan
3.ゲーム内で弾数変動させず動きまわって Unchanged value で Next Scan
2.3.を繰返し件数が絞れたら適当に書き換えて対象アドレスを特定する
上手くいかない場合はValue Typeのサイズを見直す
アドレス自体が絞り込み中に変動する場合は諦める
念のため先にfloatやdoubleで値直指定での検索も試しておく
弾数アドレスが特定でき、そのままコード化してもおそらく再利用性できない
コード化したいなら例えば、弾数アドレスに書込みブレークポイントを設定し、
ゲーム内で1発撃って弾数の書込み箇所でブレークさせ、直前の処理を確認し
最大値チェックを行っていればそれを利用し最大値に、行っていなければ減算
処理を行わない命令に書き換えるなどしたものをコード化する チートエンジンでメモリサーチする際、一時ファイルとして結果をキャッシュするんじゃなくてメモリで済ませるように設定余地残してもらいたいわ
とっくに64bit化してるんだし今時のPCなら数GBくらい軽くメモリ余ってるんだから まぁ自分で改変すりゃいいんだけど開発言語がPascalとかいう糞言語なのがな >>246
おかげで見つかった。センキュー
書き込んでる命令っぽいのも
でもどれが比較命令でどう変えればいいのか全く分からない……
https://imgur.com/a/HjRYaZn 比較命令は、比較(compare)を意味するCで始まる命令である事が多い
比較の後はたいてい条件付きジャンプ命令である事が多い
比較結果がイエスかノーかでジャンプするかしないかが決まるから
ジャンプ命令も、JumpのJで始まる命令である事が多い じゃcmp命令ないからこれは見当違いの所見てるのか。
>>比較結果がイエスかノーかでジャンプするかしないかが決まるから
こうやって検討付けていくのか。助かる
もうちっと頑張ってみる。ありがとう >>252
247と248が俺なのは認めるけど250は全く知らん奴なんだが 書込みブレークさせたら停止しているアドレスは書込み命令の1つ後になる
なので1つ前の書込み命令をnop命令などで潰すだけでも効果があるかもしれない
ただし、これが有効なのは弾を撃つという1処理に対して個別に書込み命令が用意されている場合
もし、弾の初期値設定や弾が増えた場合など共通して同じ箇所で書込みを行っている場合は不具合が生じる
頻繁にバージョンアップする場合はAOBインジェクションを使用しバイトパターンを用いてアドレスの差分を自動修正すると良い
UnityでJitコンパイラを利用している場合は、Mono Featuresを有効にしてクラス、メソッド名を用いたアドレスを特定する
コード化する場合はクラス、メソッドを事前にコンパイルする命令を組み込み、メモリに展開させておくこと
上の詳しい内容を字数制限有りの文字だけの5chで書くのは難しい
ネット上にはそういった情報がいくらでも有るので自分が解りやすいサイトを探せば良い スパロボXでCheat Engineを用い機体やパイロットを全く別のものにしようとしているのですが上手くいきません
PS4版でSWを使った時のようにしてもウンともスンとも言わず
サーチして出た数値を弄っても戦闘アニメ以外での顔アイコンだけは変わるだけだったり
パっと見はシーブック・アノーからシーブック・アノーへ乗せ換えられたようにはなりますが実際の乗せ換え結果は正常なままでした
https://i.imgur.com/hSYnRwj.jpg 古いPS2のゲームなんだけど敵モンスターの外観のアドレス見つけるにはどうすればいい?
未実装のモンスターのデータが入ってるみたいでそれを見てみたい それなら簡単
アドレスをずらしてモンスターを変えていく
未使用モンスターに変更したら見れる WindowsゲームプログラミングっていうAPIの参考書買ってきたんだが
早くもダルい…………。チート中上級者ってこういうの全部覚えてるの? https://ideone.com/ZOZVxe
WriteProcessMemoryの練習してるんだけどやり方間違えてるのかゲームに反映されない
チートエンジンで見つけたポインタ、アドレス自体は合ってるみたいなのだけど
どこが駄目か教えて欲しいです 何もわからん初心者だがベースアドレスとか設定してないせいじゃないの if (ProcessID == NULL)じゃなくてif (handle == NULL)でOpenProcessが成功したかを判定すべき
そしてWriteProcessMemoryが成功したか否か自体も確認してみ
cout << WriteProcessMemory(handle, (LPVOID)helth, &write_Helth, sizeof(write_Helth), NULL) ? "WPM成功!" : "WPM失敗..." << endl; あとSleep(3000); exit(0);
なんてせずにmain関数の一番したでgetchar();しとけばコンソールに何か打たない限り終了されなくなる てかfor(;;)の中でWPMしてるのはどういう理由?
WriteProcessMemoryを待機無しで無限ループしてるってことになってるけど >>265
for入れとけばHP減った後自動で回復してくれると思ったのですが意味なしですか?
教えてもらった通りにWPMの成功を確認する文を入れてみたのですが一応成功はしてるようです、、
WPMの第二引数にHPのポインターを入れてるのですがそれが間違えなのでしょうか? >>266
自作アプリの実行前からCEでアドレスの値を調べて想定した書き換えができてるか確認すればいいんじゃね? ゲームでアイテムを無限とかにするチート(MOD?)はBANになったりしますか?
デッドバイデイライトというゲームで遊びたいのですが、PS4はクロスセーブに対応してないのでまた一から始めるのが怠くて・・・
課金スキンや微速チートなどを使って通報されまくらない限り平気なんですかね? そんなのググればすぐわかる
平気と思うならやればいい 教えてください。
チートエンジンを使ってThe Ruins Of The Lost Kingdom CHRONICLEというMOゲームでMPやHPを減らないようにしたいのですが、HPMPアドレスを絞っても複数のアドレスが出てきてそのままアドレスを固定して進行すると、アドレスがまた変わってしまいます。
最初にヒットしたアドレスを固定したままにするとゲームがクラッシュします。
この場合はどうすればよろしいのでしょうか。よろしくお願いします ポインタかScriptで対応すればいい
Scriptって聞くと難しく感じるかもしれないが、HPアドレス取得するだけならアセンブラロクに知らんでもどうにかなる
むしろ多重ポインタのベースアドレス探す方が面倒まである >>272
そうなんですね
スクリプトのやり方を調べながら、試行錯誤してみます。ありがとうございます 固定するだけならわざわざアドレス取得しなくても処理潰すか固定値代入したほうが楽そう チートエンジンでインジェクション時のenable,disableについて質問で、ちょっと割愛して仮に
[ENABLE]
newmem:
mov [rbx],rdi
mov [rbx+FF],rdi
jmp return
INJECT:
jmp newmem
returtn:
[DISABLE]
INJECT:
mov [rbx],rdi
というスクリプトを書いたとき、disableのときに[rbx+FF]の値を元に戻したいのですが
単純に命令を追加すると元アドレスがずれてしまうので、変化させずに行うにはどうすればいいのでしょうか? >>275
たぶんこれでいける
[ENABLE]
label(x)
newmem:
mov [rbx],rdi
push rax
lea rax,[rbx+FF]
mov [x],rax
pop rax
mov [rbx+FF],rdi
jmp return
x:
dq 0
INJECT:
jmp newmem
returtn:
registersymbol(x)
[DISABLE]
INJECT:
mov [rbx],rdi
{$lua}
writeInteger('[x]',100)
{$asm}
unregistersymbol(x) >>276
ありがとうございます期待通りの動作になりました >>259
アドレスをずらすってどうやるの?具体的に教えて下さい
敵のHP減らして敵のアドレスをヒットさせて
んで・・・その後どうすりゃいいのかわからないす グラフィックを指定しているアドレスの値をズラしての間違いでしょ
外観のアドレスの探し方を知りたいって質問ではなく、未実装のモンスターを見たいという願望に対する返答
つまりお前にはなんの助けにもならないレス >>279
なるほど。質問の仕方が悪かったってことですか
改めて外観のアドレスの探し方を教えてほしいです
敵の攻撃力から構造体辿ったんだけどそれっぽいのが見つからない ステータス付近にないのであればどっか別の場所で一括管理してるんじゃないの
ゲームによって構造違うし一概にこうしたら見つかるよなんてのは難しい気がする 自由にキャラクターをスポーンするのって逆アセンブルで出来る?
やっぱGTAみたいなスクリプトとかアンリアルエンジンのコンソールコマンド無いと無理かな? できるけどネトゲの場合はクライアントにスポーン座標が埋め込まれてる訳ではなくサバからのメッセージに従うって形式が多い Cheat Engineとエミュを起動し直したらコードの座標変わるんだけど
何とかする方法ありませんか? Easy anti cheatってespのみでも検知されるの?大抵のfpsってespだけならbanされないイメージあるけど espの描画に必要な敵座標、自分の座標、向きなど
EACを回避しないと取得できない。
外部プロセスからのアクセスはEACが防ぐし、DLL差し込みもEACが検知する。