ミジンコ同士勉強していこうぜ
●定番解析ソフト
・デバッガ 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/
ツールのクレクレ、売ります系はスルーで
探検
チート初心者スレpart2 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
2016/04/26(火) 18:05:45.74ID:???
467おちんもザウルス
2019/09/11(水) 10:12:52.60ID:??? OSの管理をぶち壊す上で(笑)ってそんなことできないのが当たり前でしょ
現代OSがなぜプロセスという形で独立させているか、意図をちゃんと理解していれば
そもそもそんなナンセンスな発想自体浮かばないって話だよ
仮にそういうことができちゃったらMicrosoftに報告すれば金もらえるレベルの話だと思うが?
オペレーティングシステムの基礎くらいはちゃんと勉強しような^^;
現代OSがなぜプロセスという形で独立させているか、意図をちゃんと理解していれば
そもそもそんなナンセンスな発想自体浮かばないって話だよ
仮にそういうことができちゃったらMicrosoftに報告すれば金もらえるレベルの話だと思うが?
オペレーティングシステムの基礎くらいはちゃんと勉強しような^^;
468ネトゲ廃人@名無し
2019/09/11(水) 10:24:59.37ID:??? チーターのくせにOSの管理とか真面目かよ
469ネトゲ廃人@名無し
2019/09/11(水) 19:48:16.92ID:???471ネトゲ廃人@名無し
2019/09/13(金) 15:05:51.58ID:??? チートエンジンをNOXのアプリ(モバ7)に使用しているのですが
メモリ書き換えは出来てもspeedhackのチェック欄にチェックを入れると
「Failure cofiguring speedhack part1: 13:offset too big」とエラーポップアップが出てきました。
海外サイトを調べても対処法が書いておらず…どなたか分かりませんか…
メモリ書き換えは出来てもspeedhackのチェック欄にチェックを入れると
「Failure cofiguring speedhack part1: 13:offset too big」とエラーポップアップが出てきました。
海外サイトを調べても対処法が書いておらず…どなたか分かりませんか…
472ネトゲ廃人@名無し
2019/09/24(火) 04:00:19.22ID:??? age
473ネトゲ廃人@名無し
2019/09/24(火) 04:24:48.36ID:??? 保守
474ネトゲ廃人@名無し
2019/09/24(火) 04:24:56.52ID:??? 保守
475ネトゲ廃人@名無し
2019/09/25(水) 00:05:12.45ID:??? 保守
476ネトゲ廃人@名無し
2019/09/26(木) 00:04:20.32ID:???477ネトゲ廃人@名無し
2019/09/26(木) 02:07:45.31ID:???478ネトゲ廃人@名無し
2019/09/26(木) 03:41:16.74ID:??? アセンブラとかバイナリがわかんねぇー
素早く身につける方法教えてくれ
素早く身につける方法教えてくれ
479ネトゲ廃人@名無し
2019/09/26(木) 16:12:14.12ID:??? 保守
480ネトゲ廃人@名無し
2019/09/26(木) 16:12:25.99ID:??? 保守
481ネトゲ廃人@名無し
2019/09/26(木) 16:12:34.02ID:??? 保守
482ネトゲ廃人@名無し
2019/09/26(木) 16:15:05.87ID:??? 保守
483ネトゲ廃人@名無し
2019/09/26(木) 20:48:23.40ID:??? 保守
48531
2019/09/26(木) 23:31:25.37ID:??? ImageDirectoryEntryToData関数使って関数名とアドレスを一覧表示しようとしてるんだけど
メモリエラーなるわ windows10の64bitだからなのかな
メモリエラーなるわ windows10の64bitだからなのかな
487ネトゲ廃人@名無し
2019/09/27(金) 03:27:43.06ID:aJpY7DaJ >>484
むしろ低レベルのためのスレ何だがスレタイも読めないのか
濃い話したいならこっち
https://medaka.5ch.net/test/read.cgi/mmosaloon/1488376760/l50
むしろ低レベルのためのスレ何だがスレタイも読めないのか
濃い話したいならこっち
https://medaka.5ch.net/test/read.cgi/mmosaloon/1488376760/l50
488ネトゲ廃人@名無し
2019/09/27(金) 07:43:28.34ID:??? hosyu
489ネトゲ廃人@名無し
2019/09/27(金) 07:44:27.39ID:??? 保守
490ネトゲ廃人@名無し
2019/09/27(金) 07:44:37.28ID:??? 保守
491ネトゲ廃人@名無し
2019/09/27(金) 08:11:03.46ID:??? そんなに必死に保守しなくても落ちんよ
492ネトゲ廃人@名無し
2019/09/27(金) 16:32:48.22ID:??? 保守
493ネトゲ廃人@名無し
2019/09/27(金) 16:32:59.10ID:??? 保守
494ネトゲ廃人@名無し
2019/09/27(金) 18:04:56.46ID:d2Kg6rSW495ネトゲ廃人@名無し
2019/09/28(土) 03:05:12.47ID:??? ブラウザゲーならどのプロセスで動いてるのかさえ特定できれば
プロセスメモリエディタで好き放題できるだろ
プロセスメモリエディタで好き放題できるだろ
496ネトゲ廃人@名無し
2019/09/28(土) 15:44:16.01ID:t4lItgWw 495様
そういった知識が0なのでご教授願いたいです 師匠
そういった知識が0なのでご教授願いたいです 師匠
497ネトゲ廃人@名無し
2019/09/29(日) 01:21:44.49ID:??? チート中・上級者スレpart2【ID無し】
https://medaka.5ch.net/test/read.cgi/mmosaloon/1569609647/
https://medaka.5ch.net/test/read.cgi/mmosaloon/1569609647/
498ネトゲ廃人@名無し
2019/09/29(日) 04:51:05.94ID:??? >>486
iat hookにチャレンジしたいのよ
その前段階
>>485
でけた
Baseの前の(char*)が無いとでかい数値になってメモリアクセス違反が発生して
(char*)つけたら上手く動作した
なんでこれが必要なのか分からん
アドレスの足し算にキャストが必要な理由がわかってないからいっぺん死んでくる
for (; pImageImportDescriptor->Characteristics != 0; pImageImportDescriptor++) {
printf("-%s\n", ((char*)Base) + pImageImportDescriptor->Name);
IMAGE_THUNK_DATA64* pINT = (IMAGE_THUNK_DATA64*)((char*)Base + pImageImportDescriptor->OriginalFirstThunk);
for (; pINT->u1.AddressOfData; pINT++) {
if (IMAGE_SNAP_BY_ORDINAL64(pINT->u1.Ordinal)) {
}
else {
IMAGE_IMPORT_BY_NAME* tName = (IMAGE_IMPORT_BY_NAME*)((char*)Base + pINT->u1.AddressOfData);
printf("%s\n", tName->Name);
}
}
}
iat hookにチャレンジしたいのよ
その前段階
>>485
でけた
Baseの前の(char*)が無いとでかい数値になってメモリアクセス違反が発生して
(char*)つけたら上手く動作した
なんでこれが必要なのか分からん
アドレスの足し算にキャストが必要な理由がわかってないからいっぺん死んでくる
for (; pImageImportDescriptor->Characteristics != 0; pImageImportDescriptor++) {
printf("-%s\n", ((char*)Base) + pImageImportDescriptor->Name);
IMAGE_THUNK_DATA64* pINT = (IMAGE_THUNK_DATA64*)((char*)Base + pImageImportDescriptor->OriginalFirstThunk);
for (; pINT->u1.AddressOfData; pINT++) {
if (IMAGE_SNAP_BY_ORDINAL64(pINT->u1.Ordinal)) {
}
else {
IMAGE_IMPORT_BY_NAME* tName = (IMAGE_IMPORT_BY_NAME*)((char*)Base + pINT->u1.AddressOfData);
printf("%s\n", tName->Name);
}
}
}
499ネトゲ廃人@名無し
2019/09/29(日) 04:54:14.60ID:???500ネトゲ廃人@名無し
2019/09/29(日) 05:09:19.47ID:??? ああ スケールして足されてたってことか
https://www.jpcert.or.jp/sc-rules/c-exp08-c.html
https://www.jpcert.or.jp/sc-rules/c-exp08-c.html
501ネトゲ廃人@名無し
2019/09/29(日) 07:40:18.58ID:??? 今更ながら>>57のアドバイスを参考に何気なく過去スレ見てみたら
(反応できてなくてゴメンよ)
めちゃくちゃレベル高い解析者いて感動した
【xtrap】不正プロテクトの回避や解析方法【npro】
https://schiphol.5ch.net/test/read.cgi/mmosaloon/1208457391/
雲の上のレベルの話だけどモチベアップしたわ(+三日)
(反応できてなくてゴメンよ)
めちゃくちゃレベル高い解析者いて感動した
【xtrap】不正プロテクトの回避や解析方法【npro】
https://schiphol.5ch.net/test/read.cgi/mmosaloon/1208457391/
雲の上のレベルの話だけどモチベアップしたわ(+三日)
502ネトゲ廃人@名無し
2019/09/29(日) 16:41:41.42ID:??? その頃はどんな書き込みしても教えてくれる人がいたんだな
羨ましい
羨ましい
503ネトゲ廃人@名無し
2019/09/29(日) 18:28:12.28ID:??? 羨ましいね
iat hookとdll injection(createremotethread)それぞれ独立だけど出来た
dll injectionって同じプロセスに対して一回しか出来ないのね 何でだろ
iat hookとdll injection(createremotethread)それぞれ独立だけど出来た
dll injectionって同じプロセスに対して一回しか出来ないのね 何でだろ
504ネトゲ廃人@名無し
2019/09/29(日) 19:30:55.85ID:PfEevMY3505ネトゲ廃人@名無し
2019/09/29(日) 20:44:51.09ID:??? >>503
原因わかった
1回目のinjectionだとfdwReasonがDLL_PROCESS_ATTACHだから
該当の処理が実行されるけど
2回目のinjectionだとそうならないみたい
switchの外に処理を書く もしくは freelibrary使ってアンロードすれば2回目以降も動作するっぽい
switch (fdwReason) {
case DLL_PROCESS_ATTACH:
MessageBox(NULL, “test”, “test”, MB_SYSTEMMODAL);
break;
}
原因わかった
1回目のinjectionだとfdwReasonがDLL_PROCESS_ATTACHだから
該当の処理が実行されるけど
2回目のinjectionだとそうならないみたい
switchの外に処理を書く もしくは freelibrary使ってアンロードすれば2回目以降も動作するっぽい
switch (fdwReason) {
case DLL_PROCESS_ATTACH:
MessageBox(NULL, “test”, “test”, MB_SYSTEMMODAL);
break;
}
506ネトゲ廃人@名無し
2019/09/29(日) 22:18:40.79ID:??? https://msmania.wordpress.com/2015/04/26/reflective-dll-injection/
この記事みると64bit版でfreelibrary実行するのが大変そうだったから断念
この記事みると64bit版でfreelibrary実行するのが大変そうだったから断念
507ネトゲ廃人@名無し
2019/10/01(火) 01:13:35.33ID:???508ネトゲ廃人@名無し
2019/10/01(火) 01:16:21.93ID:??? setwindowtextあたりで再チャレンジ 明日
509ネトゲ廃人@名無し
2019/10/01(火) 02:13:41.78ID:??? GoogleChromeでRPGアツマールのゲーム加速すらできない……
チートエンジンのProcessesタブのchorome.exeを片っ端から開いて加速設定していっても一切変化がない
オンライン要素皆無のゲームだから対策されてるわけでもないと思うんで誰かやり方教えてください
チートエンジンのProcessesタブのchorome.exeを片っ端から開いて加速設定していっても一切変化がない
オンライン要素皆無のゲームだから対策されてるわけでもないと思うんで誰かやり方教えてください
510ネトゲ廃人@名無し
2019/10/01(火) 02:34:30.43ID:??? ツクール系ならCEよりうさみみハリケーンの方が対応してると思うが
511ネトゲ廃人@名無し
2019/10/01(火) 11:53:38.33ID:??? ゲームの才能無い割に某TPSでアジアランカーに入れる程度のスキルは身に付いたが
この分野って結局は自力で発明しなきゃいけないこと多すぎてそれに懸けてきた労力も相まってあんまり他人に教える気無くなるんだよな
ハッカー文化とは真逆の思想に行き着いてすまん
この分野って結局は自力で発明しなきゃいけないこと多すぎてそれに懸けてきた労力も相まってあんまり他人に教える気無くなるんだよな
ハッカー文化とは真逆の思想に行き着いてすまん
513ネトゲ廃人@名無し
2019/10/01(火) 15:19:38.90ID:??? >>505
同一のdllを複数回injectするのならCreateRemoteThread,LoadLibraryを使った通常の方法だと2回目以降は失敗するけど、
PEBのモジュールリンクからinjectしたDLLを外せば何度でも同一DLL inject出来る。
DLLのロード後にリンク外すか、LoadLibrary使わないでマニュアルでinjectするかすれば良い。
そもそも同一のDLLじゃなくても失敗するんだったら、コードが悪いとか言えない。
同一のdllを複数回injectするのならCreateRemoteThread,LoadLibraryを使った通常の方法だと2回目以降は失敗するけど、
PEBのモジュールリンクからinjectしたDLLを外せば何度でも同一DLL inject出来る。
DLLのロード後にリンク外すか、LoadLibrary使わないでマニュアルでinjectするかすれば良い。
そもそも同一のDLLじゃなくても失敗するんだったら、コードが悪いとか言えない。
514ネトゲ廃人@名無し
2019/10/01(火) 15:32:39.99ID:??? >>506
x86->x86, x64->x64とか、同一のアーキテクチャ同士ならkernel32.dllとかシステムモジュールのロード位置(アドレス)はプロセス間でも同じだから、
そのまま従来の方法でアドレス渡せるけど、x86->x64とかならロードされるアドレスの相違上、inject対象のプロセスからReadProcessMemory等使ってPEB読み取って、
エクスポートテーブルからCreateRemoteThreadに渡したいAPIのアドレス取得しないと失敗する。
だから、x64でFreeLibrary実行が難しい〜って言うよりもx64->x64にすれば良いだけ。
x86->x86, x64->x64とか、同一のアーキテクチャ同士ならkernel32.dllとかシステムモジュールのロード位置(アドレス)はプロセス間でも同じだから、
そのまま従来の方法でアドレス渡せるけど、x86->x64とかならロードされるアドレスの相違上、inject対象のプロセスからReadProcessMemory等使ってPEB読み取って、
エクスポートテーブルからCreateRemoteThreadに渡したいAPIのアドレス取得しないと失敗する。
だから、x64でFreeLibrary実行が難しい〜って言うよりもx64->x64にすれば良いだけ。
515ネトゲ廃人@名無し
2019/10/01(火) 22:57:34.08ID:???516ネトゲ廃人@名無し
2019/10/02(水) 07:34:04.06ID:??? age
517ネトゲ廃人@名無し
2019/10/02(水) 21:30:34.65ID:??? 放置少女とかいう○ゲーでチート(アイテム増殖など)はできないですかね?
518ネトゲ廃人@名無し
2019/10/03(木) 03:20:51.94ID:nukVUHES >>512
教える気にならないんじゃなくてできないから教えられないんだろ?
教える気にならないんじゃなくてできないから教えられないんだろ?
519ネトゲ廃人@名無し
2019/10/03(木) 07:03:42.09ID:???520ネトゲ廃人@名無し
2019/10/03(木) 08:42:42.44ID:???521ネトゲ廃人@名無し
2019/10/03(木) 10:43:31.36ID:??? 初心者から上級者まで基本的に英語出来るかグーグル翻訳をある程度補完できる知能があるやつなら英語圏のサイトですべて事足りる
よってここもそうだが上級者スレは尚更需要無いだろうな
なんとなくワンチャン5ちゃんねらー特有の情報出てくるかなーと思ってロムったり何度かレスしたりしたが未だ価値ある情報は一つも見たことがない
よってここもそうだが上級者スレは尚更需要無いだろうな
なんとなくワンチャン5ちゃんねらー特有の情報出てくるかなーと思ってロムったり何度かレスしたりしたが未だ価値ある情報は一つも見たことがない
522ネトゲ廃人@名無し
2019/10/03(木) 10:51:44.66ID:??? なんでそんなに必死なの?
523ネトゲ廃人@名無し
2019/10/03(木) 17:36:44.51ID:??? age
524ネトゲ廃人@名無し
2019/10/03(木) 17:36:53.93ID:??? age
526ネトゲ廃人@名無し
2019/10/03(木) 19:41:38.88ID:??? age
527ネトゲ廃人@名無し
2019/10/03(木) 23:35:25.97ID:??? https://www.keicode.com/windows/win08.php
これ真似したけど失敗した
どうやらwindows7以降は署名がないと動かない模様
https://docs.microsoft.com/ja-jp/windows/win32/win7appqual/appinit-dlls-in-windows-7-and-windows-server-2008-r2
Microsoft is modifying the AppInit DLLs facility in Windows 7 and Windows Server 2008 R2 to add a new code-signing requirement.
これ真似したけど失敗した
どうやらwindows7以降は署名がないと動かない模様
https://docs.microsoft.com/ja-jp/windows/win32/win7appqual/appinit-dlls-in-windows-7-and-windows-server-2008-r2
Microsoft is modifying the AppInit DLLs facility in Windows 7 and Windows Server 2008 R2 to add a new code-signing requirement.
528ネトゲ廃人@名無し
2019/10/04(金) 00:56:57.04ID:??? http://dsas.blog.klab.org/archives/50829204.html
SetWindowsHookEx軽くテスト出来た
SetWindowsHookEx軽くテスト出来た
529ネトゲ廃人@名無し
2019/10/04(金) 04:53:34.36ID:??? age
530ネトゲ廃人@名無し
2019/10/04(金) 04:53:42.37ID:??? age
531ネトゲ廃人@名無し
2019/10/04(金) 08:49:19.96ID:??? Win10の最新でもAppInitのインジェクションはできるよ
Win7以降からはマイクロソフトが証明書つけた方がいいんじゃねって言いだしただけで、RequireSignedAppInit_DLLsの値を変えれば普通に動く
Win7以降からはマイクロソフトが証明書つけた方がいいんじゃねって言いだしただけで、RequireSignedAppInit_DLLsの値を変えれば普通に動く
532ネトゲ廃人@名無し
2019/10/05(土) 04:04:06.88ID:??? ありがとう
確かに記事の下に書いてあったわ
RequireSignedAppInit_DLLs
0 Load any DLLs.
1 Load only code-signed DLLs.
でも試してみたけどだめだった
たぶんどっか間違ってるんだけだろうけどもういいや(このやり方にあまり興味がない)
https://stackoverflow.com/questions/9027642/simple-dll-injection-not-working-using-appinit-dlls-dllmain-not-getting-callev
確かに記事の下に書いてあったわ
RequireSignedAppInit_DLLs
0 Load any DLLs.
1 Load only code-signed DLLs.
でも試してみたけどだめだった
たぶんどっか間違ってるんだけだろうけどもういいや(このやり方にあまり興味がない)
https://stackoverflow.com/questions/9027642/simple-dll-injection-not-working-using-appinit-dlls-dllmain-not-getting-callev
533ネトゲ廃人@名無し
2019/10/05(土) 16:21:19.28ID:??? ここまで自演
534ネトゲ廃人@名無し
2019/10/05(土) 19:00:29.30ID:??? 珍宝
535ネトゲ廃人@名無し
2019/10/05(土) 21:21:47.30ID:??? 未だにinjection、しかも64bitと32bitの違いすらも分かっていない
まるで成長していない…
まるで成長していない…
536ネトゲ廃人@名無し
2019/10/05(土) 22:37:25.76ID:???537ネトゲ廃人@名無し
2019/10/05(土) 22:55:32.22ID:??? その動画の意味が分かるやつが入門者なのか
先が長すぎて嫌になるぜ…
先が長すぎて嫌になるぜ…
538ネトゲ廃人@名無し
2019/10/05(土) 23:03:00.77ID:??? お 俺以外の初心者おったんかいな
先が長すぎてすぐ挫折する人(何年かしてまた取り組んでみる)の末路が俺だよ
先が長すぎてすぐ挫折する人(何年かしてまた取り組んでみる)の末路が俺だよ
539ネトゲ廃人@名無し
2019/10/05(土) 23:24:01.09ID:??? ゲームのプロテクト解除しようと思ったら
https://schiphol.5ch.net/test/read.cgi/mmosaloon/1208457391/
262,263,264,267,274,282,334,340,343,347,350,351,371,961,967
この人たち並みの知識と解析技術(バイナリファイルを読むテクニックと経験)が要求されるのだと思う
これ2009年の話だから今はもっと難しくなってるんですかね
どうなんですか 安西先生!
https://schiphol.5ch.net/test/read.cgi/mmosaloon/1208457391/
262,263,264,267,274,282,334,340,343,347,350,351,371,961,967
この人たち並みの知識と解析技術(バイナリファイルを読むテクニックと経験)が要求されるのだと思う
これ2009年の話だから今はもっと難しくなってるんですかね
どうなんですか 安西先生!
540ネトゲ廃人@名無し
2019/10/05(土) 23:38:58.58ID:??? >>537も良かったら一緒に勉強しよう
俺は今何やってるかというと昔調べた項目を実際に手を動かして確認する作業
(2年前は調べてみただけでゴールの遠さに目眩がして挫折しちゃった)
・dll injection(createremotethredを使ったやり方)
成功
・dll injection(AppInit_DLLs)
失敗
・iat hooking
成功
・メッセージフック(setwindowshookex)
めちゃくちゃしょぼい実験は成功
・inline hooking
これから試す
・デバイスドライバ作成
まだ
・SSDT hooking
まだ
・IDT hooking
まだ
・IRP hooking
まだ
crackme, unpackmeとか
windbgとか
項目はたくさんあるぞい!
俺は今何やってるかというと昔調べた項目を実際に手を動かして確認する作業
(2年前は調べてみただけでゴールの遠さに目眩がして挫折しちゃった)
・dll injection(createremotethredを使ったやり方)
成功
・dll injection(AppInit_DLLs)
失敗
・iat hooking
成功
・メッセージフック(setwindowshookex)
めちゃくちゃしょぼい実験は成功
・inline hooking
これから試す
・デバイスドライバ作成
まだ
・SSDT hooking
まだ
・IDT hooking
まだ
・IRP hooking
まだ
crackme, unpackmeとか
windbgとか
項目はたくさんあるぞい!
541ネトゲ廃人@名無し
2019/10/05(土) 23:56:42.45ID:???542ネトゲ廃人@名無し
2019/10/06(日) 00:47:15.89ID:??? >>541
俺は何度も挫折してるし、その内挫折しちゃう(1、2週間後?)予感もあるから励ましの言葉もないよ
ゲームプロテクトはずせるのは頭がいい人 or 要領がいい人 or 地道に努力できる人
or バイナリ眺めて性的興奮覚えるような変態ぐらいだと思う
>>541が変態であることを祈るよ
>>498は何の知識もなしに見ても不明だよ
ざっくり言うと
IAT(Import Address Table)にDLLの関数のアドレスが格納されていて
windowsアプリケーションはIATをみて関数のアドレスを取得して実行しているから
そのIATを書き換えて自作の関数に処理を飛ばしちゃおうというやり方
iat フック とかでググれば説明してるサイトは複数ヒットするよ
ももいろテクノロジー IAT書き換えによるAPIフックをやってみる
http://inaz2.はてなぶろぐ.com/entry/2015/08/10/193103
APIフック
http://jackseven.s22.xrea.com/programming/apihook.html
などなど
何故かはてなぶろぐのurlがNGワードなんだよね
俺は何度も挫折してるし、その内挫折しちゃう(1、2週間後?)予感もあるから励ましの言葉もないよ
ゲームプロテクトはずせるのは頭がいい人 or 要領がいい人 or 地道に努力できる人
or バイナリ眺めて性的興奮覚えるような変態ぐらいだと思う
>>541が変態であることを祈るよ
>>498は何の知識もなしに見ても不明だよ
ざっくり言うと
IAT(Import Address Table)にDLLの関数のアドレスが格納されていて
windowsアプリケーションはIATをみて関数のアドレスを取得して実行しているから
そのIATを書き換えて自作の関数に処理を飛ばしちゃおうというやり方
iat フック とかでググれば説明してるサイトは複数ヒットするよ
ももいろテクノロジー IAT書き換えによるAPIフックをやってみる
http://inaz2.はてなぶろぐ.com/entry/2015/08/10/193103
APIフック
http://jackseven.s22.xrea.com/programming/apihook.html
などなど
何故かはてなぶろぐのurlがNGワードなんだよね
543ネトゲ廃人@名無し
2019/10/06(日) 01:32:16.33ID:??? 保守
544ネトゲ廃人@名無し
2019/10/06(日) 01:32:24.14ID:??? 保守
545ネトゲ廃人@名無し
2019/10/06(日) 09:16:07.12ID:xHi2dDCo >>541
C/C++は勿論、C#のような静的型付け言語ならかなり解析に繋がるはずだけどな
これらの高級言語を習得してからアセンブラを見れば大体どういう処理なのかを察せるようになる
その逆に解析中のアセンブラから高級言語の機能への理解が深まったりもして相乗効果
C/C++は勿論、C#のような静的型付け言語ならかなり解析に繋がるはずだけどな
これらの高級言語を習得してからアセンブラを見れば大体どういう処理なのかを察せるようになる
その逆に解析中のアセンブラから高級言語の機能への理解が深まったりもして相乗効果
546ネトゲ廃人@名無し
2019/10/06(日) 09:30:11.41ID:p5Qrl05+ RequireSignedAppInit_DLLsっていま存在するかね
当方Microsoft Windows [Version 10.0.17763.775]だけど
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows
HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ Windows NT \ CurrentVersion \ Windows \ AppInit_DLLs
の両方に存在しないんだよなぁ
当方Microsoft Windows [Version 10.0.17763.775]だけど
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows
HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ Windows NT \ CurrentVersion \ Windows \ AppInit_DLLs
の両方に存在しないんだよなぁ
547ネトゲ廃人@名無し
2019/10/06(日) 09:40:45.22ID:??? 最終的に何がしたいのかさっぱり伝わって来ない
ただ勉強してることを日記に書いてるだけ?
ただ勉強してることを日記に書いてるだけ?
548ネトゲ廃人@名無し
2019/10/06(日) 09:54:47.70ID:???550ネトゲ廃人@名無し
2019/10/06(日) 10:02:26.33ID:p5Qrl05+ >>547
https://attack.mitre.org/techniques/T1103/
これを試してみたかったんだ。
この手法には3つのレジストリキー値の設定が必要らしく、それは
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows
HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ Windows NT \ CurrentVersion \ Windows \ AppInit_DLLs
のいずれかにある
AppInit_DLLs
LoadAppInit_DLLs
RequireSignedAppInit_DLLs
なんだけど、最後のRequireSignedAppInit_DLLsが、上2つの両方のキーに無いんだよね。
自分で新規作成してもDLLは読み込まれなかったし、非署名のDLLはAppinit_DLLsには使用できなくされてるのかなと考えたり…
https://attack.mitre.org/techniques/T1103/
これを試してみたかったんだ。
この手法には3つのレジストリキー値の設定が必要らしく、それは
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows
HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ Windows NT \ CurrentVersion \ Windows \ AppInit_DLLs
のいずれかにある
AppInit_DLLs
LoadAppInit_DLLs
RequireSignedAppInit_DLLs
なんだけど、最後のRequireSignedAppInit_DLLsが、上2つの両方のキーに無いんだよね。
自分で新規作成してもDLLは読み込まれなかったし、非署名のDLLはAppinit_DLLsには使用できなくされてるのかなと考えたり…
551ネトゲ廃人@名無し
2019/10/06(日) 10:14:45.66ID:p5Qrl05+552ネトゲ廃人@名無し
2019/10/06(日) 22:17:19.15ID:??? 丸山君いい加減にしなよ
553ネトゲ廃人@名無し
2019/10/07(月) 00:18:02.32ID:??? x64 inline function hookingで検索して見つかった記事
まだあんま読めてない
https://blog.nettitude.com/uk/windows-inline-function-hooking
https://www.ragestorm.net/blogs/?p=107
https://www.blackhat.com/docs/us-16/materials/us-16-Yavo-Captain-Hook-Pirating-AVs-To-Bypass-Exploit-Mitigations.pdf
qiita x64の関数呼び出し
https://qiita.com/FAMASoon/items/a93c1361f80bb28f895c
x86だと引数はスタックに積んでたけどx64は第6引数までレジスタにいれて
第7引数以降はスタックに積むみたい
まだあんま読めてない
https://blog.nettitude.com/uk/windows-inline-function-hooking
https://www.ragestorm.net/blogs/?p=107
https://www.blackhat.com/docs/us-16/materials/us-16-Yavo-Captain-Hook-Pirating-AVs-To-Bypass-Exploit-Mitigations.pdf
qiita x64の関数呼び出し
https://qiita.com/FAMASoon/items/a93c1361f80bb28f895c
x86だと引数はスタックに積んでたけどx64は第6引数までレジスタにいれて
第7引数以降はスタックに積むみたい
554ネトゲ廃人@名無し
2019/10/07(月) 03:39:12.24ID:??? Nikolay Igottiって人が考えたやり方試す
最初に下位アドレスをpushして、その後に上位アドレスを上書き
retでそのアドレスに飛ぶ
[cpp]
push 0xAAAAAAAAA 68 AA AA AA AA
mov DWORD PTR [rsp+0x4],0xBBBBBBBB c7 44 24 04 BB BB BB BB
ret
最初に下位アドレスをpushして、その後に上位アドレスを上書き
retでそのアドレスに飛ぶ
[cpp]
push 0xAAAAAAAAA 68 AA AA AA AA
mov DWORD PTR [rsp+0x4],0xBBBBBBBB c7 44 24 04 BB BB BB BB
ret
555ネトゲ廃人@名無し
2019/10/07(月) 05:09:11.73ID:??? 書き込み増えてきててええやん
556ネトゲ廃人@名無し
2019/10/08(火) 00:41:06.26ID:4aDKR6xF 保守
557ネトゲ廃人@名無し
2019/10/08(火) 00:41:13.69ID:4aDKR6xF 保守
558ネトゲ廃人@名無し
2019/10/08(火) 03:15:09.25ID:??? この板は1ヶ月くらいほっといても落ちんぞ
559ネトゲ廃人@名無し
2019/10/10(木) 22:28:38.87ID:??? age
560ネトゲ廃人@名無し
2019/10/12(土) 00:02:20.74ID:??? age
561ネトゲ廃人@名無し
2019/10/14(月) 01:18:48.77ID:??? MessageBoxAの呼び出しを自作関数にすり替えるところまで出来た。
アラインメントを全く気にしてないけど取り敢えず動いた。
BYTE jump[14] = {
0x68,0x90,0x90,0x90,0x90, // push <自作関数のアドレス下位4バイト>
0xc7,0x44, 0x24, 0x04, 0x90, 0x90, 0x90, 0x90, //mov DWORD PTR [rsp+0x4],<自作関数のアドレス上位4バイト>
0xc3}; //ret
FARPROC pTargetFunctionAddr = GetProcAddress(hModule, "MessageBoxA");
FARPROC pMyFunctionAddr = (FARPROC)&MyMessageBoxA;
memcpy(&jump[1], ((char*)&pMyFunctionAddr), 4);
memcpy(&jump[9], ((char*)&pMyFunctionAddr)+4, 4);
//MessageBoxAの先頭コードをjumpコードに書き換え
DWORD OriginalProtection;
VirtualProtect(pTargetFunctionAddr, 14, PAGE_EXECUTE_READWRITE, &OriginalProtection);
memcpy(pTargetFunctionAddr, jump, 14)
MessageBoxA(0, 0, 0, 0);
}
アラインメントを全く気にしてないけど取り敢えず動いた。
BYTE jump[14] = {
0x68,0x90,0x90,0x90,0x90, // push <自作関数のアドレス下位4バイト>
0xc7,0x44, 0x24, 0x04, 0x90, 0x90, 0x90, 0x90, //mov DWORD PTR [rsp+0x4],<自作関数のアドレス上位4バイト>
0xc3}; //ret
FARPROC pTargetFunctionAddr = GetProcAddress(hModule, "MessageBoxA");
FARPROC pMyFunctionAddr = (FARPROC)&MyMessageBoxA;
memcpy(&jump[1], ((char*)&pMyFunctionAddr), 4);
memcpy(&jump[9], ((char*)&pMyFunctionAddr)+4, 4);
//MessageBoxAの先頭コードをjumpコードに書き換え
DWORD OriginalProtection;
VirtualProtect(pTargetFunctionAddr, 14, PAGE_EXECUTE_READWRITE, &OriginalProtection);
memcpy(pTargetFunctionAddr, jump, 14)
MessageBoxA(0, 0, 0, 0);
}
562ネトゲ廃人@名無し
2019/10/14(月) 06:59:51.19ID:??? そんな10年前のフックのやり方せずとも今はMinHookとかいろいろ便利なライブラリがあるぞ
563ネトゲ廃人@名無し
2019/10/14(月) 20:35:45.03ID:???564ネトゲ廃人@名無し
2019/10/15(火) 00:51:23.77ID:??? vac bypassとかでググってるんだけどまあまあ面白い
(内容あんま理解できてないけど)
vmt hooking後々調べてみよう
>>561のコードをいじくりつつ
しばらくはvac bypassとかpunkbuster bypassとかをググる日々かな
(内容あんま理解できてないけど)
vmt hooking後々調べてみよう
>>561のコードをいじくりつつ
しばらくはvac bypassとかpunkbuster bypassとかをググる日々かな
565ネトゲ廃人@名無し
2019/10/15(火) 02:45:03.64ID:??? >>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はどうやってるんだろう 後で調査
書き換える前
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はどうやってるんだろう 後で調査
566ネトゲ廃人@名無し
2019/10/15(火) 05:01:04.54ID:??? unknowncheatsおもしろいな
有益な情報がたくさんある気がする
以前MPGHを何回か読んだことがあるけど断然こっちの方がいい気がする
気のせいかもしれんが
How to Learn When You Have Decided To Learn
https://www.unknowncheats.me/forum/programming-for-beginners/315634-learn-decided-learn.html
有益な情報がたくさんある気がする
以前MPGHを何回か読んだことがあるけど断然こっちの方がいい気がする
気のせいかもしれんが
How to Learn When You Have Decided To Learn
https://www.unknowncheats.me/forum/programming-for-beginners/315634-learn-decided-learn.html
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 随意契約の備蓄米、小泉農相から「これまで仕入れたコメと価格差つけて並べるよう要請」とアークス幹部 [蚤の市★]
- 【小泉農相】コメ生産縮小の転換に意欲示す 「農政を抜本改革」 [蚤の市★]
- 【芸能】元ジャンポケ・斉藤慎二被告、日産“名車”購入を報告「大切に乗ります」 [冬月記者★]
- 【岐阜】リニアのトンネル工事問題、地下水位低下に打つ手なし…JRが瑞浪市で説明会開催へ 代替水源整備で理解求める ★2 [樽悶★]
- ご当地ナンバー、全てカラー版に 事業者の負担軽減で―国交省 [蚤の市★]
- 中居正広、被害女性に不信感「守秘義務の遵守に強い懸念」「解除した場合、被害女性が事情聴取以外の場面で情報開示の可能性がある」★10 [Ailuropoda melanoleuca★]
- 【フジテレビ】2025 FORMULA 1【NEXT】Lap111
- 【DAZN】フォーミュラGP【F1 F2F3 SF P】Lap1708
- 巨専】 祝勝会
- LAD @ NYM ★8
- とらせん
- MLB総合
- 【ザイム真理教】なぁ、おまえら、この国って想像以上に緊縮カルトに支配されてないか? [757644362]
- 石破総理正論「東京一極集中って大阪が原因なんですよ。名古屋みたいに産業を育成せず、大阪万博や観光に税金を使って企業に逃げられる [257926174]
- 【画像】フェミ煽りをしていた弱者男性、顔バレして逃亡wwwwwwwwww ★2 [197015205]
- 40代女性「もう、金持ちのハゲでいい。」😭 [153490809]
- 【悲報】みそきん再販(カップ麺)に大行列 [289416686]
- 【画像】人気女子大生インフルエンサー、すき屋であたシコして炎上wwwwww