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=nQ2F2iW80Fk0639ネトゲ廃人@名無し2020/04/02(木) 06:36:26.27ID:??? 1つ間違いがあった 手順3は書き込んでいる命令にスクリプトを組むのではなく、 弾丸のアドレスに常時アクセスしている命令に組む そうすればスクリプトをオンにした瞬間に弾丸のアドレスを検出できる 書き込んでいる命令に組んだ場合は、銃を撃たないと検出できないのでひと手間増えることになる 0640ネトゲ廃人@名無し2020/04/02(木) 07:59:41.65ID:???>>638-639 ありがとう、試してみる 0641ネトゲ廃人@名無し2020/04/02(木) 16:00:34.40ID:??? やさしい 0642ネトゲ廃人@名無し2020/04/03(金) 00:56:06.10ID:tHqoZkIq 空遠 0643ネトゲ廃人@名無し2020/04/03(金) 00:56:08.35ID:tHqoZkIq 空遠 0644ネトゲ廃人@名無し2020/04/05(日) 00:34:38.44ID:??? 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を見つけるにはどうしたら良いんだろう 何か足りないのかな 0645ネトゲ廃人@名無し2020/04/05(日) 08:10:12.19ID:??? オフセットの少ない順にソートすればいい 最大オフセット値を7でスキャンした場合、1番右がOffset 6になってるのでそこをクリックする https://dotup.org/uploda/dotup.org2104559.png 複数のポインターマップを使ってポインタースキャンをすれば、ある程度安定的なポインターに絞り込まれてるはずので、あとはソートして上から順にテストするだけ。 0646ネトゲ廃人@名無し2020/04/05(日) 10:19:18.66ID:???>>645 なるほど、助かる 結局あとはフィールドテストしかないという事か… 0647ネトゲ廃人@名無し2020/04/06(月) 11:51:20.92ID:??? GetProcAddressのlpProcName引数を1にすることって可能なの? push 1 push handle call GetProcAddress