チート初心者スレpart2 [無断転載禁止]©2ch.net
レス数が1000を超えています。これ以上書き込みはできません。
これか
https://github.com/TsudaKageyu/minhook
この人すごいな
Detoursに1万ドルも払えないから作った言うとる vac bypassとかでググってるんだけどまあまあ面白い
(内容あんま理解できてないけど)
vmt hooking後々調べてみよう
>>561のコードをいじくりつつ
しばらくはvac bypassとかpunkbuster bypassとかをググる日々かな >>561
書き換える前
48:83EC 38 | sub rsp,38 |
45:33DB | xor r11d,r11d |
44:391D 42650300 | cmp dword ptr ds:[7FFCA43E8290],r11d |
74 2E | je user32.7FFCA43B1D7E |
書き換えた後
68 3710A5D3 | push FFFFFFFFD3A51037 |
C74424 04 F67F0000 | mov dword ptr ss:[rsp+4],7FF6 |
C3 | ret |
74 2E | je user32.7FFCA43B1D7E |
たまたま長さが一致してた
汎用的にやろうとすると元のコードの命令の長さ求めて、はみ出た分はnopで埋める処理が必要になるのだろうけどめんどくさそう
minhookはどうやってるんだろう 後で調査 unknowncheatsおもしろいな
有益な情報がたくさんある気がする
以前MPGHを何回か読んだことがあるけど断然こっちの方がいい気がする
気のせいかもしれんが
How to Learn When You Have Decided To Learn
https://www.unknowncheats.me/forum/programming-for-beginners/315634-learn-decided-learn.html サーフィンしてて気になった事メモ
解析ツール
binary ninja、ghidra、ida pro、reclass
ssdt hooking win10では激ムズになった?
win10driver
署名なしはテストモードのみ動作 BEとかはそれを検知してくる
dse無効化、既存のデバイスドライバの脆弱性を利用してカーネルモードで動作させる cheat engine でアイテム名の変更をやっていて、
AというアイテムをBという名前に変更したら、所持品以外にも敵のアイテム名もAからBに変わってしまいます。
これを自分の所持品の一つだけを変更することは出来ないでしょうか?
スキャンしてもそれらしいアドレスがでないので、やり方などを教えて貰えると助かります。 >>570
その知識レベルだと多分すぐには無理だろうが
string型(文字列)はちゃんとしたプログラマかコンパイラなら同じ文字は出来る限り同じデータを参照するように作られため、参照先の文字列を変えたらそれを参照するものは全て変更後の文字になる
つまり自分が所持するアイテムAのインスタンスだけアイテム名へのポインタを自分で書き込んだ文字列へのポインタにすり替えれば良い
そのためにはまず自分の所持品リストのアドレスを探して、そのリストから目的のアイテムのインスタンスまでたどり着く必要がある
所持品のスロット場所を変えたり個数を変えたりとかすれば見つかるんじゃない 色々書いたけど要するに文字列の処理は単純な数値変えたりってのと比べたら何段も難しい
俺が持ってるゲームだったらそれくらいのチートテーブル作ってやってもいいけどな >>570
その文字列が格納されてるメモリアドレスに対して
メモリアクセスのブレークポイント仕掛ければ
その文字列を参照しているポインターが分かるのでは? >>571-573
どこから始めればいいか分からなかったので、教えていただいたことから調べていこうと思います。
お二人ともアドバイスありがとうございます! IPUSIRONって人逮捕されてたのか
日本ってセキュリティ関連の記事とか教材が少ない気がするんだけど
法律のせいなんかね 法律のせいもあるんじゃね
プロテクト外す系は話題がせいぜいで、ソースやバイナリUPしよう物なら不正競争防止法で
逮捕されるかもだし
こういうのって、出来る奴らか公開した情報をもとに中級以下が修行するのに
有意義なサンプル出せないからな
あと純粋にPCネトゲは終わってる ググって見たら無限ループでも摘発されるんだなw
検察アホすぎだろ 日本人が大したこと知ってるとは思えないから法のせいで記事が上がらずとも全く困らない Apexのチート作り方有償で教えますよ
EAC Bypass Driverもあり。
Discord: CopyAgent#9435 他板に該当スレが無かったので、若干スレ違いかもしれませんがこちらに失礼します
最近CheatEngineに手を出して、オフゲーのSLGをプレイしています
そのゲームにおいて、
1,CEを起動し、プロセスを選択すると同時に指定のAOBスキャンを実行
2,そのAOBスキャン結果をベースアドレスとして、複数のアドレスを定義付け
というコードファイル(CT?)を作りたいのですが、上手く出来ません
Youtubeで似た事例の動画やフォーラムを見て、見様見真似なのでどこがどう駄目なのかが理解できず…
AOBスキャンをする文字列や、変更したい数値のオフセットは恐らく合っていると思うのですが
https://ux.getuploader.com/nobu15/download/59
恐らく分かる方が見たら酷いスクリプトを書いてるのだとは思うのですが、
添削もしくは書き方のヒントを教えて頂けないでしょうか
ちなみに、参考にした動画やフォーラムは
https://forum.cheatengine.org/viewtopic.php?p=5545429
https://youtube.com/watch?v=vDsbIpu8H30
この辺りです
フォーラムのAug 05, 2014 6:57 pmからAug 06, 2014 3:44 amの流れも、
コードファイルに盛り込めればなぁと思っています 👀
Rock54: Caution(BBR-MD5:669e095291445c5e5f700f06dfd84fd2) CEの Memory Viewe → Tools → Lua Engine
これでエディタ開けるからコード入れてExecuteしてみてね。
問題があればScript Errorが出るからエラーになってる行をよく見て修正してね。
あと、マルチポストはよくないよ。
https://medaka.5ch.net/test/read.cgi/gamehis/1521630363/ >>589
すみません、該当スレは人が居なくなってしまったようだったので…
検索するベースアドレスにFFが入っているせいだと思うのですが、
実行すると「expected near 'FF'」でエラーが出てしまいます
アドレスにFFの値があると、そもそも指定出来ないということでしょうか? Process HackerがWindowsDefenderに検出されるようになったのって俺だけ? どなたか>>588と>>590分かる方いませんか? チートが検出されたら、過去にそのチートを使用していた人もbanされるんですか?
今使ってないとしても チートエンジンを使用してステータスを2つから振り分け 一つを見つけていじれると思ったら
すぐにまた戻ってしまいます。チートエンジンの機能に固定化はありますが格納される前メモリを
いじれば固定化できるのでしょうか Apexのチート開発の仕方教えます。
Discord: 水谷#1584 >>597
検索したアドレスをダブルクリックして下の枠へ登録すると
一番左端に「凍結」というのがあると思う
それにチェック付けておけばOK そういうのは凍結しても意味ないよ
そのすぐに戻ってしまうという値へのWriteアクセスを確認して、書き込んでくるアセンブラコードを書き込まないように修正するのが正しいアプローチ MmCopyVirtualMemoryの使い方教えて cheat engine 7.0 をWindows10で使っています。
NOX 6.6.でスピードハックしようとしたらDLL Injection Failed と出ました
動画の通りforcedinjection-i386.dll等を使おうとしました
そしたら今度はnot be loaded - Error 126 とか 139 が出てきました。もうどうしたらよいのか分かりません。助けてください 海外の天才ハッカーもPS4のプログラムをいじれないという話だが
無反動マウスコンバーターとかはどうやって作ってるの? 海外の動画見ててチートエンジンに挑戦してみようかと思った CEって7.0でUI大幅に変わってから重く感じたからまだ6.8.2使ってるんだがそろそろアプデして良いか? >>588
このスクリプトに書かれているベースアドレスってインジェクションするアドレスのことかな?
もし静的アドレスが分かっているなら「Add Address Manually」でそれぞれベースアドレスとオフセットを追加すればいい。
どちらにしてもaobscanでアドレスの取得に失敗しているんだと思う。
こんなにFF FF FFが連続するマシン語はあまりみたことない気がする。 座標ってX,Y,Zの順が普通だよな?
とある開発元のゲームは一律でY,Z,Xの順なんだが cheat engineでset valueの値をアドレスで指定する事って可能ですか?
変更したい値がそのアドレスにある値なのでアドレスで指定したいのですが
値じゃないとダメなのかよく判らなくて困っています。 2点のベクトルから回転行列計算することって可能?
具体的にはキャラ座標(カメラの回転基軸)とカメラ座標から割り出したいんだが
メモリから取り出せばいい話だけど色んなゲームのEspを作るにあたって一つ一つ解析するのは大変なんで、比較的楽に取り出せるキャラ座標とカメラ座標から自前で計算出来れば楽なんだが >>614
なんでここで聞いたのか分からんけど要はカメラの姿勢が知りたいってこと?
カメラ座標からキャラ座標へのベクトルをZ軸
Z軸と仮のY軸(0,1,0)との外積がX軸
求めたX軸とZ軸の外積が真のY軸
各軸を正規化すればそれが回転行列 チート方法じゃなくて計算方法を聞いてるからだろ
数学板かプログラム板にいって宿題スレあたりで聞いたほうが手っ取り早い ベースアドレス、ポインタ、オフセットの効果的な見つけ方がわからん…
CEでpointer finderとかあるのは分かるけどログは何メガ行とかそういう規模で絞り込みが出来ない…
何とかしてベースアドレスを見つけてポインタとオフセットでプレイヤーの弾を無制限にするlua scriptを作りたい
RE:2 Demoなんだけど >>630
https://www.youtube.com/watch?v=nJ72p6fDIM8
上の動画ではマチルダの弾丸は[rax+20]になってる
1レベルポインターならraxの値をアドレス検索すれば静的アドレスが見つかるかも
他の銃に変えたりして試行錯誤してみるといい
https://www.youtube.com/watch?v=SFr0nRjDJfE
ポインタースキャンに関しては6:00 ~ 18:30が役に立つと思う
3つのポインターマップを使ってスキャンしている
64ビットゲームなので、32bitメモリアライメントのチェックをはずし、最大オフセット値は6500、マックスレベルは10まで増やしたと言ってる
あとスキャン結果を別のPCにコピーして比較実行すると効果的みたい >>633
うん、ありがとう
でその(ベースアドレス、オフセット、ポインタ)効率的な見つけ方を教えてほしいのだが…
もしくはそのやり方が乗ったウェブサイトとか(英語可) >>631の2つめの動画とやってることは同じ
3つのポインターマップを使ってスキャンする場合は下記の手順
1.弾丸のアドレスを見つける
2.このアドレスのポインターマップを作る(マップ1)
3.「Find out what writes to this address」で弾丸のアドレスに書き込んでいる命令を見つける
ポインターを絞り込むために何回かゲームを再起動する必要がある
再起動するたびに弾丸のアドレスを見つけるのは面倒なので、
書き込んでいる命令にAOB Injectionでスクリプトを組んで自動で弾丸のアドレスを検出できるようにする
4.ゲームを再起動する
5.再度、弾丸のアドレスのポインターマップを作る(マップ2)
6.ゲームを再起動する
7.弾丸のアドレスのポインターマップを作る(マップ3)
8.3つめの弾丸のアドレスに対してマップ1とマップ2とマップ3を使ってポインタースキャンをする(ここのやり方が少しややこしい)
9.8のポインタースキャンの結果をオフセットが少ない順にソートして上から順に再起動しても使えるかテストする
手順3は省いても出来るけど、手順5と7の前に弾丸のアドレスを手動で見つけなければならない
参考になる動画
https://www.youtube.com/watch?v=nQ2F2iW80Fk 1つ間違いがあった
手順3は書き込んでいる命令にスクリプトを組むのではなく、
弾丸のアドレスに常時アクセスしている命令に組む
そうすればスクリプトをオンにした瞬間に弾丸のアドレスを検出できる
書き込んでいる命令に組んだ場合は、銃を撃たないと検出できないのでひと手間増えることになる Find out what accesses this addressでoffset調べて、
Generate PointermapでpointerMap1とpointerMap2作ってセーブして、
Compare results with other saved pointermap(s)2つのポインターマップを比較しつつPointers must end with specific offsetsで調べたオフセットを入力したが
まだ3000超~4000くらいの結果までしか絞れない
ここからゲーム内で死んだでリスタートしたり、ゲーム自体をrestartしても不変のbase addressとpointerを見つけるにはどうしたら良いんだろう
何か足りないのかな オフセットの少ない順にソートすればいい
最大オフセット値を7でスキャンした場合、1番右がOffset 6になってるのでそこをクリックする
https://dotup.org/uploda/dotup.org2104559.png
複数のポインターマップを使ってポインタースキャンをすれば、ある程度安定的なポインターに絞り込まれてるはずので、あとはソートして上から順にテストするだけ。 >>645
なるほど、助かる
結局あとはフィールドテストしかないという事か… GetProcAddressのlpProcName引数を1にすることって可能なの?
push 1
push handle
call GetProcAddress
的なアセンブリコードがあるんだけど Valorant独自のパックシステムでパックされてるな。 あとやっぱりVMPでコードが保護されてる。俺は確認してないけど、タイマーによるデバッグのチェックもはいってるらしい。
そしてPUBGと同じようにポインタが暗号化されてる。他も誰かやってたら情報提供求む ポインタの暗号化って見たことないんだけどxorで暗号化復号化されてるって感じか? 考えてみればxor暗号までせずともset時にポインタを1減らしてget時に1加算するというコードにしておくだけでも自動ポインタスキャンは防げるな ポインタ暗号化されたところで簡単に復号できるから意味ないんだよなぁ... >>669
手動ならそうだけどポインタスキャンを防げるだけでも一応意味はあるな
ただポインタを暗号化するって普通のコンパイラじゃそんな事出来ないだろうから相当手間かかってるな 普通にコンパイルした後に専門のチート防止会社のパッケージとかで暗号化するんじゃね
かなり参考になる↓
チートを防ぐには何が必要なのか?セキュリティソリューション開発会社DNPハイパーテックにチートの実態と性質を訊く(前編) | AUTOMATON
https://automaton-media.com/articles/interviewsjp/20180406-65457/ >>672
暗号化するだけならまだしも復号化コードを挟まなきゃいけない訳だからコンパイル後にいじるのって限りなく不可能に近くないか? VALORANTはいけそうなのか?
Riotのセキュリティチームって元チーターだから厳しそうだな
ハッカーフォーラムやDiscordなんかにもチーター装って潜入してくるみたいだし ハッカーフォーラム潜ったところで、もうチート対策の限界にきてると思うから個別の対策はできても根本的な対策はできなさそう。
まあでもValorantはサーバー側でVisibleチェックして見えてなかったら座標データ送らないようにするらしいからこれでどこまで防げるのか興味ある 誰か一緒に64/32bit対応のマニュアルマップインジェクター作ろ 『Fortnite Battle Royale』起訴されたチーターがEpic Gamesと和解、14歳チーターの母親にも言及 | Game*Spark - 国内・海外ゲーム情報サイト
https://www.gamespark.jp/article/2017/12/06/77200.html
今後同社の著作物を作成、執筆、開発、広告、宣伝、配布するなどの著作権侵害や再度のチート行為を禁ずる恒久的な差止命令を出し、違反した場合には罰金として5,000ドル(50万円)の支払いを要求しています。 販売や配信となんでもやってて草
そりゃ起訴されるだろ NoxやブルースタックスとCEの環境だと「アクセスしている命令」や「書き込んでる命令」を検知出来ないのは仕様だと分かったのですが、エミュレータの問題でしょうか?
他に使えるエミュレータを探していますがありませんか…? オフラインゲーム(RPGやアクションゲーム)などで数値の書き換えを行っても、すぐに元の数値に戻されるものはどのように書き換えを行えばいいのでしょうか。
静的アドレスを探してポインタを作るといいのでしょうか すぐ戻される値は、そこにメモリライトブレークポイントを設置して
戻される値の元をたどる、そのうちに計算で使用する実際のパラメータが見つかるはず 実体じゃないってケースなら>>719が言うように更に探す必要があるけど、そこが実体であるならアセンブラを改変するしかない
mov [その数値へのアドレス], eaxみたいなループが走ってるからすぐに元の数値に戻されちゃう訳なのでnopで埋めるなり条件付きジャンプを挟むなりすればいい >>719
メモリライトブレークポイントというのはcheatengineでも設置することができますか?
検索してもメモリライトブレークポイントというのがヒットしなかったのでもう少し調べてみます
>>720
実体かどうかわからないのですが、今見ているアドレスでは静的アドレスが検出されません
mov [その数値へのアドレス], eaxを探してみます
cheatengineで数値の書き換えと簡単なポインタの作成しかできないので
お二方の言っている作業が難しいのであれば知識的に無理かもしれません 指定したメモリが書き換えられたらブレークするというもの
どこで書き換えているのか調べたい時に使う メモリライトブレークポイントはCheatEngineでは
Break on Write
Find out what writes this address >>722>>723
ありがとうございます。
どうも実体じゃなく、その画面にいる時のみCTに反映されているのでメモリブレークで探してみます Cheat Engineについて回答お願いします。
Bulletstorm: Full Clip Editionで日本語のまま残虐表現を有効にしたいのですが、まずは残虐表現のオン・オフの設定が可能な英語設定でアドレス抽出
0が残虐オフ、1が残虐オンという事がわかって、オフセットを設定するのにアドレスを監視させてポインタを検出できたはいいものの
そのポインタ(2D6A48E0)でアドレス検索をしても一つもヒットしません
これが出来たとして残虐表現有効のまま日本語設定でプレイできるかわかりませんが、通常の方法ではオフセットを割り出すのは不可能なのでしょうか?
以下監視結果
RAX=00000000
RBX=2D6A48E0
RCX=823B4800
RDX=00000069
RSI=00000008
RDI=00000008
RBP=823B4800
RSP=006DEE20
RIP=1405A0EB3
Probable base pointer =2D6A48E0
Label1
1405A0EAC - mov byte ptr [rbx+08],01
1405A0EB0 - mov [rbx+0C],eax
1405A0EB3 - mov eax,00000001
1405A0EB8 - jmp 1405A0E67 >>725
1405A0EAC - mov byte ptr [rbx+08],01
のrbxがどこから持ってきたかアセンブラを更に遡ってみては?
手っ取り早い方法なら2D6A48E0-300 ~ 2D6A48E0って感じの範囲検索をして出てきたもののアクセス監視するとか >>726
Cheat Engineというよりアセンブリ作業自体今回初めてやるのでRBXの出所を探るのに参考になるサイトを探しているのですが
日本語サイトは初歩の部分までしか載ってない所しか見つからないし、英語サイトは目的となる事を書いてあるのか判断するのに時間がかかる
https://fearlessrevolution.com/threads/11173/にあるBulletstormのチートテーブルの中を見てもスクリプトで組まれてて理解不能な状態です Bulletstormはunreal engineだからUIとかスクリプトで書かれていると思う
ブレークで止まるのは、例えば値をセットするルーチンとかなので
1405A0EB0は、他の値をセットする時にもブレークするはず
こういうのは大本たどるのが大変 Bulletstorm安かったから、仕事放置で解析してみた。
ゴアフラグを突き止めるまでは725の方法でおこなう。
該当フラグを弄ってみたが結果が反映されないので
対象アドレスに、Break on accessをセットする。
設定画面を抜けたりすると
StormGame-Win64-Shipping.exe+A78CF7 - mov ecx,[rax+0C] ここ
StormGame-Win64-Shipping.exe+A78CFA - mov eax,00000001 { 1 }
StormGame-Win64-Shipping.exe+A78CFF - mov [r13+00],ecx
がブレークする。
アセンブラを読むと、フラグをr13のアドレスに格納しているので
r13が示すアドレスにフラグを格納するので、ここにBreak on accessをセットする。
Runで処理をすすめる。
StormGame-Win64-Shipping.exe+DA4E4E - cmp [rsp+68],edi ここ
StormGame-Win64-Shipping.exe+DA4E52 - setne dil
StormGame-Win64-Shipping.exe+DA4E56 - mov [StormGame-Win64-Shipping.exe+17B7790],edi { [00000001] }
がブレークする
StormGame-Win64-Shipping.exe+DA4E56の命令は、固定アドレスを示しているので
ゴアフラグの実体の可能性が高い。 このままトレースを続けると
StormGame-Win64-Shipping.exe+DA4E9A - ret
の時点でRAXは1、StormGame-Win64-Shipping.exe+17B7790の値は1のようだ。
とりあえず、ここがゴア条件だと予想しておく。
アセンブラ画面を上に戻していくと、この関数は以下から始まっている。
StormGame-Win64-Shipping.exe+DA4D70 - push rdi
言語を日本語にしてゲーム再起動。
StormGame-Win64-Shipping.exe+DA4D70にブレークポイント設置。
キャンペーンを開始するとレベル開始直前でブレークする。
ステップ実行しながら
StormGame-Win64-Shipping.exe+17B7790に1、関数を抜けるときにEAXが1に
なるように実験してみると、日本語モードでもゴア表現が有効になった。
実験結果をコードに反映するとこんな感じか?
StormGame-Win64-Shipping.exe+DA4D90 - xor ebx,ebx
StormGame-Win64-Shipping.exe+DA4D92 - inc ebx
StormGame-Win64-Shipping.exe+DA4D94 - mov [StormGame-Win64-Shipping.exe+17B7790],ebx { [00000000] }
StormGame-Win64-Shipping.exe+DA4D9A - xor eax,eax
StormGame-Win64-Shipping.exe+DA4D9C - jmp StormGame-Win64-Shipping.exe+DA4E86 ココも変えたので注意 >>730
横から失礼します
どうやって解析能力を身に着けたのでしょうか?
右も左も分からない状態なので参考にしたいです 人の真似から初めて解析に慣れるのが良いかと思います。。
Bulletstormの例でも、スレみて真似するだけでも得る物があるハズ
たぶん、???な部分も出るのでソコを自分で調べるなりしてみるのが
勉強になったりします。
今は、この様な話題が出来る場はほぼ無いです。
ここでもマシな部類なので、私が解る範囲でコメント出来るときはしています。 解析能力はなんだかんだでプログラミング能力に比例して伸びていく
なぜならプログラミングが出来るとアセンブラを見れば大体「ここはあの関数かな」と推察出来るようになる
とは言えPythonとかRubyとかJsみたいな動的型付け言語だとこの話は当てはまりづらくて、
最低でもJavaやC#のような静的言語、C/C++なら完璧に解析力とプログラミング力はリンクする >>732 >>733
アドバイスありがとうございます。精進します。 ハッカーになるにはC++を習得するのは必須事項だが、だからといってC++から始めると99.999%挫折する まずはC言語でポインタの考え方、使い方のマスターじゃないの?
いきなりC++だと充実したクラスライブラリやフレームワークで低レベルの処理が隠蔽されて見えなくなって、このスレでの本質がつかめない気がする 軽く5年はかかりそうな道のりで挫折したくなりますよ〜 Cは独学でなんとかなりそうだけど
アセンブラの覚え方が分からない
アセンブラって古いpcじゃないと動かないみたいだし
皆どうやって習得したんだ… アセンブラが古いPCじゃないと動かないって何を言っているんだ?
全てのプログラムは最終的にアセンブリ言語に変換されてCPUがそれを読み取るから動作する訳だが
逆の言い方をするとアセンブラ以外のプログラミング言語は所詮アセンブラのマクロに過ぎない >>739
独習アセンブラって本を借りてきたんですが
古いpcじゃないとコンパイラみたいのが無いみたいなので手を動かしながら学べないのかなと 32BitならVisualStudioでインラインアセンブラ使えるぞ
64Bitでも自分の作ったCまたはC++プログラムを混合モードでデバッグすれば
アセンブラでステップ実行できるので勉強になるかも
自分が書いたソースがどんなアセンブラ命令に展開されるのかなど >>742
親切にありがとう
プログラム板で調べてみる! >>735
どんな順序で習得するのがいいんですかね C# → アセンブラ&C++が多分ベスト
C#はVisualStudioのサポートが手厚いため意外と初心者も入りやすい
それに加えてC++程ナチュラルには書けないもののWin32Apiやポインタも扱えるので普通にC#だけでもユーザーモードチートは完結する
ただ極めようと思ったらカーネルハックは避けて通れないからC/C++も最終的には必要 お世話になります。何かヒントを頂けたらと思いカキコします。
AndroidアプリをNoxplayerで起動し、CheatEngineを使い解析しいます。
「ぬいぐるみのレストラン」というゲームにて
目に見える変動数値は可能なのですが
システム上、手足の種類や色の変更があるのですが
この種類や色を特定する方法はありますでしょうか。
例えがわかりにくいかもしれませんが
モンハンの装備のような感じで、左右手足など部位ごとに変更されるものです。
ご教授宜しくお願い致します。 そういうのは装備ID特定しなきゃいけないし変数アドレスを見つけたとしても値を変更しても反映されない確率が高い
よってメモリサーチだけじゃ難しい
Androidアプリならapk解析してプログラムそのものを改変する方が楽だったりする
それをやるためにはJavaだったりUnity産ならC#が読めないとダメだから敷居は高いが RPG maker vx ace製のゲームをチートしていたら>>258も方が言っていたようなベースポインタのオフセットに*4されているポインタが出てきました。
ベースポインタらしきものを走査しても静的でもないアドレスが1件ヒットするのみで静的ポインタを見つけられません。
どなたかやり方やチュートリアルなど、英語でも構いませんので教えていただけないでしょうか? チートエンジンで獲得経験値変更について分かるサイトとか無いでしょうか?
検索して出て来ないとどうにもならない… unknown initial valueでfirst scanからのincreased value byじゃダメなの? どのジャンルの経験値だよ。シングルRPGの経験値だったらクソ簡単だろう
ステータス画面開いて現在の経験値で検索
戦闘こなして、経験値を検索
アドレス特定してそこに、メモリライトブレーク
戦闘で勝てば経験値加算されるタイミングでブレークする キャラクターを違うキャラクターに変える方法はどうすればいいですか?
アドレスさえ分かれば下二桁弄るだけで変えられると思うけどんですが ASCIIキャラクターコードならば2バイトなので2バイトいじれば好きなキャラクターに変えられるよ CT使ってやるぐらいしか使った事無いので何言ってるかよく分からないです… >>763,764
1ヶ月いろいろ調べてなんとか出来るようになって来たよ
足掛かりありがとう ゲームのアイテム変更チートで0002から始まるコードがあるとして2個目以降は+38hとなっているコードをCheat engineに追加するのってマクロみたいなので自動でできたりしませんかね?
アイテム欄が5000個あって全部手動でオフセットして貼り付けしてたらきりがないのでもし手段があれば教えていただきたいです RPGゲームでランダムエンカウントしないってどうやって探せばいいの?
手がかりなくて困ってる ランダムエンカウントってどういう実装方法が定番なのか知らないけど、
俺がプログラマーなら内部の数値、例えば0.0から1.0の間までランダムに変化させて1になったらエンカウントするとかにするけどそんな感じで探せないかなぁ
unknown initial valueで新規検索してからエンカウントした時の値とエンカウントしていない時の値を比較するとかね エンカウントのプラグラム調べてみたら色々あるのね
PARとかでもよくコードが掲載されてたからもっと楽に探せると思ってた 配置されるnpcの見た目って変えれますか?
アイテムやキャラのIDは流れてるからそれ参考に味方やアイテムは変えれたけど
npcは変更してロードしてもアドレス変わってて反映されないし
追うにも数値変わるわけじゃないからググっても見当たらない プログラミング的に言うとロードするたびにnew Npc()って感じでインスタンス作り直してるだろうから
インスタンス先のIDを変更しても意味無いんじゃないか なるほど、そこ通して表示させてると勘違いしてた
その前後で干渉できるか探したほうがよさげですね
感謝です 話題の原神のmhyprot2.Sysってコールバック登録してWin32Apiフックしてくるだけ? mhyprot2はコールバックは使ってない
DeviceIoControlで通信している
クライアント側にもアンチデバッグ機能が入っている
これらをなんとかしてもunity使っているので
アセンブラは追いかけにくい
C#部分はmonoでネイティブコード化されている
関数名は難読化されている Undetacted Cheat Engine作ってて思ったんだけど、Pascalってかなりのクソ言語に見えるんだが何か利点あるの?
クロスプラットフォームならC#など最近は色んな言語で対応できるのに Boland Delphiの時代から開発されている。
C#とかに置き換えるの面倒くさいじゃね? Genshinの例のドライバはダイレクトにメモリ読み書きさせてくれるから便利だな 誤って売ってしまった一品物の装備を入手するためにチートをしようと考えているのですがうまくいきません。
その装備はゲーム内で一定数メダルを集めることで入手できるのですが、調べたサイトを参考にして、メダルの枚数を弄り増減させましたが再入手はできませんでした。
次にセーブデータを覗いてみようと考えました、data.unity3dというファイルがセーブデータかと思い調べましたが調べてみたら違う用途のファイルのようでした。 セーブデータはどこにあるのでしょうか?
また、装備入手にはどのようなアプローチをすればいいのでしょうか? セーブデータ自体はマイドキュメントにあるんじゃないかな
もしくはRoamingフォルダとか
セーブデータの差分を取って例えば武器の増減とかメダルの増減を調べるとか アイテムコード見つけて総当りで試していけば?
時間はかかるけど1番簡単だと思う セーブデータを見つけましたが、少し変化させても相違箇所が多すぎると出たのでセーブデータ改竄はあきらめて、
構成ファイルを逆コンパイルしてアイテムのコードを探してみます DMMGamePlayerがもっさりしてて起動するたびに200MB近くの一時ファイル吐き出してくるから二日くらいかけて逆アセして力技で独自の軽量DMMGamePlayer作ったんだけど、
ブラウザみたいにhttps通信の中身見れれば本来ならほんの2時間くらいで実装できる程度のものなんだよな
ブラウザ以外でのtls通信を覗く簡単な方法って何かある?
fiddlerは試してみたけど拾えなかった
ネットワーク周り詳しくなればWinDivertとか利用して独自の中間者攻撃ツール作れそうなもんだけど、ネットワーク周りはまだそのレベルに達せてない >>803
インスコしてあるゲームなら協力しても良いけどなんてゲーム?
unity産のゲームは原神と他少しか今は持ってないからダメ元だけど 評価数の少ないゲームですので多分持ってないと思いますが、steam版勇者ヤマダくんです、
オンラインのランキング機能があるためオフラインで試行錯誤しています。 それはさすがに持ってないし、やってみたいとも思えないからスマン genshinチートやってみたが、unityのゲームは変数(クラス?)をコピーしまくりで
追いかけるのやたら面倒だな Apexでメモリ読み書きするにはどうしたらいいんだろ こんな2chの解析技術ではだれも敵わないんだろうか ネトゲのプレイヤー名で恥ずかしくない名前ってなかなかないですよね
みんな変な名前ばっかり カプコンがハッカーに情報取られたってニュースになってるけど
数年前にもスト5のために開発したアンチチートが逆にチーターの餌食になってカーネルへの侵入経路として利用されてたし本当にまともな人材いないんだな >>823
これアプリ入れないと駄目みたいだけどここで何を語るの?
チートを教えてくれるんですか? https://i.imgur.com/K0JXUfV.png
認証されないとほぼ何も見れないっぽい
変な問題解かないと入れないらしいから後で見てみるわ discordのCHEAT THE GAMEサーバーに入ってみたけど、質疑応答みたいな感じで教えてくれる人もいるみたい
普通のチャットと何が違うのかわからないわ 便利
通信はサーバー介してくれる
色んな国で使われてる
ゲームとの連携
サーバー管理の敷居が低い
VCで画面共有できる
無料
とかいろいろ discordのやつな
お題は簡単だけど、チート始めたばっかの人にはキツいかもなぁ
そういうレベルの人にも有意義な所になれば良いね こういうの作って
ok
これでいいじゃん
誰か作る役やれよ 同じゲームやってるとかなら作っても良いけど
まったく興味ないのは頼まれてもやらないだろう 初心者がチート、KernelDriver, ACBypassとか教えます
https://discord.gg/zJxuv6GYCp
EAC, BE, Vanguard, VACぐらいならBypassできます steamでCheat Engine勉強中
アイテム所持数を増やしたいんだけど所持金のようになってもできなくて
詳しい人います? オンラインゲームだと同じアイテムでも個々に固有のID振られていて複製するとバレるようになっていたりします
単純にアイテム数だけで管理されていないケースがあるかと思いますよ ここのTablesあたりに軌跡のCTあったような
https://fearlessrevolution.com/
英語版前提でやってるので日本語版とはアドレスとか異なる可能性あるけどCTの参考にはなるかと ここにあるCTファイルはほとんどDLしたけど何一つCheat Engineで有効にならない
Cheat Engineはv6.8.2
チートは奥が深いですorz 上に書いたようにENGとJPでプロセス名違うので空振りしたんじゃないか?
走査するバイト列も変わることもある おまえ他スレにも書いただろ
そっちで教える気でノって書いたのにマルチにはもう教えん! SteamのCheat Engineで質問なんですが、
https://fearlessrevolution.com/viewtopic.php?t=2866
ここの
https://i.imgur.com/qFqdDI0.png
これなんですけど
キャッスルクラッシャーズ
castle crashers
で動作しません
Steamの今のキャッスルクラッシャーズで動作できるようにしたいんですがなんかverが変わってできないんですかね? スレタイ変えようか
初心者スレじゃねーな
教えねー辛口文句スレだw 細かい解析は、ゲーム毎にことなるだろう
ゲーム持ってないなら、的確な説明は無理じゃね steamで閃の軌跡のアイテムの数を増やしたい
個数を3→2→1と変動させてもCheat Engineでアドレスすら見つけられず・・・
同じソフトを持っていて詳しい方いますか? まずは言語を英語に変えて拾ってきたCT動かしてみたら? 分かるけどマルチには教えない
これが決まりみたいなものだからな
すぐに分かったぞ >>863
ありがとう!
まさか同じゲームで日本語と英語でアドレスが変わるなんて考えもしなかった
試してみたところ、有効/無効を切り替えられたから使えるみたい!
貴方は>>864とは違い口だけじゃないm(__)m 最初から言語の違いでプロセス名(EXE名)が違うって書いてたよね
CTの中にもターゲットのEXE名書いてあるし、自分の動かしてるEXEと違うこと気づくと思うんだけど >>866
すまん、当時の俺では理解できなかったんだ・・・orz
この英語版のアドレスを日本語版のアドレスへ置換する方法はない? CTが動く元ネタがあるから日本語版と比較して該当するバイト列探してアドレス置き換えてみればいいんじゃないか
まあ、セーブデータに互換があるはずだから必要な時だけ英語で切り替えてCT使ってセーブしたほうが楽じゃね? なんかこいつたいして調べてないだろ
教えてくれたのに感謝してるけど言語でアドレス変わるの当たり前の事
アホだろ 閃の軌跡3は年末の1日フリープレイでちょっと見たけど
アイテム数は即値でメモリに書かれてないので増減サーチ無理っぽい
アセンブラ追いかけて諦めた 軌跡3体験版、製品版も似たようなもんだろう、あとは自分でどうぞ
ed8_3_PC_JP.exe+2328DD - 49 BF 0700800702000000 - mov r15,0000000207800007
ed8_3_PC_JP.exe+2328E7 - 66 0F1F 84 00 00000000 - nop word ptr [rax+rax+00000000]
ed8_3_PC_JP.exe+2328F0 - 48 8B 88 20D92000 - mov rcx,[rax+0020D920]
ed8_3_PC_JP.exe+2328F7 - 45 33 C0 - xor r8d,r8d
ed8_3_PC_JP.exe+2328FA - 8B EE - mov ebp,esi
ed8_3_PC_JP.exe+2328FC - 48 C1 E5 05 - shl rbp,05
ed8_3_PC_JP.exe+232900 - 48 03 A8 E8653500 - add rbp,[rax+003565E8]
//アイテムメニューを開いたときだけ有効になるテーブルアドレス
//[rbp+00]がアドレスで、アイテムコード2バイト、アイテム数2バイト構成
ed8_3_PC_JP.exe+232907 - 0FB7 55 00 - movzx edx,word ptr [rbp+00]
//
ed8_3_PC_JP.exe+23290B - E8 B0590400 - call ed8_3_PC_JP.exe+2782C0
ed8_3_PC_JP.exe+232910 - 48 8B F8 - mov rdi,rax
ed8_3_PC_JP.exe+232913 - 48 85 C0 - test rax,rax
ed8_3_PC_JP.exe+232916 - 0F84 2F010000 - je ed8_3_PC_JP.exe+232A4B
ed8_3_PC_JP.exe+23291C - 44 8B 48 38 - mov r9d,[rax+38]
ed8_3_PC_JP.exe+232920 - 41 0FBA E1 0B - bt r9d,0B
ed8_3_PC_JP.exe+232925 - 0F82 20010000 - jb ed8_3_PC_JP.exe+232A4B
ed8_3_PC_JP.exe+23292B - 41 8B 4E 6C - mov ecx,[r14+6C]
ed8_3_PC_JP.exe+23292F - 45 33 D2 - xor r10d,r10d
ed8_3_PC_JP.exe+232932 - 41 0FB7 D2 - movzx edx,r10w
ed8_3_PC_JP.exe+232936 - 85 C9 - test ecx,ecx
ed8_3_PC_JP.exe+232938 - 75 12 - jne ed8_3_PC_JP.exe+23294C
ed8_3_PC_JP.exe+23293A - 0FB6 40 3C - movzx eax,byte ptr [rax+3C]
ed8_3_PC_JP.exe+23293E - 3C 81 - cmp al,-7F >>868
その方法も含めて今後試行錯誤してみます。
日本語と英語ではコントローラーの配置が変わってしまうのは謎ですが。
>>869
ここは初心者スレなのに質問すれば攻撃されるのはなぜ? >>871
優しすぎる
これでも質問するなら諦めた方がいい ゲームによっては改変防止のために何かの数や所持金といった数値を暗号化してメモリ格納しているものがある
こういうゲームに対しては数値サーチは不可能 以前質問したんですが解答ないので再度
SteamのCheat Engineで質問なんですが、
https://fearlessrevolution.com/viewtopic.php?t=2866
ここの
https://i.imgur.com/qFqdDI0.png
これなんですけど
キャッスルクラッシャーズ
castle crashers
で動作しません
Steamの今のキャッスルクラッシャーズで動作できるようにしたいんですがなんかverが変わってできないんですかね? フォーラムの方で他の人がそうだって書いてあるよ
コメントアウトされてるところ参考に直せば今のバージョンでも出来るかも >>878
CTファイルで何やってるか読めよ
aobscanmoduleでフック位置検索してるだろ
クライアントバージョンが変わってバイナリ変わったら
aobscanmoduleで検出出来ないので無理 バージョン変わったら機能しないaobscanってaobscanである必要なくないか?
だったらもうモジュールベース+オフセットで指定しとけよ aobscanで****指定してあるだろ
少しの変更なら対応できるが、結構変わったら無理ですよ
アドレス直よりは少しは融通効くって感じ 加速ツールとかの質問ってここでいいんですかね?
どこか違うスレがあるとか? steam版スパロボXで機体・パイロットの変更をCheat Engineで行おうとしているのですが
機体やパイロットの数値がある全てのアドレスで数値の書き換えをしてみても一つも変わりませんでした
のせかえによってパイロットの数値が変動した箇所を書き換えてみても変化がなかったのでそもそもチートエンジンでは不可能でしょうか? steam版スパロボでできるよ
俺チートエンジンでやってるよ
スパロボは昔からチートしないと好きなキャラ自由に強くできない
PCでスパロボ出たから嬉しい
何か間違えてるとしか言えない
頑張って >>886
どこのアドレスで数値を変更しているか等の手順を簡単でも良いので教えていただくというのは可能でしょうか? Cheat Engineでcosmic break universalのチートをしようとしたけどうまくいかない
書き換えてもすぐ戻されちゃう
何が間違ってるのだろう int value;
while (true) value = 100;
こういう処理がされてる場合だとvalueをいくら書き換えてもすぐに戻される
だから変数値を変更するのみならずコードの改変も必要 >>889
>>890
すごくわかりやすい、ありがとう! 数値サーチばっかりでブレークポイントってどんなふうに使えばいいのか分からない
どんなふうに使うのかだれか教えて 読んだがさっぱりわからなかった
すべて訳して載せてくれ Cheat Engine 日本語化できる6.8.2をインストールする時、トロイの木馬が入るんだがこれは諦めるしかないの?
Microsoft Defenderが防いでくれるからいいけどなんとなく嫌なんだよね
Cheat Engine 最新版は日本語化できないけど最新版を使った方がいいの?
最新版はトロイの木馬入ってない? それ誤検出だよ
Radditでも毎週のようにある問い合わせ 改造したいゲームはPS3のパワプロ2016 これをRPCS3でやってます
CheatEngineでサーチしててとりあえず各種ポイントMAXだけでもなんとかしたいんだけど
なんとかアドレス見つけて値を変えようとしたところ、
もの凄い勢いで改造前の値が上書きされていってしまう状態です
対策かなんかでそういうプログラムでも効いてるんでしょうか? >>897
そうだったんですか
保護の履歴より
検出済みが
Trojan:Win32/Crptlntject!ml
なのでトロイの木馬としてでした
影響を受けた項目
C:¥Users¥ユーザー名¥AppData¥Local¥Temp¥hyx¥2u1exe
これでした
誤検出みたいで安心しました
それでCheat Engine 日本語化できる6.8.2みたいですが、最新版使用した方がいいんですか?
それとも使えてるので6.8.2でもいいんですか? >898
変更している値が内部値ではなく画面表示用の値なんだと思う
もしくは別の用途で使用されている何らかの変数
仮にスタミナの値を見つけたとして、20から100に変更する
トレーニングしてスタミナが4増えたとき、24に戻るようならその値は違うことになる
104になれば正解の値
この動画がわかりやすい
https://www.youtube.com/watch?v=UQrCxmwkcCc UWSCとCEのluascriptの間で情報を受け渡しするにはどうしたらいいですか? >>902
ありがとうございます
情報のやり取りは5秒に1回程度なのでやってみたのですが、
CEとUWSCの両方からファイルを開くので頻繁にアクセス権限のエラーが出てファイルのオープンに失敗してしまいます >>903
排他制御用にロックファイルを使うのが一般的です
ファイル読み書き前にロックファイル作って、処理後にファイル削除する
読み書きする前にロックファイルの存在確認して、ファイルがあったら適当にスリープして待つようにすれば排他的に使える
ロックファイル作ってプロセス死ぬ可能性もあるのでロックファイルのタイムスタンプから一定時間経っていたら無条件に自分でロックファイル作るようにするといいかも 最近チートに興味を持ち始めたものなのですが
pythonとWin32API勉強すればハック出来るようになりますか? Pythonでも不可能ではないがPythonを勉強したところでチートに必要な機械に近いレベルの知識は身に付きづらい
なぜならPythonはCPUやメモリなどをプログラマに配慮させる事無くプログラミングさせるための言語だから
逆にC/C++は機械を意識せざるをえない言語だからチートに必要な知識が身に付く、というよりもそういった知識がないとC/C++でまともにプログラムを作れないと言った方が正しいかもしれない
ただ最初からC/C++を始めても99%の人間は続かないから、Pythonから入門するというのはオススメ CとC++ってセットで覚えなきゃいけないのですか?
後どれくらいまで覚えたらC/C++覚えたという域なのかも教えてほしいです。
いずれにしてもかなりきつそうだなぁ…回答ありがとうございます。 まずはC言語でポインタが理解できればOKだと思うけど
そこで躓くと厳しいかも cheat engineで質問なんだけどdouble型の値があってそれのベースアドレスが見つからなくでて困ってるんだが何かヒントがのってるサイトがあるのないかな?
ポインタスキャンを使っても引っかからないしポインタを検索しても途中で見つからなくなってて困ってるんだよね >>908
教えていただいた通り
https://9cguide.appspot.com/19-01.html
ここでポインタまで覚えました
次は何をすればいいのでしょうか? 一緒にcheat engine勉強するかって誘ってるんだけどスルー? 過去スレを読み返すと
C言語をやれと言ってる人、C++をやれと言ってる人
どちらもいますがどちらをやっても解析では同じなんですか? その質問をするレベルだとC/C++の学習はまだまだ早いように思えるが一応答えるとC++でいいよ
基本どっちも同じだけどC言語はオブジェクト指向がサポートされてない
一定規模以上のソフトウェアはオブジェクト指向で作られており、つまりほとんどのゲームはオブジェクト指向で作られてる
そのためC言語だけをマスターしても「このメモリレイアウトの先頭ポインタはVTableかな?」みたいな気付きが出来ない ちなみにオブジェクト指向の習得にはC++よりもJavaやC#の方が向いてる
C++じゃそこまで辿り着くまでの関門が多すぎるから
抽象度の高い概念はJavaやC#で学び、コンピュータの基礎原理に近い概念はC/C++で学ぶというのが定石 the メイド服と機関銃の予備弾数を変更したいためpcsx2 1.6.0で
dvdで起動してステージ開始後の予備弾数をサーチして
莫大な数のアドレスが出てきたので
アドレスを絞るために予備弾数を適当に減らしてから
減らした数字でサーチしてもなにもアドレスがサーチが表示されなくなりました
どうすれば上手くアドレスサーチができるのでしょうか? アドレスサーチで使ってるツールはチートエンジンです >>963
さっきやってみたんですけど
サーチできませませんでした 一緒にcheat engine勉強するかって誘ってるんだけどスルー? CEの何を勉強すんだよ
使いながら慣れるぐらいしかやることないだろ ゲームの未使用マップがある場合どうやってそれを開けるように出来る? 適当にマップのアドレス見つけてそこら辺全部開けるんで良いんじゃね? dmm game playerから起動するゲームっていじれますか? >>973
該当ゲームを展開しようとしたらエラーが出て開くことすらできないんですよね
ちゃんとゲームのアイコンにしてるんですが そう、でもcheatengineだとerror while opening this processと出て何もできん。
セッティング画面からopen processにチェック入れて、一応byte、2byte、4byteでTP
を減算してみたけどだめだった。
せめて1日で育てれる数を増やしたくてね やり方が間違ってのはわかってるけど
ぶっちゃけ、このゲームはいじれるの?それとも無理? >>986
じゃあ、せめて何が必要かだけ教えて。
僕が持ってるのはcheatengineとうさみみハリケーンだけなんだけど、これだけでは無理ですか? たぶんCheatengineでアタッチするところを間違えてるんだと思う 1から言うと
ゲーム起動しました
cheatengine起動しました
select a process openからumamusume選択
error while opening this process
となる状態。 普通のゲームみたいにアイコン表示することできます? とあるRPGゲームでCEを使ってステータスの値をサーチしてアドレスリストに表示しているんですが
ゲーム内イベントが発生する毎にステータスの値が入っているメモリが変動してしまいます。
ポインターマップを変動前、変動後で作成して比較し、ポインターサーチをしようともしたんですが
一つもポインタが見つからず、何度試してもダメでした。多分かなりランダム性を持たされている気がします。
この場合どういったアプローチが可能でしょうか? 何故ゲーム名を書かないで「とあるゲーム」とするのか理解不能 言いたくない事情があるんだろうなって文面から普通理解するとは思うんですがアスペか何かですか?
もちろんタイトル言えば試してくれる方もいるかもですが、言えないなら分からないな、であればそのままスルーで良いです。
同じ様なパターンを経験された方がいれば、助言貰えればいいなと思って書き込みました。
これで理解してもらえました? noxとかのエミュで起動したゲームもチートエンジンでいじれる? ウマ娘って、減算するのにbinaryしか反応しない感じですか?
byteや2byteなどでマニーを減算してるんですが、全く反応なくて 最近のゲームはそういった単純なパラメーターも大抵はちょっとしたxor暗号とかされてるから増減サーチじゃ引っかからない事が多い
もしくはbit単位で保持されてるとかfloatやdoubleだったりとか >>999課金ゲーとかそういう種類だから、かなり複雑にしてあるのかもしれませんね このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 1795日 1時間 30分 30秒 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php レス数が1000を超えています。これ以上書き込みはできません。