Перейти к содержанию

[Prime World] и СЕ


Рекомендуемые сообщения

Привет всем ! 

Возник такой вопрос при нахождении координат персонажа я их нахожу в СЕ , надо ли после этого искать указатели , если да , то на каких уровнях , или следует по другому сделать  ?

движок Unity

Ссылка на комментарий
Поделиться на другие сайты

и туман войны оправдался (1 видно , 0 не видно) , но когда прошу узнать (...)F5 или (...)F6 в СЕ , то игра вылетает....

что в этом случае делают-_-

Изменено пользователем IzerodayI
Ссылка на комментарий
Поделиться на другие сайты

5 часов назад, IzerodayI сказал:

и туман войны оправдался (1 видно , 0 не видно) , но когда прошу узнать (...)F5 или (...)F6 в СЕ , то игра вылетает....

что в этом случае делают-_-

переключись на VEH debugger

Ссылка на комментарий
Поделиться на другие сайты

исследовав 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 и везде динамика (даже указатель на адрес отвечает не за то , что было после перезапуска игры , как с этим жить:huh:) ?

3) если вместо isOpen поставить 1 (учитывая , что это "туман войны"), я всех буду видеть ?

 

Ссылка на комментарий
Поделиться на другие сайты

  • ReWanet изменил название на [Prime World] и СЕ

попробую методом проб и ошибок , как можно исправить 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 ?

Благодарю за ответы :)

Ссылка на комментарий
Поделиться на другие сайты

В 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;
        }
    }
}

 

 

Ссылка на комментарий
Поделиться на другие сайты

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 сказал:

через АА

что это такое ? :huh:

 

37 минут назад, MasterGH сказал:

Собрать *.dll (.net)

Адрес переменной найти в памяти. Это _coordinates - будет 3 раза по 4 байта.

Адрес переменной найти в памяти с помощью СЕ или с помощью  чего - то другого ?

 

40 минут назад, MasterGH сказал:

все делать через .dll.

имеется ввиду реализация конечного продукта(чита)?

 

А вот логика для PW и Unity не совсем понятна,(там все динамическое , после перезапуска игры все меняется, как с этим жить. Как я понял вы предлагаете рабочий способ(игра онлайн - на всякий случай))

можно, пожалуйста , по подробней ?

 

Ссылка на комментарий
Поделиться на другие сайты

50 минут назад, MasterGH сказал:

Это _coordinates - будет 3 раза по 4 байта.

я находил координаты сразу в 2D проекции (свои и противника), проблема в том , что в тумане войны координаты противника не обновляются , вот и пришла идея "избавиться" от тумана войны ....

Ссылка на комментарий
Поделиться на другие сайты

54 минуты назад, MasterGH сказал:

Адрес переменной найти в памяти.

мне посоветовали посмотреть код через dnSpy , что достаточно интересно, нашел метод отвечающий за туман войны (мне так кажется, могу ошибаться) , и пришла идея , что если я заменю isOpen на 1 , то тумана войны не будет,

а так я первый раз с unity встретился , так , что тебе виднее:)

Ссылка на комментарий
Поделиться на другие сайты

59 минут назад, IzerodayI сказал:

заменю isOpen на 1 , то тумана войны не будет,

 

Я не подскажу как его менять в dnSpy.

Но думаю, это менять байт код или IL код этого условия. Я не знаю как это сделать, а гуглить лень.

Скрытый текст

    if (!isOpen)
    {
        section.CurrentDecor = unit;
    }
    else
    {
        section.CurrentDecor = null;
    }
    section.isOpenForDecor = isOpen;

 

 

1 час назад, IzerodayI сказал:

можно, пожалуйста , по подробней ?

Поподробнее не могу на все вопросы отвечать, т.к. заведу в дебри. Готового решения нет, над смотреть игру, а на это возможности нет.

 

1 час назад, IzerodayI сказал:

я находил координаты сразу в 2D проекции (свои и противника), проблема в том , что в тумане войны координаты противника не обновляются , вот и пришла идея "избавиться" от тумана войны ....

Не факт, что открыв туман войны можно увидеть противника.

Ссылка на комментарий
Поделиться на другие сайты

1 час назад, MasterGH сказал:

Поподробнее не могу на все вопросы отвечать, т.к. заведу в дебри. Готового решения нет, над смотреть игру, а на это возможности нет.

Знаешь какую-нибудь легкую по взлому игру на unity , что-бы разобраться  что да как.

 

PS можно ли это реализовать на си++ или на с# делать (хоть что-то) надо (для игр Unity)?

Изменено пользователем IzerodayI
Ссылка на комментарий
Поделиться на другие сайты

22 часа назад, IzerodayI сказал:

PS можно ли это реализовать на си++ или на с# делать (хоть что-то) надо (для игр Unity)?

Что именно ты хочешь реализовать?

Ссылка на комментарий
Поделиться на другие сайты

52 минуты назад, Dejavu сказал:

Что именно ты хочешь реализовать?

по-мойму это называется как "мапхак" - интересно сделать так чтобы я мог отобразить координаты противников на карте.

Ссылка на комментарий
Поделиться на другие сайты

Только что, IzerodayI сказал:

по-мойму это называется как "мапхак" - интересно сделать так чтобы я мог отобразить координаты противников на карте.

Нужно выйти на структуры и потом уже через ReadProcessMemory выводить их

Ссылка на комментарий
Поделиться на другие сайты

Только что, Dejavu сказал:

Нужно выйти на структуры и потом уже через ReadProcessMemory выводить их

да , я знаком с этим , у меня идея была такая :

1) делаю инжект длл

2) перехватываю функцию отрисовки на экран 

3) ищу и отображаю координаты

 

и как же проблемы 

1) движок игры на unity , и там все динамическое (после перезапуска все в новом месте, как вздумается игре)

2) и я не вижу координаты противника в тумане войны

3) пытался через СЕ найти инструкции :

    3.1) их очень много , я долго ждал , так и не дождался пока они все найдутся 

    3.2) находил 40 тысяч инструкций , нажимал стоп , и бегал персонажам так , что-бы сработала инструкция (на координаты или туман войны), но ничего не сработало:mellow: (может не так делал что-то)

Ссылка на комментарий
Поделиться на другие сайты

2 минуты назад, IzerodayI сказал:

там все динамическое

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

 

Ты уже находил координаты свои/чужие?

Что за игра? 

Ссылка на комментарий
Поделиться на другие сайты

Только что, 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

Ссылка на комментарий
Поделиться на другие сайты

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 к игре и из них найти указатель, который указывает на нужный тебе адрес.

Ссылка на комментарий
Поделиться на другие сайты

Только что, Dejavu сказал:

Тебе нужно найти указатели(допустим, поставить Max lvl = 5)

их же будет очень много , там только координаторов в 2D(пока сравниваем с ними , так как в 3D не искал еще) около 1000 и если на каждый ставить 5-уравневый  указатель , я же от старости умру , нет:lol:? (но это не точно)

Ссылка на комментарий
Поделиться на другие сайты

4 минуты назад, IzerodayI сказал:

их же будет очень много

Ну а ты как хотел. Посмотри вот это видео, думаю, план действий будет понятен:

Ссылка на комментарий
Поделиться на другие сайты

Только что, IzerodayI сказал:

но разве не может быть 15-уравневый указатель в игре(ну или любой выше 5) ?

Жоска чет. Я ни разу еще не встречал такого.

Ссылка на комментарий
Поделиться на другие сайты

30 минут назад, Dejavu сказал:

Жоска чет. Я ни разу еще не встречал такого.

Да это от головы число,  просто я не знаю сколько именно

мах-уравневый указатель в игре 

Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.