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/
ツールのクレクレ、売ります系はスルーで
0031ネトゲ廃人@名無し
垢版 |
2017/04/26(水) 22:43:20.13ID:???
もう五回くらい挫折してるけどまた挑戦したくなったからカキコ
ミジンコは俺と一緒に勉強しようぜ 三日で挫折するかもだけど
とりあえず日本語で情報探すのは難しいことを学習した
英語得意じゃないけど頑張るぜ
とりあえず
この動画から
https://www.youtube.com/watch?v=zFUHrg-wdmo
0032ネトゲ廃人@名無し
垢版 |
2017/04/26(水) 23:16:59.50ID:???
動画の説明
まずCheat Engine使って緑ルビーの数(左上のスコア)を決めているメモリのアドレスを見つけている
メモリのアドレスは0x00ABEA6C
このアドレスの値を2000に書き換えている

該当の値を書き換える関数はWriteProcessMemory関数
WriteProcessMemory関数に渡すべき情報はターゲット(ドラゴンのゲーム)のhandleと該当のメモリアドレス(0x00ABEA6C)

ターゲットのhandleを知るための関数はOpenProcess関数
OpenProcess関数に渡すべき情報はターゲットのプロセスID

ターゲットのプロセスIDを知るための関数はGetWindowThreadProcessId関数
GetWindowThreadProcessId関数に渡すべき情報はターゲットのhwnd

ターゲットのhwndを知るための関数はFindWindowA関数
FindWindow関数に渡すべき情報はターゲットのウィンドウ名
動画だと変なドラゴンみたいなゲームのウィンドウ名は"ePSXe - Enhanced PSX emulator"となっていて
その文字列を渡している

どうやらプレステのゲームをエミュでやっててそれのハックをしている模様
0033ネトゲ廃人@名無し
垢版 |
2017/04/26(水) 23:19:21.78ID:FUqPIxM1
あ ReadProcessMemory関数使えば該当のアドレスの値を読み取ることができる
0034ネトゲ廃人@名無し
垢版 |
2017/04/26(水) 23:21:18.75ID:???
動画の最後は無限ループ処理で
スペースキーを押している間はWriteProcessMemory関数使って
スコアの値を増加させていっている
0035ネトゲ廃人@名無し
垢版 |
2017/04/26(水) 23:25:00.13ID:???
ここらへんはまあ余裕なんだがアンチデバッグ、アンチチートあたりの話になると
俺はもう何をしていいのか分からなくなる
0036ネトゲ廃人@名無し
垢版 |
2017/04/27(木) 05:01:10.20ID:???
ミジンコが最初にやること

>>1の『うさみみハリケーン』をダウンロードして、うさみみのヘルプを最初から最後までしっかり読む
これでプロセスメモリエディタやデバッガの、基本的な使い方が理解できて脱ミジンコ
0041ネトゲ廃人@名無し
垢版 |
2017/04/28(金) 08:47:07.83ID:???
俺の挫折ポイントは練習もしてないのにいきなり試合を仕掛けて当然上手くいかないってとこかな

チュートリアルが用意されてるような常識的なアンチデバッグ技術は一通り勉強するつもり
0042ネトゲ廃人@名無し
垢版 |
2017/04/28(金) 12:50:25.16ID:???
簡易デバッガ作成、簡易プロセスエディタ作成、アンチデバッグ手法、プロセス隠蔽手法、ドライバ作成、dll injection、api hookここらへんを一通り勉強すればそこそこ実力つきそうだけど問題はやる気だな。
自己管理能力0だから3日で飽きるわ。
0043ネトゲ廃人@名無し
垢版 |
2017/04/30(日) 20:53:44.45ID:???
●買った本
・デバッガによるx86プログラム解析入門
・リバースエンジニアリングバイブル ~コード再創造の美学~
・たのしいバイナリの歩き方
0044ネトゲ廃人@名無し
垢版 |
2017/04/30(日) 21:05:59.45ID:???
>>43
いい選択だね
俺は「デバッガによるx86プログラム解析入門 【x64対応版】」にはかなりお世話になったわ
0045ネトゲ廃人@名無し
垢版 |
2017/05/01(月) 00:05:17.92ID:???
●デバッガー自作について
CreateProcess関数でデバッギー(対象のプロセス)を起動する。
その際、DEBUG_ONLY_THIS_PROCESSを引数に指定する。
(これでデバッガーにデバッグイベントが通知されるようになる。)
あとはWaitForDebugEvent関数でデバッグイベントの通知を待ち、
デバッグイベントの種類によって処理を振り分ける。

●通知されるデバッグイベント(DEBUG_EVENT構造体に各種情報が格納されて渡される)
CREATE_PROCESS_DEBUG_EVENT プロセス作成
CREATE_THREAD_DEBUG_EVENT スレッド作成
EXCEPTION_DEBUG_EVENT 例外発生
LOAD_DLL_DEBUG_EVENT DLL読み込み

●ステップ実行の実装
EFLAGSレジスタ内にあるトラップフラグを使う。
このフラグがセットされた状態でデバッギーを実行すると、
ニーモニックを一つ実行した時点でEXCEPTION_DEBUG_EVENTが通知される。

●ブレークポイントの実装(int3)
デバッギーにint3命令を埋め込む。
int3命令が実行されるとEXCEPTION_DEBUG_EVENTが通知される。

●ブレークポイントの実装(デバッグレジスタ)
SetThreadContext関数でデバッグレジスタの値をブレークさせたいアドレスに書き換える。
該当のアドレスが実行されるとEXCEPTION_DEBUG_EVENTが通知される。

●逆アセンブラの実装
オープンソースの逆アセンブラ(udis86等)を使う。
0046ネトゲ廃人@名無し
垢版 |
2017/05/01(月) 00:12:32.26ID:???
>>44
【x64対応版】買ったよー
まえがきの
・プログラムの動作原理を正しく理解することが大事
・基本をふまえた上でないと、応用としてのテクニックを理解するために苦労する
・結果を急がないこと
・基本を確実に理解して次に進むこと
を肝に銘じて学習を心がけるつもりだよ
0047ネトゲ廃人@名無し
垢版 |
2017/05/01(月) 03:12:00.47ID:???
春だしこれから解析を勉強していこうって人が多いと思うけど、
まず、自分が解析とかプログラミングに向いているのか向いていないのかを
自覚することが大事だと思う

解析に向いている人なら、>>42を学ぶのも、>>43の本を読むのも楽々とこなしていく
「解析のことを学ぶのが楽しくて仕方がない」って感じ

だが、解析に向いていない人だと、>>42>>43で学ぶのは、とても難しく感じるはず
それを乗り越えていくための努力や根気がないと、挫折してしまう

そして、解析に向いていない人の一部は挫折した結果、自分が解析に不向きなことや
努力不足を棚に上げて、「難しく感じるのはチュートリアルとかの教え方が悪いから」って
悪口を言い始める
毎年のようにこういう人が出てくる

自分が解析に向いてないって気づいたら、向いてる人の何倍も努力する覚悟を決めるか、
それともすっぱり諦めるか、決断するのが吉
達成目標を低く設定して、自分に見合う無理のない学習プランを立てるのもあり

某掲示板で、解析の勉強に挫折した人が、1年近く「教え方や説明が悪いから挫折した」って
悪口を書き続けるのを見て悲しくなったよ...
0048ネトゲ廃人@名無し
垢版 |
2017/05/01(月) 03:14:27.49ID:???
●anti-disassembly
逆アセンブラ(IDA PRO等)が上手く解釈できないバイト列を埋め込むテクニック
例)EB FF C0 48

IDA PROは先頭バイトから順番に逆アセンブリしているだけなので
上のバイト列の解釈は
EB FF(jmp -1)
C0(うまく解釈できない)
48(dec eax)   
となる。

実際は
jmp -1を実行した後の次の処理バイト列が
FF C0 48になる。そして
FF C0(inc eax)
48(dec eax)
として実行される。

ポイントはFFが二回実行されているところ。
この例ではjmp命令とinc命令を重ねているけど
FFはcall命令のバイト列(FF 15)でもあるのでjmp命令とcall命令を
重ねて難読化することも可能

flow-oriented disassemblyだとこの難読化にはひっかからない
linear disassembly(IDA PRO等)だとひっかかる
0049ネトゲ廃人@名無し
垢版 |
2017/05/01(月) 03:24:02.63ID:???
>>47
その内挫折すると思うけど、
どこぞの掲示板でヘイト撒き散らすような人間ではないから安心してくれw
解析技術が人に教えて君のスタンスで身につけられるほど
甘い技術ではないことも理解しているつもり
0051ネトゲ廃人@名無し
垢版 |
2017/05/01(月) 08:32:09.76ID:bAaSLnsK
>>48
> FFはcall命令のバイト列(FF 15)でもある> のでjmp命令とcall命令を
> 重ねて難読化することも可能
この部分無視で(読解間違えたっぽい)
0052ネトゲ廃人@名無し
垢版 |
2017/05/01(月) 08:56:21.43ID:???
●検索キーワード
inline hook
IRP(i/o request packets) hook
IAT(import address table) hook
SSDT(system service descriptor table) hook
IDT(interrupt descriptor table) hook
dkom(direct kernel object manipulation)
0054ネトゲ廃人@名無し
垢版 |
2017/05/04(木) 05:15:57.88ID:???
udis86のコンパイルにてこずった(visual studioの使い方分かってなかった)からメモ
誰かの参考になれば幸い
環境:windows7 64bit、visual studio2017

1)udis86.slnを開いてソリューションの再ターゲットをする(v141へ)
2)buildVS2010.batを実行
 ビルドが成功する
3)udis86を利用するc++プロジェクトを作成する
4)プロジェクトのプロパティ -> vc++ -> インクルードディレクトリ
udis86-masterフォルダの絶対パスを指定
5)リンカー -> 全般 -> 追加のライブラリディレクトリ
〜〜〜udis86-master\BuildVS2010\Build\Lib\x64を指定
6)ソリューションプラットフォームをx64に指定(再生ボタンの左)
0056ネトゲ廃人@名無し
垢版 |
2017/06/01(木) 02:57:59.33ID:???
早速挫折してた
どうしてもゴールまでの道筋が見えないと
モチベーションが保てないな

ゴールを気にせず、一つ一つの点をしっかりおさえていけば
それがつながってゴールまでいくのかもしれないんだろうけどさ

モチベーションをうまく維持してやる方法考えないとだめだ
0057ネトゲ廃人@名無し
垢版 |
2017/06/01(木) 03:13:31.20ID:???
情報の古い新しいには拘らずに有名なアンチチートシステムの動作を調査してある程度のあたりをつけよう
0058ネトゲ廃人@名無し
垢版 |
2017/06/10(土) 05:00:40.70ID:ioaC48+q
すいませんcheat engineを使ってみようとダウンロードして色々弄ってみたのですが
事あるごとに
you are missing the driver. Try reinstalling cheat engine, and try
to disable your anti-virus before doing so.

というダイアログがでてきます
そのせいか検索等はまともにできているようですが
数値の書き換えの段になると全く反応せず困っています

OSはwin764bit アンチウィルスはアバストです
ググってあちこち見てみましたが特にドライバーの情報は得られず

再起動やアンチウィルス切ってのダウンロードからやり直しなどは何度もやってみましたが同じ結果
cheat enfineはvar6.6を複数サイトで落として見ましたがいずれも同じ結果
ver6.7でも同じでした
何方か御教示お願いできませんでしょうか
0060ネトゲ廃人@名無し
垢版 |
2017/12/10(日) 01:43:07.28ID:???
☆ 私たち日本人の、日本国憲法を改正しましょう。現在、
衆議員と参議院の両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
もう可能です。平和は勝ち取るものです。お願い致します。☆☆
0061ネトゲ廃人@名無し
垢版 |
2018/01/26(金) 23:34:53.80ID:0ocU/TRN
ネトゲサロンいらずで金儲けできる方法とか
グーグルで検索⇒『羽山のサユレイザ』

972AQ
0062ネトゲ廃人@名無し
垢版 |
2018/07/21(土) 05:33:56.28ID:+YhBCeLN
age
0064ネトゲ廃人@名無し
垢版 |
2018/08/22(水) 08:21:34.32ID:Y0UL7KgL
自分も解析したいんですが、何の言語から勉強すればいいんでしょうか?
またその言語のお勧めの入門書等あれば教えてほしいです
解析に関する書籍を一冊買ったのですがプログラミング言語を知らずして読むのは無理だと確信したので
ご教授お願いします
0065ネトゲ廃人@名無し
垢版 |
2018/08/22(水) 08:29:40.17ID:???
ミジンコでも出来るネット解析ってサイトみてAssemblerって言語も最小限わからんと無理だなと
思って色々調べたけどそもそも実行環境整えるのがプログラミング0からの人間がやるにしては敷居が高すぎた
手をこまねいているだけじゃなく一応C++の入門書をやり始めてみたけど、意味あるのかなあ
0066ネトゲ廃人@名無し
垢版 |
2018/08/22(水) 09:51:34.89ID:???
解析したい  じゃなくてこのゲームでこんな事をしたい じゃないとできるできない以前にモチベが続かなさそう、目標すら無いなら只々苦痛だと思う
目標が決まったら似たような事をしている人がどこから手をつけているか探すといいし、決まらなかったらプログラムの動作原理とアセンブラからとかじゃないかなぁ
0067ネトゲ廃人@名無し
垢版 |
2018/08/22(水) 17:43:25.05ID:???
>>66
解析が出来るようになりたいが目標じゃ駄目ですかね?
なんか簡単なツールでも作れるように目標を低く設定するのがいんでしょうか
自分と似てるような状況の人と同じことをしてみる、ですか
前スレ見た感じだと自分みたいにプログラミング言語もとい、ネットワーク周りのことを全く知らない人間は殆ど目標すら決まらず行き詰まってますね…
何を学習していけばいいのか全く検討もつきません;
アセンブラはやろうと思ったんですがNASMとかの実行環境導入が敷居が高すぎて折れました…
paizaとかでコード実行できればいいんですが・・・

レスありがとうございます
0068ネトゲ廃人@名無し
垢版 |
2018/08/22(水) 17:50:46.53ID:???
読んでいたC++の入門書は何とか読み切った
しかし仮想関数、演算子のオーバーロード、STL、列挙型辺りは何を説明してるのか全く分からず
プログラミング板でアドバイスを貰った所
プログラミング経験0の奴がCから入っても無駄と言われたので
お勧めされたjavaとrubyの超入門書を買ってきた
ああ、先が見えない・・・
007065 ◆Z0O3c5Zz3.
垢版 |
2018/08/23(木) 08:47:45.48ID:JSCBY2dz
俺は前スレの1みたいに逃げずに解析者になるんご
0071ネトゲ廃人@名無し
垢版 |
2018/08/24(金) 10:50:00.94ID:???
x86プログラム解析入門って本買ったけど全然分からなかった
0からでも分かるって謳い文句だったけど…プログラミング知識0からじゃまず不可能だな
0072ネトゲ廃人@名無し
垢版 |
2018/08/24(金) 11:26:26.60ID:???
>>71
その本、プログラミングの予備知識とか経験とか全然なかったけど、大部分は理解できたよ
>>71は難しく考えすぎじゃないのかな?
読み方を工夫すれば、書いてあることが結構理解できると思うよ
0073ネトゲ廃人@名無し
垢版 |
2018/08/24(金) 15:25:43.54ID:???
えーほんとに?
俺はC++とjavaの入門書を少しやってからさっき読んでみたけど目も背けたくなるような内容でしたよ
ステマじゃないの?
0074ネトゲ廃人@名無し
垢版 |
2018/08/24(金) 17:52:54.00ID:???
>>73
本当だよ
1回読んでもしっかり理解できなかったから、3回最初から最後まで何日もかけてじっくり読んだけどね
C++の勉強までやってる>>73が本気を出せば普通に理解できると思うよ
0075ネトゲ廃人@名無し
垢版 |
2018/08/24(金) 22:43:18.01ID:???
74さんの頭の出来が良いだけだと思うけど…
ツールの使い方とかは読んでたらなんとなく理解出来そうだけど
プログラムの構造体とか列挙型とかアセンブラだのWINAPIだの今見たって全然頭に入ってこないし難しすぎる
やっぱり一通りプログラミングの中級本まで読んで理解出来るようになってから読み返すのが
遠回りのように見えて近道なのかな・・
0076ネトゲ廃人@名無し
垢版 |
2018/08/24(金) 23:45:41.09ID:???
ゲームガードとか回避するのもプログラミング言語をある程度読めないと出来ないですよね?
そこら辺もあまりよくわかってないけど・・
0077コピペ
垢版 |
2018/08/25(土) 05:36:00.75ID:???
まじめにやれば3年くらいで習得できるんじゃないか
ASM、C習得→言葉がやっとわかる程度
Ollyの操作習得→他人の猿真似でチートっぽいことができる

WinAPIの理解
PEヘッダとDLLロード、フックの方法
ドライバとカーネル、Winsockの理解

これら学習するとやっと解析や何すればいいか見えてくる。 ー

>>121
それ解析とは言わない。検索。
しかもAPIはいちいち勉強するようなものじゃない。時間の無駄。
入門者がやるべき最短手順は

(1)テトリスを作ってみる。理解不足を感じたらブロック崩しや倉庫番も作ってみる。
 これでゲームの構造が基本的に全部同じことを知ると同時にプログラミングの基礎を学ぶ。

(2)AdvancedWindowsとフィルタドライバプログラミングを手を動かしながら読む。
 これでWindowsの構造を知ると同時にDLLインジェクトとフィルタドライバのテクニックを学ぶ。

で完了。それなりの大学行ける程度の頭があればおおむね1ヶ月で終わる。
それをアセンブラだのAPIだの必要に応じて検索すれば済むことを
いちいち勉強しようとすると時間だけが無駄に過ぎていく。  ー
007874
垢版 |
2018/08/25(土) 06:21:49.97ID:???
>>75
>74さんの頭の出来が良いだけだと思うけど…
いやいやいやいや
1回読んだだけでサクッと理解しちゃうプログラミング未経験の人達もいるんだから

構造体は、説明を読んだ後で、うさみみハリケーンでPEB構造体を見たり、
うさみみ付属のUMPEでPEヘッダの構造体を見たりして、こういうものって納得した
こんな風に、こうしたらもっと分かるっていうのを探してみるのが大事だと思う
副読本を使うのも上手なやり方だね
0079ネトゲ廃人@名無し
垢版 |
2018/08/25(土) 19:28:03.58ID:???
まじか
読んでただけだったからあまり理解できなかったのかな^^;
実際に手を動かしながらやらなかったので理解の差が出たのか
最初の方から内容きつかったから単に俺の頭が悪いだけの可能性も高いが・・・
次読む時はツールとか色々揃えてやってみる
アドバイスありがとうございます
0080ネトゲ廃人@名無し
垢版 |
2018/08/25(土) 19:31:13.58ID:???
前スレの>>13コメマンも言われてたけど
プログラミング言語とか解析入門以前にパソコン周りの事もっと勉強したほうがいいのかな
プログラミング言語やり始めるまでパソコンなんてゲームでしか使ったことなかったし
0081ネトゲ廃人@名無し
垢版 |
2018/08/26(日) 07:55:04.65ID:???
C++の入門書とjavaの入門書おわった8/26
ここまで解析に繋がりそうな手がかり無し
次python入門やってみよう
0082ネトゲ廃人@名無し
垢版 |
2018/08/27(月) 10:32:03.51ID:???
知り合いに苦しんで覚えるC言語って入門本もらった
ラッキー
これ読み終わったらロベールのC++って分厚い奴読んで
その後にx86プログラム解析入門読み直すか

なにかアドバイスとかあったら欲しいです
0083ネトゲ廃人@名無し
垢版 |
2018/08/28(火) 08:39:10.68ID:???
解析の仕方、ツールの使い方を説明してるサイトはあるけど
解析の学習をする前に何を学べばいいのかとか書いてあるサイトは全然ないよな
この段階から探り探りでやらなきゃいけないのはめんどうくさいな
0084ネトゲ廃人@名無し
垢版 |
2018/08/29(水) 07:20:58.22ID:???
苦しんで覚えるC言語読み終わった 8/29
これで読み終わった本は
スッキリ分かるjava
優しいC++
苦しんで覚えるC言語
この3冊になった
後2冊やってからx86プログラム解析入門読もう・・・
008564 ◆Z0O3c5Zz3.
垢版 |
2018/08/29(水) 08:11:35.81ID:???
もっと人がたくさんいるチート初心者スレあったら誘導してほしいです
中学もマトモにいってないし高校もいってないし一人で学ぶのは骨が折れる;
0086ネトゲ廃人@名無し
垢版 |
2018/08/29(水) 16:24:39.52ID:???
学歴マウント取るわけではないけど、プログラミングひいてはチートの分野って外国人のほうが詳しいし、コミュニティも多いから
高校英語くらいまではチートと並行して勉強しておいたほうが、後々助かるかも
専門用語が多い文章だとGoogle翻訳がうまく働いてくれないから自分で読まないといけないんだよね
008764 ◆Z0O3c5Zz3.
垢版 |
2018/08/29(水) 17:59:49.28ID:???
>>プログラミングひいてはチートの分野って外国人のほうが詳しいし

らしいですね。これはどっかで聞いたことあるな
実際、日本人がチート販売してるのも大抵海外から拾ってきたツールだしね…
おいおいやっていこうかなとは思ってます
008864 ◆Z0O3c5Zz3.
垢版 |
2018/08/29(水) 18:13:57.65ID:???
まぁでも今必要なのは何処までプログラミングの知識をつければいいのかかな
上に少し出てるけどドライバ自分で書けるまでってのも現実的じゃなさそうだし、ゲームも難しそう
オンラインゲーム解析してる人が全員ゲーム作成出来るかって言われたらそうでもなさそうだしなぁ
かといって自分で何処までやればいいのか検討もつかないし困った困った;
0089ネトゲ廃人@名無し
垢版 |
2018/08/29(水) 21:24:10.91ID:???
俺は情報科卒で高級言語はいくつも習得したけど、それ自体はチートの分野ではあまり役に立たなかったように思う
チートが得意な人達は大抵、クラッカー紛いのこともできてたし、分野としてはセキュリティエンジニアとかアナリストの領分なんじゃないかな

ミジンコの推察でしかないけど、ハッカー/クラッカーと同じで、やはりチート対策をしてる人達が一番チーターの素質あると思う
そのあたりの勉強もしてみるかな
0090ネトゲ廃人@名無し
垢版 |
2018/08/29(水) 21:57:48.69ID:???
でもオンラインゲームを守るゲームガードって全部プログラミング言語で書かれてるんでしょう
ゲームガードの中身を覗く方法(?)も学ばなきゃいけないし、仮に覗く方法が分かったとしても中に何書いてあるのか
ある程度分からないとドコをいじっていいのか一切合切分からないと思うんですが…そうでもないんですかね
考えれば考える程基礎の基礎は出来ないと話にならないんじゃないのかと思ってしまう

x86プログラム解析入門って本もプログラミング、プログラム初心者が読むのは難解ってレビューが沢山あったな(Amazon)
0092ネトゲ廃人@名無し
垢版 |
2018/08/31(金) 21:01:01.68ID:???
使えるチートエンジンでスキャンごっこするだけなら何の知識も無しで出来るけど
そんなのは解析でも何でも無しにただのミジンコ以下のgmですからね・・・
今の自分はgmですね・・
ゲームガードを外してデバッガーを走らせるためには何の学習をすればいいのか教えて下さい><
0093ネトゲ廃人@名無し
垢版 |
2018/09/01(土) 04:49:06.75ID:???
ゲーム解析をするためには何を学習していかなければいけないのか?
具体的なアドバイスを募集です

今の自分の状況
今までパソコンはゲームやる時くらいしかいじったことがなかった
8月にプログラミング言語を始める

C言語入門書 終
java入門書  終
ロベールのC++入門書  苦戦← イマココ

特に無ければこの後、プログラムは何故動くのか?って本買ってみようと想ってるところ
0094ネトゲ廃人@名無し
垢版 |
2018/09/01(土) 17:43:17.82ID:???
チートや解析特化なら、基本レベル以上の言語の本は特に読み込む必要ないぞ
・steamとかで適当にゲーム買う
・メモリチートで数値弄る、たとえば金9999999とか
・金9999999をプログラム改造で実現してみる、敵倒したら金MAXとか、店でアイテム買っても金減らないとか
こんな感じで、とりあえずやってみるのが重要
0095ネトゲ廃人@名無し
垢版 |
2018/09/01(土) 17:47:12.56ID:???
チート行うゲームはオフライン用が望ましい
ネトゲとかはアンチチートついてるから、最初の内は無理
0096ネトゲ廃人@名無し
垢版 |
2018/09/01(土) 19:07:27.73ID:???
これはゲームに対してというより一般のプログラムに対してだけど

・c++で他プロセスのバイナリパターン検索するプログラムを組んでみる
・DLLインジェクションするプログラムを組んでみる
・自分自身をCRCでメモリ保護するプログラムを組んでみる
・アンチデバッグを実装してみる

まずこういったのから入ればいいと思う。
上の人もいってるように実際のゲームはやめたほうがいい。
そうでなく簡易的なCheatEngineとかうさみみハリケーンを作るような方向に行けばよいかと。
0097ネトゲ廃人@名無し
垢版 |
2018/09/01(土) 19:56:28.31ID:???
>>チートや解析特化なら、基本レベル以上の言語の本は特に読み込む必要ないぞ
何故でしょうか?根拠付きで説明欲しいです
XigncodeとかNprotectとかゲームプロテクトは全部プログラミング言語で出来てるんですよね
相手はプロですから当てずっぽうで回避できるくらい甘くは出来てないでしょうし、ある程度他人のコードはスラスラ読めるくらいの
言語能力が無いと難しそうに思います。解析なんてしたことないので悪魔でイメージですが。
後基本レベルがどの程度までのことを指すのかも教えてほしいです。入門書じゃ弱いですか?

>>・メモリチートで数値弄る、たとえば金9999999とか
こういう検索ごっこは下みたいな動画とか見れば出来ますし、それがどうスキルアップ向上につながるか分かりません・・・;;
https://www.youtube.com/watch?v=fTKZK-MUysg
ゲームガードを回避してデバッガーを使えるくらいのスキルが欲しいです

(※ド素人が偉そうなこと言ってるように聞こえたらすいません。悪意はないです)
0098ネトゲ廃人@名無し
垢版 |
2018/09/01(土) 20:22:09.97ID:???
ゲームガード回避してデバッガかけてそれが何になるんだかが疑問。
簡易的でいいからゲームガードのようなものを作るとか高機能なデバッガを自作するとかのほうが評価されるんじゃないかね。
0099ネトゲ廃人@名無し
垢版 |
2018/09/01(土) 20:28:29.09ID:???
>>96
ありがとうございます
全て今の自分には敷居が高そうですね…とっつきやすいのがない
分からない言葉もあったのでググってみましたが(インジェクション、CRC)
https://ja.wikipedia.org/wiki/%E5%B7%A1%E5%9B%9E%E5%86%97%E9%95%B7%E6%A4%9C%E6%9F%BB

色々読んでみた結果
やっぱりプログラミング言語が出来て何かを作れるレベルにないと無理だと再認識
2進化16進化されたコードなんて今の自分が読んでもサッパリです
プログラミングの練習をしながら「プログラムはなぜ動くのか」とか入門者にも分かりやすそうな書籍を読みパソコン周りの事も同時に勉強するのが今やるべきことなのかな
手の届く事から始めていかなければ
0100ネトゲ廃人@名無し
垢版 |
2018/09/01(土) 20:40:52.16ID:???
>>98
ゲームガード回避してチートエンジンさえ起動できれば好きにコードいじってチート出来るから
そこがゴールだと思ってたんですが違ってますか
今の自分はプログラム言語の入門書を2冊読み終わった程度なのでデバッガ作成とかは飛躍しすぎてますね・・・無理です
そういう物を作成するにはどういう事を勉強しなければいけないのかとかお勧めの本とか教えて頂けると嬉しいですね
0101ネトゲ廃人@名無し
垢版 |
2018/09/01(土) 21:01:04.99ID:???
合法的で競争がそこにあって良い仲間と巡り会えるような道を歩んだほうが良いと思います。
目標が「商用ゲームでプロテクト外してチートしたい」だと違法性もありますし、競争がなく自己満に終わる可能性が高く、まともな人間も寄ってこないかと。
それでいいと言うなら何も言いませんが。
0102ネトゲ廃人@名無し
垢版 |
2018/09/01(土) 22:32:47.22ID:???
>>97
説明がモヤッとして伝わるかわからんけどレス

>>・メモリチートで数値弄る、たとえば金9999999とか
>こういう検索ごっこは

まずは、メモリチートと同じ効果をアセンブラ改造で行って慣れるのが良いと考えます。
たとえば店でアイテム買ったときに金減るでしょ、これをアセンブラ改造で減らないようにする。
当然アセンブラ読まないとこのようなチートできませんよね。
こういう簡単なアセンブラ改造を行うことでデバッガの使い方やアセンブラの読み方に
慣れるのはどうでしょうか、と提案しております。
コレができて、解析初心者となります。
解析初心者ではゲームプロテクター解析の説明の理解も難しいのではと考えます。
0103ネトゲ廃人@名無し
垢版 |
2018/09/01(土) 23:17:41.91ID:???
>>102
なるほど。そういうことでしたか。
具体的なアドバイスありがとうございます
確かに今はそういうことも出来ませんね…
何か良さそうなフリーゲーム探してやってみます

しかしアセンブラの事全く知らないし、かなり難しい印象があるのですが
チートからアセンブラに入るのは無謀ですか?基本的な文法を覚えてからやったほうがいいのかな?
といっても実行環境整えるのも面倒くさいよなアセンブラは。VisualStudioくらいなら何とかなりましたが・・
0104ネトゲ廃人@名無し
垢版 |
2018/09/01(土) 23:39:20.53ID:???
プログラムを読めることとプログラムの解析を分けて考えないから回りくどくて意味無い事をやってるんじゃないの?
JavaとかMinecraftくらいしか使われてるゲーム思いつかないし、もし見る事があっても言語依存の関数なんてそれこそ上で言われてるように遭遇した時にググればいい程度
実際に手も動かしてないのになんとなく で本を読んで理解した気になってるから実際に始めると何もできない プログラムの解析すら出来ないのにゲームガードの話をし始める こういう風にすれば良いというアドバイスも無視する

実際にやってみてどこまで出来てどこからが分かりませんでした ならアドバイスもしやすいのに
「ゲーム作りたいです! どのプログラミング言語を学べばいいですか?」って言ってるのと一緒 時間の無駄
0105ネトゲ廃人@名無し
垢版 |
2018/09/01(土) 23:42:40.56ID:???
>>24
仕方ないので過去ログを読んできましたが?
というか私は前スレでで回避するにはどうすればいいか聞いたらとりあえずプログラム学べと言われたので
C言語とアセンブリを学びました。しかしアセンブリは難しすぎて挫折し投げましたまぁ必要ないよね
次にメモリエディッタを作りました。うさみみのような汎用と違って起動してるだけで検知される事は無くなったが
プロセスにアクセスすると強制終了される
さっさと回避を教えてくださいGPPはnproと違って情報が少なすぎる
どのファイルが何をしててどれを潰せばいいのか1か10まで箇条書きで手順をお願いします

https://wktk.5ch.net/test/read.cgi/netgame/1300500840/ より引用

とりあえずプログラムやれって言われてC言語学んでエディター作っちゃうこの人は凄いな
デバッガを自作するってのは初歩の題材としては悪くないのかな?C++を学ぶ上で目標にしてやってみよう・・・
0106ネトゲ廃人@名無し
垢版 |
2018/09/02(日) 00:46:39.80ID:???
>>104
自分の中では基礎を固めてから
それから実行に移らないと内容なんて頭に入ってこないって思ってた部分があったので
その基礎は何を学べば付いてくるのか?というのを聞いてたつもりでした
悪いように受け取られてたらすいません。無下にしてないし回答有り難いとは思ってます

前スレの13は俺と同レベルの状態でチート解析練習の実行に移ってるけど
行き詰まってスレの奴らにお前はチート初心者以前にパソコン初心者じゃんwって煽られて消え去ってる
だからそうならないようにパソコン中・上級者になるためにはどうすればいいのか?を聞いてきたつもりでした
前スレの流れを見るとチート以前にやらなくちゃならない学習事項があるような感じでしたので
0108ネトゲ廃人@名無し
垢版 |
2018/09/02(日) 09:59:55.40ID:???
>>106
俺は、>>102に書いた事からやっていったぞ
たぶん、初心者は>>102で書いたことを実現するのも難儀すると思う
その都度調べて知識を蓄える

調べ物をした事による理解度は、言語本を習得した奴のほうが高い
そういう意味では言語本を読むのは間違ってないが、言語本を読んだだけでは
解析能力は上がらない

とりあえずやってみる事が肝心です。
プロテクターの解析は>>102の1万倍は難しいです。
0109ネトゲ廃人@名無し
垢版 |
2018/09/02(日) 10:18:31.74ID:???
GPP使ってるゲームなんて今あるのか?
FEZ、ガンダムオンラインぐらいしか記憶無いけど。
0110ネトゲ廃人@名無し
垢版 |
2018/09/02(日) 10:41:08.52ID:???
>>103
最初なのでCheatEngineだけでいいよCEのデバッガ使う
アセンブラ命令はインテルのドキュメントをダウンロードする
初心者は頭から読んでも絶対に意味分からない
解析中にたとえばMOV命令があったとする、これの意味を調べるために命令セットリファレンスを検索する
みたいな感じで、関連する部分を読んでいくしかない。いろいろ調べていくうちに、知識もたまって
いままで「意味分からん」だった部分もわかるようになってくる。
0111ネトゲ廃人@名無し
垢版 |
2018/09/02(日) 21:39:58.56ID:???
勉強方法まで教えてくれてありがとうございます
早速https://www.jami2010.com/cheatengine-tukaikata/で練習してるけどサッパリ分かりませんね…
102で言われてるのは正に高度編のところか
初級と高度編の中間あたりがあればいいんだけどいきなり挫折しそうだ
これを繰り返していくしか無いのか
0112ネトゲ廃人@名無し
垢版 |
2018/09/02(日) 22:14:38.22ID:???
movは右辺から左辺に代入する命令
レジスタはCPUに内蔵されてる変数みたいなもんで
incは右辺をインクリメント?
まぁ厳密には違うんだろうが…こんな漢字に覚えていけばいいのか
ありがたやありがたや
0113ネトゲ廃人@名無し
垢版 |
2018/09/03(月) 04:06:26.82ID:8aDJPM5+
メモリービュー 行が多すぎてどれが自分がいじりたい命令か分からない・・・
0114ネトゲ廃人@名無し
垢版 |
2018/09/03(月) 06:27:00.27ID:???
チートエンジンでアセンブラ学びながら演習するのに参考になるサイトあれば教えて下さい;

よろしくお願い致します
0115ネトゲ廃人@名無し
垢版 |
2018/09/03(月) 07:55:29.04ID:???
>>94
いや、その前に大事なことがあるよ

自分も昔これで引っかかってつまづいた事があるんだけど
まずは検索かけるにあたって
検索したい値の[検索単位]の違いというものをちゃんと理解して
その検索したい数値の予想最大値ごとに、それぞれきちんと使い分ける事が必要
ここの基本のところを理解できないと、チート検索初心者は大抵つまづく事になると思う

たとえばあるゲーム内で表示されてるパラメーターの中で資金なり、アイテム個数なりで検索をかけたい場合
その検索したい数値が

【0〜255】の範囲に該当する場合 ※16進数換算すると最大FFまで
→ 1バイト(8ビット)で検索かける
   ※アイテム個数MAX99個までとかの場合はこれで検索をかける

【0〜65536】の範囲に該当する場合 ※16進数換算で最大FFFFまで
→ 2バイト(16ビット)で検索かける
   ※あるパラメータのMAX値が9999とかだつたりする場合はこれで検索をかける

【0〜4294967295】の範囲に該当する場合 ※16進数換算で最大FFFFFFFFまで
→ 4バイト(32ビット)で検索かける
   ※RPGの資金(最大999万9999とか)や経験値なんかは大抵これでかけるのが無難かと

この説明でよくわからなければ
かなり古いツールだけどEasyGameのマニュアルの説明を読むともう少し理解しやすいかも
http://soft3304.net/EasyGame4Win/Manual.html#BIT
ページの上の方に基本的な数値検索の手順や流れも書いてあるから、そっちもついでに読んでみることを勧める
0116ネトゲ廃人@名無し
垢版 |
2018/09/03(月) 08:06:33.20ID:???
ちなみに検索をかけるコツでいうと
たとえばRPGの場合だったらレベルではなく経験値で検索かけて
経験値を増やしたりして改造するのが簡単かつ確実
べつに経験値を書き換えてもその場ですぐLVアップはしないが
次に戦闘して勝利するとプログラム的に内部で経験値に応じて
レベルアップ/するしない の判定が行われるのでその時に一気にレベルアップできる

あと実際にゲーム内では書き換わっているのにゲーム内での表示が変わっていないというのは
大抵は画面が更新されていないせいだから、一度お店から出てみるとか
ステータス画面を表示して閉じるとかすると良い
0117ネトゲ廃人@名無し
垢版 |
2018/09/03(月) 08:11:58.02ID:???
2進数が関係してるんですね・・・
1 2 4 8 16 32 64 128 /1byete...って奴か。プログラミングでも少しやったな
入門者に貴重な情報ありがとう

チートエンジンはデフォルトで4byeteになってるからあまり気にしなくていいのか;
0118ネトゲ廃人@名無し
垢版 |
2018/09/03(月) 08:42:03.52ID:???
チートエンジンでアセンブラいじって解析演習みたいなサイトもあったら下さいお願いします;
crack meとかも同じことなのかな?いや無理だな;

>>116
ありがとう
今までやったのは画面に表示されてる数字を頼りに検索する感じでしたが
例えば画面に表示されてない数字(例えばジャンプ距離とか、移動速度とか)のアドレスを見つけたい場合は
どうすればいいんでしょうか?
0119ネトゲ廃人@名無し
垢版 |
2018/09/03(月) 12:35:18.87ID:???
ゲームによって違う
移動速度+2の装備とかがあるゲームなら、これを足がかりに検索するとか
そういうの何にも無いゲームなら、わからん移動処理をアセンブラ読んで探すしか
ないんじゃね
0120ネトゲ廃人@名無し
垢版 |
2018/09/03(月) 19:14:16.47ID:???
ふええぇ
教えてくれてありがとうございます^^
検索する方法の知識は色々身についてきたな

しかしメモリービュー見てアセンブラをいじる方法が全く…
YouTubeにも結構動画挙がってるけどほぼ検索方法のみだな
魔法解析少女って本でも買ってみるか(´Д`)
0122ネトゲ廃人@名無し
垢版 |
2018/09/03(月) 21:54:24.74ID:8aDJPM5+
https://www.jami2010.com/cheatengine-tukaikata/
で練習してるけど毎回手順2のところでinjectionの結果が全然違くて詰む
alloc(newmem,2048)
label(returnhere)
label(originalcode)
label(exit)

newmem: //this is allocated memory, you have read,write,execute access
//place your code here

originalcode:
add [eax],al
add [eax],al

exit:
jmp returnhere

インクリメントなんてない・・・
他に良さげな題材、ホームページあったら教えて下さい
0123ネトゲ廃人@名無し
垢版 |
2018/09/03(月) 22:41:28.93ID:???
HowToMania-CE-HackMe01.exeはC#アプリだろうから
ロードされるたびに異なるアドレスに配置されるし、関数も異なるアドレスに展開されるので
初心者の練習には向かない
ゲームとかはC#ほぼ使ってないしね
0124ネトゲ廃人@名無し
垢版 |
2018/09/03(月) 22:49:34.91ID:???
洞窟物語 v1.0.0.6
とかどうよ、フリーだけどちゃんとゲームになってるぞ
0125ネトゲ廃人@名無し
垢版 |
2018/09/04(火) 02:30:02.30ID:Htez8s4W
ありがとうございますっ
苦しいけど頑張ります;
0127ネトゲ廃人@名無し
垢版 |
2018/09/04(火) 06:12:41.57ID:???
藁にもすがる思いですが販売者だから多分相手にされないと思う
アセンブラでチート使用がこんなに難しいとは…
今の望みは時期Amazonから届く魔法解析少女美咲本のみ
0128ネトゲ廃人@名無し
垢版 |
2018/09/04(火) 08:36:43.24ID:Htez8s4W
>>110さんに言われたとおりメモリービューと命令表を見て勉強してはいるものの
どこをどういじっていいのか全く分からない…
memory view開いてもたくさん命令がありすぎてドコを弄ればいいのか検討も付かない
どやってみつければいいんだ
0129ネトゲ廃人@名無し
垢版 |
2018/09/04(火) 09:07:02.64ID:???
解析ではアセンブラ全部なんて読まないぞ(量的に無理)
金のアドレスを見つける>そこにメモリライトブレークポイント張る>
店でアイテム買う>金が減るのでブレークする>止まった周辺のアセンブラを読む

CEなら「Find out what accesses this address」で該当メモリ操作するとこ列挙できるんだから
その周辺のアセンブラ命令読む
0130ネトゲ廃人@名無し
垢版 |
2018/09/04(火) 13:34:19.87ID:???
>>117
いや、たとえばMAX99個のアイテムだと
アドレス的に、1バイトずつ並んでいるので隣のアイテム個数にまで影響するのでまず引っかからないし
数値を変えるととんでもなくバグる事にもなるのでそういう場合には
CeatEngineの場合なら検索単位(値種別)をちゃんと[1バイト(バイト)]にしてやらないと絶対駄目

反対に資金が最大999万9999で、現在の表示されてる資金が210とかだったりする場合には
最初から4バイト分のアドレスが資金用に割り当てられているので、こちらは4バイトで210で検索してもちゃんと引っかかる

でも逆の場合(アイテム個数がMAX99なのに、4バイトや2バイトで検索かけた場合)は
大抵アイテムごとに FF FF FF FF・・・・と小刻みに連続で割り当てられているケースがほとんどなので
隣のアイテム個数にもろ影響する可能性が高いので、こちらはきちんと1バイト単位でで検索かけないと駄目

まぁこのへんは検索単位というものを頭に入れたうえで
[検索する]ことに慣れれば自然とコツは理解できるようにはなってくるとは思う
0131ネトゲ廃人@名無し
垢版 |
2018/09/04(火) 14:04:40.40ID:???
うーん、もう少しかみ砕いて説明すると

アイテム
A用 B用 C用 D用
FF FF FF FF FF FF ・・・・・・

|〜| 1バイト範囲
|〜〜〜| 2バイト範囲
|〜〜〜〜〜〜〜| 4バイト範囲

とこうなるので、アイテムA用の検索で4バイト単位で検索をかけると
アイテムD用の個数にまで影響が出てしまう事になる

なのできっちりと検索する範囲をその検索したい数値に合わせて指定してやらないと
ゲーム内での数値表示がおかしくなってしまう事になる
■ このスレッドは過去ログ倉庫に格納されています

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