-
Постов
11 -
Зарегистрирован
-
Посещение
Тип контента
Профили
Форумы
Загрузки
Блоги
Сообщения, опубликованные pia3333
-
-
Привет всем, вобщем стоит задача получить список всех объектов на карте в игре на юнити.
Через отладчик кривым способом смог получить адреса на нужные мне объекты(т.е. на экземпляр GameObject), получилось что-то типо такого:
Тут уже прописаны адреса сразу на класс объекта, а не на поинтер.
Объект игрока - статичный, остальные объекты на скрине - динамические и создаются подрят.
Никакой связи между dynamic_1 и dynamic_2 и т.д. я не нашёл(это не структура, а просто динамическое выделение памяти).
Нужно как-то найти для них всех поитер, где будет различаться только 1 оффсет(4 байта * номер объекта). Но как это сделать я без понятия. С каждого оффсета выдаёт ОЧЕНЬ много поинтеров.
Для поиска я взял dynamic_1 и dynamic_2, т.к. знаю что они созданы подрят, т.е. должен быть общий поинтер и оффсеты, где различие будет только в одном и только на 4 байта....
Без понятия как это сделать, прошу помощи Глазами весь список поинтеров не перебрать - там больше 1 000 000.
Добавлено позже:
Скорей всего там всё ещё хуже, просто нашёл значение поинтера, который ссылается на GameObject и вбил в поиск, сохранил все значения и начал экспериментировать:
По идее (36E8FC0-036E8DC8)+036E8FC0 = указатель на 3 объект(или (036E93EC-036E8EB0)+036E93EC, у остальных дельта отрицательная). Но это не так, в последних значения стоят указатели 036E8FC0+1F8 и 036E93EC+53C, хоть какой-нибудь должен быть равен значению 11514856. Хз что делать....
Скорее всего там что-то типо такого в коде движка:
objectArray[id]->object->gameobject
У меня известен только адрес gameobject
-
>> Кто может подсказать, как кода юзера преобразовать в нормальный код?
Может быть ты ожидаешь какую-то оригинальную подсказку или супер идею. Думаю, я тебя разочарую. Если Юзер дожен вводить Асм-код в текстовом представлении, то тебе нужно написать программу, которая Асм-код преобразует в байт код и записывает по известному адресу последовательность байт-кода. Возможно тебе придётся использовать какой-то компилятор или писать свой для наиболее важных машинных инструкций. Чтобы найти "Адреса", то их можно маркировать какой-нибудь последовательностью байт.
Если ты не смог додуматься до решения таким образом, может быть тебе и не стоит пытаться реализовать эту идею. Её реализация может занять у тебя много времени. Альтернатива - использовать Cheat Engine АА- и Lua - скрипты.
Вдруг есть более короткие пути =) Вдруг есть библиотеки какие-нибудь для C++
PS
Есть просто игра, к которой не могу приаттачить отладчик. Стоит защита хорошая. Кернел режим не могу включить в се 6.2, т.к. процессор AMD. На самом деле мне всего-то надо узнать что храниться в регистрах определённого участке кода...
-
И правда. Не ищет значения.
-
Итак, у меня есть такая функция с вставкой асмы:
int Funk(void)
{
_asm
{
push ebp
***
***
***
***
mov esp, ebp
pop ebp
retn
}
}Мне надо написать так, чтобы код, который должен быть место звёздочек менялся во время работы(его задавал юзер!)
Кто может подсказать, как кода юзера преобразовать в нормальный код? Ну ведь нельзя же просто char всунуть, в котором будет его текст
-
Всё понял. Тему офф.
-
-
Как подключиться к базовому адресу ==> Тут
ты так не понятно выражаешься, что я даже решил скачать игру
Это я для примера сказал =) Но если подскажите как сделать там точно, то буду благодарен.
(GameWorld)(DWORD* 0x41234);Вот это не ясно. Как можно класс преобразовать в адрес? Студия ругается жестоко.... void* тоже не срабатывает...
-
Ну в прицепе найти класс/структуру не сложно с позицией.
Вот только как найти динамические данные в этом классе/структуре.
Есть примеры работы с классами?
Есть класс:
class GameWorld//расположен он например по адресу 0x41234
{
public:
D3DVECTOR SetPosition;
};
Как мне считать что-то из SetPosition?
-
Есть игра Postal 2
Хочу научиться находить класс с позицией игрока, считывать его и записывать в него(предпочтительно на C++)
Какие гайды мне читать, что бы найти класс с позицией? И как потом выйти на сами данные из класса?
Ведь я же найду этот класс в статической части кода.... Если возможно без использования олли(ну через дизасму или CE).
-
http://www.youtube.com/watch?v=-v8e5PZE4uY&feature=relmfu- вот мой гайд, но без объяснений.
От Админэ:
Позволил себе оставить лишь ссылку на IDA, так как все остальное запрещено на форуме.
//Kvazimado
Получение листа поинтеров на все объекты[Unity3D]
in Вопросы по созданию читов в одиночных играх
Опубликовано
Спасибо за ответы. Хотелось сделать просто трейнер, а тут вот как. Ох эти интерпретаторы...