PDA

Просмотр полной версии : Ищем структуры в SAMP через CE


Vadim.dll
17.05.2019, 19:01
Привет, не видел такой темы, поэтому решил изложить свои мысли.

Предыстория:

Года 3 назад, когда я был совсем пездюком, я мечтал о том, чтобы написать свой стиллер, но опыта в программировании было мало, поэтому я пошел писать на других языках более простые вещи. Теперь я немного поднатаскался и почти смог переписать стиллер с SAMP 0.3.7 R1 на SAMP 0.3.7 R3 (не могу найти структуру, в которой лежит текст с диалога). Крч не используйте стиллеры в плохих намерениях, я хотел написать стиллер, т.к мне очень нравится, как он работает и это дает мне мотивации что-то делать.

Ближе к делу:

Версия сампа 0.3.7 R3

Для начала найдем структуру, в которой лежат данные от диалога

Итак, я пока что нашел 2 способа найти структуру, более простой и более сложный, сейчас покажу более простой:

воспользуемся поиском указателей для адреса.

1.Заходим в Cheat Engine и открываем процесс GTA SA

https://forum.antichat.xyz/attachments/27339059/

2. Нужно найти что-то, за что можно зацепиться, чтобы найти саму структуру, я буду использовать DialogID, на сервере Samp-RP диалоговое окно с регистрацией имеет ID 2, с правилами ID 3, с вводом Email 21, начинаем поиск. Вводит в строку поиска чисто 2, жмем First Scan. Далее вводим в поле с паролем любой пароль, чтобы перейти к следующему окну

https://forum.antichat.xyz/attachments/27339059/

Вводим в строку поиска 3 и жмем Next Scan, далее переходим к диалогу с вводом Email, в поиске вводим 21 и жмем Next Scan.

https://forum.antichat.xyz/attachments/27339059/

Получаем 1 адрес, это и есть адрес переменной с DialogID, два раза жмем на нее, чтобы добавить в список выбранных адресов. Далее жмем ПКМ на добавленном адресе и выбираем Pointer Scan for this address

https://forum.antichat.xyz/attachments/27339059/

Max level ставим 1, после жмем OK, сохраняем дамп в любое место и ждем

https://forum.antichat.xyz/attachments/27339059/

В итоге получаем список адресов, это и есть наши структуры

https://forum.antichat.xyz/attachments/27339059/

Далее переходим в Memory Views -> Tools -> Dissect Data/Structures

https://forum.antichat.xyz/attachments/27339059/

В поле ввода пишем один из полученных адресов, потом жмем Structures->Define new structure

https://forum.antichat.xyz/attachments/27339059/

Называем нашу структуру, вводим размер и OK

https://forum.antichat.xyz/attachments/27339059/

Видим кучу указателей, открываем содержимое первого и видим нашу структуру

https://forum.antichat.xyz/attachments/27339059/

И видим, что как раз по смещению 30 находится наш DialogID, можно переключить диалоговое окно и увидеть, как это значение меняется, также можно поиграть с другими значениями. Например значения со смещение 4 и 8 - сдвиг текста в диалоге, 14 и 18 - размеры диалогового окна.

Адрес на указатель на данную структуру статический, можно смело его использовать в внешней например программе, чтобы получить доступ к Dialog ID или изменить размеры окна, тоже могу показать, если кому-то будет интересно.

Также полученную структуру можно перенести в C++, чтобы не читать каждую переменную из адреса со сдвигом, а легко получить к ним доступ

Возможно здесь есть недочеты, т.к я сам научился это делать 2 дня назад, но хотел поскорее написать об этом, т.к нигде такой информации конкретно на примере сампа не нашел.

Если кому-то будет интересно, вскоре покажу более сложный способ поиска, который ведет сразу на структуру, а не на ее указатель.

Hatiko
14.06.2019, 22:32
Полезная тема, но почему-то у меня после сохранения пустое окно скана становится, как исправлять? Перепробовал кроме диалога и кол.строк, и оружие, но ничего не появляется в окне после сохранения.

Также было бы хорошо видеть урок, как искать разные типы адресов, ибо в инете есть повторяющийся гайд, но он редко когда подходит, т.к. значения другие получаются.

Vadim.dll
15.06.2019, 18:59
Полезная тема, но почему-то у меня после сохранения пустое окно скана становится, как исправлять? Перепробовал кроме диалога и кол.строк, и оружие, но ничего не появляется в окне после сохранения.

Также было бы хорошо видеть урок, как искать разные типы адресов, ибо в инете есть повторяющийся гайд, но он редко когда подходит, т.к. значения другие получаются.


Разные типы адресов?

Refraktor
24.08.2019, 02:00
С ArtMoney тоже так можно?