X



チート初心者スレpart2 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
0001ネトゲ廃人@名無し
垢版 |
2016/04/26(火) 18:05:45.74ID:???
ミジンコ同士勉強していこうぜ

●定番解析ソフト
・デバッガ OllyDbg
http://www.ollydbg.de/
・プロセスメモリエディタ兼デバッガ スペシャルねこまんま57号
http://www.vector.co.jp/soft/win95/hardware/se254476.html
・プロセスメモリエディタ兼デバッガ+加速器 うさみみハリケーン
http://www.vector.co.jp/soft/win95/prog/se375830.html
●バイナリエディタ
・Stirling
http://www.vector.co.jp/soft/win95/util/se079072.html
・Binary Editor BZ ※4GBまで編集可
http://www.zob.ne.jp/~c.mos/soft/bz.html
●解析参考サイト
・Digital Travesia ※OllyDbg日本語化パッチあり
http://hp.vector.co.jp/authors/VA028184/

前スレhttp://schiphol.2ch.net/test/read.cgi/mmosaloon/1210219737/
ツールのクレクレ、売ります系はスルーで
0665ネトゲ廃人@名無し
垢版 |
2020/04/12(日) 12:25:54.05ID:???
ポインタの暗号化って見たことないんだけどxorで暗号化復号化されてるって感じか?
0666ネトゲ廃人@名無し
垢版 |
2020/04/12(日) 12:34:41.75ID:???
考えてみればxor暗号までせずともset時にポインタを1減らしてget時に1加算するというコードにしておくだけでも自動ポインタスキャンは防げるな
0669ネトゲ廃人@名無し
垢版 |
2020/04/13(月) 05:46:07.12ID:???
ポインタ暗号化されたところで簡単に復号できるから意味ないんだよなぁ...
0671ネトゲ廃人@名無し
垢版 |
2020/04/13(月) 14:53:59.32ID:???
>>669
手動ならそうだけどポインタスキャンを防げるだけでも一応意味はあるな
ただポインタを暗号化するって普通のコンパイラじゃそんな事出来ないだろうから相当手間かかってるな
0675ネトゲ廃人@名無し
垢版 |
2020/04/16(木) 10:22:33.19ID:???
>>672
暗号化するだけならまだしも復号化コードを挟まなきゃいけない訳だからコンパイル後にいじるのって限りなく不可能に近くないか?
0676ネトゲ廃人@名無し
垢版 |
2020/04/20(月) 18:23:31.11ID:???
VALORANTはいけそうなのか?
Riotのセキュリティチームって元チーターだから厳しそうだな
ハッカーフォーラムやDiscordなんかにもチーター装って潜入してくるみたいだし
0677ネトゲ廃人@名無し
垢版 |
2020/04/21(火) 18:02:10.72ID:???
ハッカーフォーラム潜ったところで、もうチート対策の限界にきてると思うから個別の対策はできても根本的な対策はできなさそう。
まあでもValorantはサーバー側でVisibleチェックして見えてなかったら座標データ送らないようにするらしいからこれでどこまで防げるのか興味ある
0714ネトゲ廃人@名無し
垢版 |
2020/05/08(金) 16:42:37.57ID:???
『Fortnite Battle Royale』起訴されたチーターがEpic Gamesと和解、14歳チーターの母親にも言及 | Game*Spark - 国内・海外ゲーム情報サイト  
https://www.gamespark.jp/article/2017/12/06/77200.html
今後同社の著作物を作成、執筆、開発、広告、宣伝、配布するなどの著作権侵害や再度のチート行為を禁ずる恒久的な差止命令を出し、違反した場合には罰金として5,000ドル(50万円)の支払いを要求しています。
0717ネトゲ廃人@名無し
垢版 |
2020/05/11(月) 04:46:30.59ID:GNvXha6J
NoxやブルースタックスとCEの環境だと「アクセスしている命令」や「書き込んでる命令」を検知出来ないのは仕様だと分かったのですが、エミュレータの問題でしょうか?
他に使えるエミュレータを探していますがありませんか…?
0718ネトゲ廃人@名無し
垢版 |
2020/05/16(土) 15:59:28.19ID:???
オフラインゲーム(RPGやアクションゲーム)などで数値の書き換えを行っても、すぐに元の数値に戻されるものはどのように書き換えを行えばいいのでしょうか。
静的アドレスを探してポインタを作るといいのでしょうか
0719ネトゲ廃人@名無し
垢版 |
2020/05/17(日) 09:03:14.94ID:???
すぐ戻される値は、そこにメモリライトブレークポイントを設置して
戻される値の元をたどる、そのうちに計算で使用する実際のパラメータが見つかるはず
0720ネトゲ廃人@名無し
垢版 |
2020/05/17(日) 09:24:22.75ID:???
実体じゃないってケースなら>>719が言うように更に探す必要があるけど、そこが実体であるならアセンブラを改変するしかない
mov [その数値へのアドレス], eaxみたいなループが走ってるからすぐに元の数値に戻されちゃう訳なのでnopで埋めるなり条件付きジャンプを挟むなりすればいい
0721ネトゲ廃人@名無し
垢版 |
2020/05/17(日) 13:38:16.71ID:???
>>719
メモリライトブレークポイントというのはcheatengineでも設置することができますか?
検索してもメモリライトブレークポイントというのがヒットしなかったのでもう少し調べてみます

>>720
実体かどうかわからないのですが、今見ているアドレスでは静的アドレスが検出されません
mov [その数値へのアドレス], eaxを探してみます

cheatengineで数値の書き換えと簡単なポインタの作成しかできないので
お二方の言っている作業が難しいのであれば知識的に無理かもしれません
0722ネトゲ廃人@名無し
垢版 |
2020/05/17(日) 16:23:16.27ID:???
指定したメモリが書き換えられたらブレークするというもの
どこで書き換えているのか調べたい時に使う
0723ネトゲ廃人@名無し
垢版 |
2020/05/18(月) 09:04:09.86ID:???
メモリライトブレークポイントはCheatEngineでは
Break on Write
Find out what writes this address
0724ネトゲ廃人@名無し
垢版 |
2020/05/19(火) 11:30:38.32ID:???
>>722>>723
ありがとうございます。

どうも実体じゃなく、その画面にいる時のみCTに反映されているのでメモリブレークで探してみます
0725ネトゲ廃人@名無し
垢版 |
2020/05/20(水) 14:57:41.19ID:???
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
0726ネトゲ廃人@名無し
垢版 |
2020/05/20(水) 18:21:46.32ID:???
>>725
1405A0EAC - mov byte ptr [rbx+08],01
のrbxがどこから持ってきたかアセンブラを更に遡ってみては?
手っ取り早い方法なら2D6A48E0-300 ~ 2D6A48E0って感じの範囲検索をして出てきたもののアクセス監視するとか
0727ネトゲ廃人@名無し
垢版 |
2020/05/20(水) 22:17:59.89ID:???
>>726
Cheat Engineというよりアセンブリ作業自体今回初めてやるのでRBXの出所を探るのに参考になるサイトを探しているのですが
日本語サイトは初歩の部分までしか載ってない所しか見つからないし、英語サイトは目的となる事を書いてあるのか判断するのに時間がかかる
https://fearlessrevolution.com/threads/11173/にあるBulletstormのチートテーブルの中を見てもスクリプトで組まれてて理解不能な状態です
0728ネトゲ廃人@名無し
垢版 |
2020/05/21(木) 15:54:17.97ID:???
Bulletstormはunreal engineだからUIとかスクリプトで書かれていると思う
ブレークで止まるのは、例えば値をセットするルーチンとかなので
1405A0EB0は、他の値をセットする時にもブレークするはず
こういうのは大本たどるのが大変
0729728
垢版 |
2020/05/21(木) 18:57:48.05ID:???
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の命令は、固定アドレスを示しているので
ゴアフラグの実体の可能性が高い。
0730ネトゲ廃人@名無し
垢版 |
2020/05/21(木) 19:02:00.07ID:???
このままトレースを続けると

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 ココも変えたので注意
0731ネトゲ廃人@名無し
垢版 |
2020/05/30(土) 20:55:14.32ID:???
>>730
横から失礼します
どうやって解析能力を身に着けたのでしょうか?
右も左も分からない状態なので参考にしたいです
0732730
垢版 |
2020/05/31(日) 10:58:10.22ID:???
人の真似から初めて解析に慣れるのが良いかと思います。。
Bulletstormの例でも、スレみて真似するだけでも得る物があるハズ
たぶん、???な部分も出るのでソコを自分で調べるなりしてみるのが
勉強になったりします。
今は、この様な話題が出来る場はほぼ無いです。
ここでもマシな部類なので、私が解る範囲でコメント出来るときはしています。
0733ネトゲ廃人@名無し
垢版 |
2020/06/01(月) 09:58:34.97ID:???
解析能力はなんだかんだでプログラミング能力に比例して伸びていく
なぜならプログラミングが出来るとアセンブラを見れば大体「ここはあの関数かな」と推察出来るようになる
とは言えPythonとかRubyとかJsみたいな動的型付け言語だとこの話は当てはまりづらくて、
最低でもJavaやC#のような静的言語、C/C++なら完璧に解析力とプログラミング力はリンクする
0735ネトゲ廃人@名無し
垢版 |
2020/06/02(火) 10:20:35.27ID:???
ハッカーになるにはC++を習得するのは必須事項だが、だからといってC++から始めると99.999%挫折する
0736ネトゲ廃人@名無し
垢版 |
2020/06/02(火) 11:51:24.36ID:???
まずはC言語でポインタの考え方、使い方のマスターじゃないの?
いきなりC++だと充実したクラスライブラリやフレームワークで低レベルの処理が隠蔽されて見えなくなって、このスレでの本質がつかめない気がする
0738ネトゲ廃人@名無し
垢版 |
2020/06/03(水) 07:14:22.34ID:???
Cは独学でなんとかなりそうだけど
アセンブラの覚え方が分からない
アセンブラって古いpcじゃないと動かないみたいだし
皆どうやって習得したんだ…
0739ネトゲ廃人@名無し
垢版 |
2020/06/03(水) 17:41:22.95ID:???
アセンブラが古いPCじゃないと動かないって何を言っているんだ?
全てのプログラムは最終的にアセンブリ言語に変換されてCPUがそれを読み取るから動作する訳だが
逆の言い方をするとアセンブラ以外のプログラミング言語は所詮アセンブラのマクロに過ぎない
0741ネトゲ廃人@名無し
垢版 |
2020/06/03(水) 20:16:11.92ID:???
>>739
独習アセンブラって本を借りてきたんですが
古いpcじゃないとコンパイラみたいのが無いみたいなので手を動かしながら学べないのかなと
0742ネトゲ廃人@名無し
垢版 |
2020/06/03(水) 23:52:27.64ID:???
32BitならVisualStudioでインラインアセンブラ使えるぞ
64Bitでも自分の作ったCまたはC++プログラムを混合モードでデバッグすれば
アセンブラでステップ実行できるので勉強になるかも
自分が書いたソースがどんなアセンブラ命令に展開されるのかなど
0745ネトゲ廃人@名無し
垢版 |
2020/06/08(月) 14:32:04.35ID:???
C# → アセンブラ&C++が多分ベスト
C#はVisualStudioのサポートが手厚いため意外と初心者も入りやすい
それに加えてC++程ナチュラルには書けないもののWin32Apiやポインタも扱えるので普通にC#だけでもユーザーモードチートは完結する
ただ極めようと思ったらカーネルハックは避けて通れないからC/C++も最終的には必要
0759ネトゲ廃人@名無し
垢版 |
2020/07/28(火) 09:49:50.04ID:???
お世話になります。何かヒントを頂けたらと思いカキコします。
AndroidアプリをNoxplayerで起動し、CheatEngineを使い解析しいます。

「ぬいぐるみのレストラン」というゲームにて
目に見える変動数値は可能なのですが
システム上、手足の種類や色の変更があるのですが
この種類や色を特定する方法はありますでしょうか。

例えがわかりにくいかもしれませんが
モンハンの装備のような感じで、左右手足など部位ごとに変更されるものです。

ご教授宜しくお願い致します。
0760ネトゲ廃人@名無し
垢版 |
2020/08/12(水) 09:24:21.46ID:???
そういうのは装備ID特定しなきゃいけないし変数アドレスを見つけたとしても値を変更しても反映されない確率が高い
よってメモリサーチだけじゃ難しい
Androidアプリならapk解析してプログラムそのものを改変する方が楽だったりする
それをやるためにはJavaだったりUnity産ならC#が読めないとダメだから敷居は高いが
0761ネトゲ廃人@名無し
垢版 |
2020/08/15(土) 08:57:26.32ID:bYLQnKbT
RPG maker vx ace製のゲームをチートしていたら>>258も方が言っていたようなベースポインタのオフセットに*4されているポインタが出てきました。
ベースポインタらしきものを走査しても静的でもないアドレスが1件ヒットするのみで静的ポインタを見つけられません。
どなたかやり方やチュートリアルなど、英語でも構いませんので教えていただけないでしょうか?
0762ネトゲ廃人@名無し
垢版 |
2020/08/16(日) 21:17:09.96ID:???
チートエンジンで獲得経験値変更について分かるサイトとか無いでしょうか?
検索して出て来ないとどうにもならない…
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況