IzerodayI Опубликовано 15 августа, 2017 Поделиться Опубликовано 15 августа, 2017 Привет всем ! Возник такой вопрос при нахождении координат персонажа я их нахожу в СЕ , надо ли после этого искать указатели , если да , то на каких уровнях , или следует по другому сделать ? движок Unity Ссылка на комментарий Поделиться на другие сайты Поделиться
IzerodayI Опубликовано 15 августа, 2017 Автор Поделиться Опубликовано 15 августа, 2017 (изменено) и туман войны оправдался (1 видно , 0 не видно) , но когда прошу узнать (...)F5 или (...)F6 в СЕ , то игра вылетает.... что в этом случае делают? Изменено 15 августа, 2017 пользователем IzerodayI Ссылка на комментарий Поделиться на другие сайты Поделиться
roma912 Опубликовано 15 августа, 2017 Поделиться Опубликовано 15 августа, 2017 Меняют тип отладчика или же просто юзают x32 dgb / IDA Ссылка на комментарий Поделиться на другие сайты Поделиться
uhx Опубликовано 15 августа, 2017 Поделиться Опубликовано 15 августа, 2017 5 часов назад, IzerodayI сказал: и туман войны оправдался (1 видно , 0 не видно) , но когда прошу узнать (...)F5 или (...)F6 в СЕ , то игра вылетает.... что в этом случае делают? переключись на VEH debugger Ссылка на комментарий Поделиться на другие сайты Поделиться
IzerodayI Опубликовано 15 августа, 2017 Автор Поделиться Опубликовано 15 августа, 2017 исследовав dnSpy я в игре нашел это : Скрытый текст // Token: 0x06000D82 RID: 3458 RVA: 0x00044D48 File Offset: 0x00042F48 public void SetMapSectonsStatus(Construction unit, ConstructionPosition pos, bool isOpen) { Constructon staticConstruction = unit.GetStaticConstruction(); if (pos == null) { CLI.Assert("Trying to set map sections status null position."); return; } if (unit == null) { CLI.Assert("Trying to set map sections status for position '{0}.{1}.{2}', but construction is null.", new object[] { pos.X, pos.Y, pos.Pitch }); return; } if (staticConstruction == null) { CLI.Assert("Trying to set map sections status for position '{0}.{1}.{2}', but construction plan is null.", new object[] { pos.X, pos.Y, pos.Pitch }); return; } byte[,] constructionSections = Utils.GetConstructionSections(staticConstruction); for (int i = 0; i < constructionSections.GetLength(0); i++) { for (int j = 0; j < constructionSections.GetLength(1); j++) { if (constructionSections[i, j] != 0) { KeyValuePair<int, int> keyValuePair = Utils.ConstructionToMapIndexesAddendums(i, j, pos.Pitch); int i2 = keyValuePair.Key + pos.X; int j2 = keyValuePair.Value + pos.Y; MapSection section = Utils.GetSection(i2, j2); if (section != null) { if (!Utils.IsDecoration(unit)) { if (!isOpen) { section.CurrentBuilding = unit; if (section.CurrentDecor != null) { Accessor.ActionManager.MoveToPocket(section.CurrentDecor); } section.isOpenForDecor = (constructionSections[i, j] != 2); } else { section.CurrentBuilding = null; section.isOpenForDecor = (section.CurrentDecor == null); } section.isOpenForBuilding = isOpen; } if (Utils.IsDecoration(unit)) { if (!isOpen) { section.CurrentDecor = unit; } else { section.CurrentDecor = null; } section.isOpenForDecor = isOpen; } } } } } if (this.OnMapSectionsStatusChanged != null) { this.OnMapSectionsStatusChanged(); } } как мне кажется это "туман войны" и вызов : Скрытый текст // Token: 0x06000D83 RID: 3459 RVA: 0x00044F30 File Offset: 0x00043130 public void SetMapSectonsStatus(Construction unit, bool isOpen) { this.SetMapSectonsStatus(unit, unit.Position, isOpen); } isOpen - отвечает за видимость (как я понял) Возникают вопросы : 1) есть ли возможность проверить , что это является "туман войны" 2) (если допустить , что это "туман войны")что с этой информацией делать ? как писать код если игра на Unity и везде динамика (даже указатель на адрес отвечает не за то , что было после перезапуска игры , как с этим жить) ? 3) если вместо isOpen поставить 1 (учитывая , что это "туман войны"), я всех буду видеть ? Ссылка на комментарий Поделиться на другие сайты Поделиться
IzerodayI Опубликовано 16 августа, 2017 Автор Поделиться Опубликовано 16 августа, 2017 попробую методом проб и ошибок , как можно исправить isOpen на 1 ? Скрытый текст // Token: 0x06000D83 RID: 3459 RVA: 0x00044F30 File Offset: 0x00043130 public void SetMapSectonsStatus(Construction unit, bool isOpen) { this.SetMapSectonsStatus(unit, unit.Position, isOpen);// this.SetMapSectonsStatus(unit, unit.Position, 1); ??? } в dnSpy я нахожу этот участок кода и тыкаю на isOpen , нажимаю изменить инструкции IL.... и появляется вот это https://cloud.mail.ru/public/7Kpx/u3JTGtjEX кто знает как изменить bool на 1 ? Благодарю за ответы Ссылка на комментарий Поделиться на другие сайты Поделиться
MasterGH Опубликовано 16 августа, 2017 Поделиться Опубликовано 16 августа, 2017 В 15.08.2017 в 17:10, IzerodayI сказал: Привет всем ! Возник такой вопрос при нахождении координат персонажа я их нахожу в СЕ , надо ли после этого искать указатели , если да , то на каких уровнях , или следует по другому сделать ? движок Unity Собрать *.dll (.net) Адрес переменной найти в памяти. Это _coordinates - будет 3 раза по 4 байта. Но, лучше читы не делать через Cheat Engine, все делать через .dll. В CE можно сделать форму трейнера и подгрузчик dll. Подгрузчик dll через АА в CE я где-то выкладывал. Скрытый текст using UnityEngine; using System.Collections; public class PlayerCoordinates : MonoBehaviour { // Координаты игрока (искать адрес в памяти) private Vector3 _coordinates; // Если использует стандартный тег (если не используется, то не повезло. Тогда по названию игрового объекта или компонента, или т.п.) private const tagPlayer = "Player"; private GameObject _goPlayer = null; void Update() { if (_goPlayer == null) { _goPlayer = GameObject.FindWithTag(tagPlayer); } if (_goPlayer != null) { _coordinates = _goPlayer.transform.position; } } } Ссылка на комментарий Поделиться на другие сайты Поделиться
IzerodayI Опубликовано 16 августа, 2017 Автор Поделиться Опубликовано 16 августа, 2017 15 минут назад, MasterGH сказал: Но, лучше читы не делать через Cheat Engine, все делать через .dll. В CE можно сделать форму трейнера и подгрузчик dll. Подгрузчик dll через АА в CE я где-то выкладывал. через CE я искал всего лишь оффсеты . Вот например я нашел оффсеты через CE и реализовал через dll я выкладывал (там даже есть исходник в txt)(разобраться как искать оффсеты мне здесь помогли, я очень рад), в css я перехватывал DirectX и обрисовывал , что мне надо для ESP. Логика в css v34 мне понятна что я делал : 1) искал оффсеты 2) перехватил DirectX через dll (спасибо keng-у) ========= перехват практически универсальный , он подойдёт в данном случае? 3) в dll с помощью найденных оффсетов , я написал код 4) написал inject_dll (чтобы без СЕ в конечном продукте использовать) 5) и реализовал форму чита через Qt 5(чтобы было красиво) 30 минут назад, MasterGH сказал: Но, лучше читы не делать через Cheat Engine СЕ всего лишь посредственность для нахождения оффсетов. 32 минуты назад, MasterGH сказал: В CE можно сделать форму трейнера и подгрузчик dll. Подгрузчик dll через АА в CE я где-то выкладывал. а можно через си++ ? я в СЕ не сильно разбираюсь 33 минуты назад, MasterGH сказал: через АА что это такое ? 37 минут назад, MasterGH сказал: Собрать *.dll (.net) Адрес переменной найти в памяти. Это _coordinates - будет 3 раза по 4 байта. Адрес переменной найти в памяти с помощью СЕ или с помощью чего - то другого ? 40 минут назад, MasterGH сказал: все делать через .dll. имеется ввиду реализация конечного продукта(чита)? А вот логика для PW и Unity не совсем понятна,(там все динамическое , после перезапуска игры все меняется, как с этим жить. Как я понял вы предлагаете рабочий способ(игра онлайн - на всякий случай)) можно, пожалуйста , по подробней ? Ссылка на комментарий Поделиться на другие сайты Поделиться
IzerodayI Опубликовано 16 августа, 2017 Автор Поделиться Опубликовано 16 августа, 2017 50 минут назад, MasterGH сказал: Это _coordinates - будет 3 раза по 4 байта. я находил координаты сразу в 2D проекции (свои и противника), проблема в том , что в тумане войны координаты противника не обновляются , вот и пришла идея "избавиться" от тумана войны .... Ссылка на комментарий Поделиться на другие сайты Поделиться
IzerodayI Опубликовано 16 августа, 2017 Автор Поделиться Опубликовано 16 августа, 2017 54 минуты назад, MasterGH сказал: Адрес переменной найти в памяти. мне посоветовали посмотреть код через dnSpy , что достаточно интересно, нашел метод отвечающий за туман войны (мне так кажется, могу ошибаться) , и пришла идея , что если я заменю isOpen на 1 , то тумана войны не будет, а так я первый раз с unity встретился , так , что тебе виднее Ссылка на комментарий Поделиться на другие сайты Поделиться
MasterGH Опубликовано 16 августа, 2017 Поделиться Опубликовано 16 августа, 2017 59 минут назад, IzerodayI сказал: заменю isOpen на 1 , то тумана войны не будет, Я не подскажу как его менять в dnSpy. Но думаю, это менять байт код или IL код этого условия. Я не знаю как это сделать, а гуглить лень. Скрытый текст if (!isOpen) { section.CurrentDecor = unit; } else { section.CurrentDecor = null; } section.isOpenForDecor = isOpen; 1 час назад, IzerodayI сказал: можно, пожалуйста , по подробней ? Поподробнее не могу на все вопросы отвечать, т.к. заведу в дебри. Готового решения нет, над смотреть игру, а на это возможности нет. 1 час назад, IzerodayI сказал: я находил координаты сразу в 2D проекции (свои и противника), проблема в том , что в тумане войны координаты противника не обновляются , вот и пришла идея "избавиться" от тумана войны .... Не факт, что открыв туман войны можно увидеть противника. Ссылка на комментарий Поделиться на другие сайты Поделиться
IzerodayI Опубликовано 16 августа, 2017 Автор Поделиться Опубликовано 16 августа, 2017 (изменено) 1 час назад, MasterGH сказал: Поподробнее не могу на все вопросы отвечать, т.к. заведу в дебри. Готового решения нет, над смотреть игру, а на это возможности нет. Знаешь какую-нибудь легкую по взлому игру на unity , что-бы разобраться что да как. PS можно ли это реализовать на си++ или на с# делать (хоть что-то) надо (для игр Unity)? Изменено 16 августа, 2017 пользователем IzerodayI Ссылка на комментарий Поделиться на другие сайты Поделиться
IzerodayI Опубликовано 17 августа, 2017 Автор Поделиться Опубликовано 17 августа, 2017 @MasterGH или может подскажишь примерный план действий(чего там изучить и так далее), что-бы это сделать? Ссылка на комментарий Поделиться на другие сайты Поделиться
Dejavu Опубликовано 17 августа, 2017 Поделиться Опубликовано 17 августа, 2017 22 часа назад, IzerodayI сказал: PS можно ли это реализовать на си++ или на с# делать (хоть что-то) надо (для игр Unity)? Что именно ты хочешь реализовать? Ссылка на комментарий Поделиться на другие сайты Поделиться
IzerodayI Опубликовано 17 августа, 2017 Автор Поделиться Опубликовано 17 августа, 2017 52 минуты назад, Dejavu сказал: Что именно ты хочешь реализовать? по-мойму это называется как "мапхак" - интересно сделать так чтобы я мог отобразить координаты противников на карте. Ссылка на комментарий Поделиться на другие сайты Поделиться
Dejavu Опубликовано 17 августа, 2017 Поделиться Опубликовано 17 августа, 2017 Только что, IzerodayI сказал: по-мойму это называется как "мапхак" - интересно сделать так чтобы я мог отобразить координаты противников на карте. Нужно выйти на структуры и потом уже через ReadProcessMemory выводить их Ссылка на комментарий Поделиться на другие сайты Поделиться
IzerodayI Опубликовано 17 августа, 2017 Автор Поделиться Опубликовано 17 августа, 2017 Только что, Dejavu сказал: Нужно выйти на структуры и потом уже через ReadProcessMemory выводить их да , я знаком с этим , у меня идея была такая : 1) делаю инжект длл 2) перехватываю функцию отрисовки на экран 3) ищу и отображаю координаты и как же проблемы 1) движок игры на unity , и там все динамическое (после перезапуска все в новом месте, как вздумается игре) 2) и я не вижу координаты противника в тумане войны 3) пытался через СЕ найти инструкции : 3.1) их очень много , я долго ждал , так и не дождался пока они все найдутся 3.2) находил 40 тысяч инструкций , нажимал стоп , и бегал персонажам так , что-бы сработала инструкция (на координаты или туман войны), но ничего не сработало (может не так делал что-то) Ссылка на комментарий Поделиться на другие сайты Поделиться
Dejavu Опубликовано 17 августа, 2017 Поделиться Опубликовано 17 августа, 2017 2 минуты назад, IzerodayI сказал: там все динамическое Для этого нужно искать указатели, через указатели искать структура, затем координаты Ты уже находил координаты свои/чужие? Что за игра? Ссылка на комментарий Поделиться на другие сайты Поделиться
IzerodayI Опубликовано 17 августа, 2017 Автор Поделиться Опубликовано 17 августа, 2017 Только что, Dejavu сказал: Ты уже находил координаты свои/чужие? да находил свои и чужие сразу в 2D (что достаточно удобно) , хотя следует поискать 3D , потому , что с 2D-коорд. противника не обновляются в тумане войны 3 минуты назад, Dejavu сказал: Что за игра? Prime World от Nival (может слышал про игру герои меча и магии 5 - она годная (тоже от Nival)) 6 минут назад, Dejavu сказал: Для этого нужно искать указатели, через указатели искать структура, затем координаты указателя находятся, находил структуры(только через 1 указатель, вместо 5(как СЕ предлагает по умолч.)) и координаты 2D , но они после перезапуска хранятся вообще в другом месте , ну и не обн. в тумане войны , и все в разном месте(структур) , каждого игрока , а их 10 , я в принципе не представляю как их искать , в этом и проблема. Если короче , то проблема в нахождении координат , которые бы обновлялись в тумане войны(если в СЕ я отсеиваю и каждый раз нахожу разные структуры , где хранится (допустим) мой персонаж, то реализовать их нахождение через код, представляется только через сигнатуры , но я не уверен , что и они будут работать) Пример разных структур, после перезапуска : "sakijapi.dll"+001CC1B4+c "sakijapi.dll"+006CBCFC+12ac "sakijapi.dll"+0071AC14+2450 Ссылка на комментарий Поделиться на другие сайты Поделиться
Dejavu Опубликовано 17 августа, 2017 Поделиться Опубликовано 17 августа, 2017 4 минуты назад, IzerodayI сказал: да находил свои и чужие сразу в 2D (что достаточно удобно) , хотя следует поискать 3D , потому , что с 2D-коорд. противника не обновляются в тумане войны Prime World от Nival (может слышал про игру герои меча и магии 5 - она годная (тоже от Nival)) указателя находятся, находил структуры(только через 1 указатель, вместо 5(как СЕ предлагает по умолч.)) и координаты 2D , но они после перезапуска хранятся вообще в другом месте , ну и не обн. в тумане войны , и все в разном месте(структур) , каждого игрока , а их 10 , я в принципе не представляю как их искать , в этом и проблема. Если короче , то проблема в нахождении координат , которые бы обновлялись в тумане войны(если в СЕ я отсеиваю и каждый раз нахожу разные структуры , где хранится (допустим) мой персонаж, то реализовать их нахождение через код, представляется только через сигнатуры , но я не уверен , что и они будут работать) Пример разных структур, после перезапуска : "sakijapi.dll"+001CC1B4+c "sakijapi.dll"+006CBCFC+12ac "sakijapi.dll"+0071AC14+2450 Ну какой-то указатель должен всегда указывать на нужную структуру, просто его нужно найти. Указатель может быть многоуровневым. Тебе нужно найти указатели(допустим, поставить Max lvl = 5), потом перезапустить игру, потом заново присоединить CE к игре и из них найти указатель, который указывает на нужный тебе адрес. Ссылка на комментарий Поделиться на другие сайты Поделиться
IzerodayI Опубликовано 17 августа, 2017 Автор Поделиться Опубликовано 17 августа, 2017 Только что, Dejavu сказал: Тебе нужно найти указатели(допустим, поставить Max lvl = 5) их же будет очень много , там только координаторов в 2D(пока сравниваем с ними , так как в 3D не искал еще) около 1000 и если на каждый ставить 5-уравневый указатель , я же от старости умру , нет? (но это не точно) Ссылка на комментарий Поделиться на другие сайты Поделиться
Dejavu Опубликовано 17 августа, 2017 Поделиться Опубликовано 17 августа, 2017 4 минуты назад, IzerodayI сказал: их же будет очень много Ну а ты как хотел. Посмотри вот это видео, думаю, план действий будет понятен: Ссылка на комментарий Поделиться на другие сайты Поделиться
IzerodayI Опубликовано 17 августа, 2017 Автор Поделиться Опубликовано 17 августа, 2017 16 минут назад, Dejavu сказал: Ну а ты как хотел но разве не может быть 15-уравневый указатель в игре(ну или любой выше 5) ? Ссылка на комментарий Поделиться на другие сайты Поделиться
Dejavu Опубликовано 17 августа, 2017 Поделиться Опубликовано 17 августа, 2017 Только что, IzerodayI сказал: но разве не может быть 15-уравневый указатель в игре(ну или любой выше 5) ? Жоска чет. Я ни разу еще не встречал такого. Ссылка на комментарий Поделиться на другие сайты Поделиться
IzerodayI Опубликовано 17 августа, 2017 Автор Поделиться Опубликовано 17 августа, 2017 30 минут назад, Dejavu сказал: Жоска чет. Я ни разу еще не встречал такого. Да это от головы число, просто я не знаю сколько именно мах-уравневый указатель в игре Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения