БабаЯГА Опубликовано 6 июля, 2019 Поделиться Опубликовано 6 июля, 2019 (изменено) Всем привет! Помогите, пожалуйста. Есть доступ к исходникам игры, в одном из файлов есть такие данные, я могу их изменять перед началом игры, но надо изменять именно во время игры: orientation = -1, -2, -3 ; не найдены (тип данных - неизвестен, не могу найти) position = -0.5555552, -0.5555552, -0.5555552 ; найдены(float, не базовые адреса) 1C7CF3B4 1C7CF3B8 1C7CF3BC zoom_rotate_x = -0.666 ; найдены(float, не базовые адреса) 1C7CF430 zoom_rotate_y = -0.777 ; найдены(float, не базовые адреса) 1C7CF434 zoom_offset = -0.888, -0.888, -0.888 ; найдены(float, не базовые адреса) 1C7CF438 1C7CF43C 1C7CF440 всё нашёл кроме параметра orientation. Для orientation пробовал все типы данных. Подозреваю, что это возможно структура, но визуально в редакторе памяти не увидел ... Вернее не так, нахожу, например 4 байта - 642000 адресов, а вот как отсеять - понятия не имею, ведь значение изначально не должно меняться в игре, т.е. грубо говоря - это координаты. которые неизменны (для отображения оружия). Помогите, подскажите. Заранее благодарен. Изменено 6 июля, 2019 пользователем БабаЯГА Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 8 июля, 2019 Поделиться Опубликовано 8 июля, 2019 Из сказанного тобой не понятно, лежит ли orientation рядом с position. Если в исходниках он лежит рядом, то и в памяти тоже будет лежать рядом. Следовательно, тебе достаточно в памяти найти position, и рядом будет лежать orientation. 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
БабаЯГА Опубликовано 8 июля, 2019 Автор Поделиться Опубликовано 8 июля, 2019 (изменено) В 08.07.2019 в 05:23, Xipho сказал: Из сказанного тобой не понятно, лежит ли orientation рядом с position... Показать Показать контент В исходниках именно так как я и писал, вот так идут значения: orientation = 1, 2, 3 position = 0.1, 0.2, 0.3 zoom_rotate_x = 0.1 zoom_rotate_y = 0.1 zoom_offset = 0.1, 0.2, 0.3 в таком же порядке они идут и в памяти. В 08.07.2019 в 05:23, Xipho сказал: Если в исходниках он лежит рядом, то и в памяти тоже будет лежать рядом. Следовательно, тебе достаточно в памяти найти position, и рядом будет лежать orientation. Показать Показать контент Так и есть, все эти значения рядом. Т.к. я вообще не силён в CE то я так и искал -> поменял значение в position в исходнике на уникальное и нашёл в памяти, потом другое и т.д. Но вот с orientacion - проблема. Я менял значения orientation, а потом просто делал скриншёты памяти рядом со значением position - сверху и снизу, сравнивал картинки и смотрел что изменилось... Наверное это тупо, но по другому я не умею Так вот, вчера я таким способом нашёл orientation, оказалось, что там каждому значению в исходнике соответствует два значения в памяти, более того, одно (+) другое минус, более того, значение в памяти в радианах, а значение в исходниках - в градусах. Например, если в orientation первое значение =2 то в памяти это будет =0.03 и =-0.03 , через CE я наверное не нашёл бы orientation никогда ... Но ведь должно же быть значение в памяти, как и в исходнике? Или я ошибаюсь? Плюс, значения которые я понаходил - это не базовые адреса, они меняются при каждой перезагрузке игры. Как найти базовые в данной игре и в данном случае - не могу понять, т.к., как можно отсеять значение в CE которое постоянное и не изменяется ни при каких обстоятельствах? Посмотрел на вашем ютуб-канале много видео, особенно про автоматический поиск указателей, нашёл конечных 42 шт. адресов, вроде бы базовые, все добавил в таблицу, пару раз перезашёл на уровни, пару раз в игру и всё слетело, ни один адрес не оказался базовым, хотя ставил 5 уровней указателей. Кстати, автоматический поиск указателей не работает на версиях CE новее чем 6.4 - перепробовал все, заработал только на 6.4 (может это только у меня так, я не знаю). А вообще, конечно, было бы хорошо, если бы мне кто-нибудь помог в поисках. Я вот понимаю, что эти данные - это 99% - структура, но как найти её в памяти? Для чего мне всё это надо? Я пишу программу для настройки HUD-а оружия в игре, эту программу я потом раздам мододелам игры на всех доступных форумах, чтобы пользовались, потому-как такой функции в игре нет, а она очень нужна. На данный момент мододелы убивают на настройку одного ствола примерно от суток до двух, с моей программой это будет занимать не больше 3-5 минут времени. Игра: S.T.A.L.K.E.R. - Тень Чернобыля. Итак, на данный момент все адреса найдены - но мне нужны базовые адреса (зелёные), чтобы каждый раз не приходилось искать адрес, а потом подставлять его в программу. Сейчас, т.к. адреса не базовые, мне приходится каждый раз в исходнике менять одно значение на уникальное, находить его, потом подставлять в свою программу, а программа от этого найденного адреса - находит уже все остальные адреса, и так каждый раз Если бы у меня были базовые адреса, то CE бы больше не понадобился, программа бы сама всё делала и находила. Уверен, что для знающих людей в CE - это проще пареной репы Были бы деньги - я бы даже заплатил за это, но у меня их нет Помогите пожалуйста найти базовые адреса. Где брать ресурсы игры - все ссылки дам, на на саму игру и на правильные исходники и т.д. или ткните носом в конкретные примеры, варианты и т.д., ребята, перелопатил очень много материала, действительно - много, но для меня проще программу написать за пару дней, чем найти в CE эти "базовые адреса". Изменено 8 июля, 2019 пользователем БабаЯГА Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 9 июля, 2019 Поделиться Опубликовано 9 июля, 2019 Поскольку ты знаешь смещение от position, то в своей программе ты можешь искать позишн, и от полученного адреса отнимать или прибавлять смещение (раз ориентейшн выше, то, скорее всего, нужно отнимать). А с позицией ты можешь найти инструкции, которые считывают ее, и в этих инструкциях будет адрес. Смотри плейлист "Взлом игр от А до Я" на нашем канале, там есть все необходимые разъяснения. Ссылка на комментарий Поделиться на другие сайты Поделиться
БабаЯГА Опубликовано 9 июля, 2019 Автор Поделиться Опубликовано 9 июля, 2019 В 09.07.2019 в 07:57, Xipho сказал: Поскольку ты знаешь смещение от position, то в своей программе ты можешь искать позишн, и от полученного адреса отнимать или прибавлять смещение ... Показать Это понятно Проблема в другом, я не могу найти orientation. Может я что-то не то написал... Попробую ещё раз. В исходнике orientation = 131 а в памяти оно разбивается на два значения на 0.744 и на -0.744. Я предполагал что в исходниках задаётся значение в градусах, а в памяти пишется в радианах, но я ошибся. На этом и застрял. Мне нужен адрес в памяти, в котором хранится ОДНО значение orientation - как в исходнике, я не могу его найти. Прошу помощи. В 09.07.2019 в 07:57, Xipho сказал: А с позицией ты можешь найти инструкции, которые считывают ее, и в этих инструкциях будет адрес. Смотри плейлист "Взлом игр от А до Я" на нашем канале, там есть все необходимые разъяснения. Показать Какие инструкции? Где в них будет адрес? Какой адрес? Я пересмотрел уже штук 20 видео - ничего не помогло найти orientation, поэтому я и пришёл сюда на форум - за помощью... Ткни носом в видео на вашем канале про то что ты написал: "А с позицией ты можешь найти инструкции, которые считывают ее, и в этих инструкциях будет адрес. Смотри плейлист "Взлом игр от А до Я" на нашем канале, там есть все необходимые разъяснения." Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 11 июля, 2019 Поделиться Опубликовано 11 июля, 2019 1. Находишь position 2. Находишь инструкцию, которая работает с этим position (читает или пишет в адрес) 3. Делаешь скрипт/инъекцию на этой инструкции, но в инъекции пока ничего кроме оригинального кода не пишешь. 4. Если в исходнике orientation лежит ДО position, то и в памяти оно будет лежать где-то ДО position. 5. В редакторе памяти открываешь адрес position, и топаешь выше по памяти и экспериментально меняешь значения. Таким образом выйдешь на нужный тебе адрес. 5.1. Или есть еще вариант - position и orientation могут быть самостоятельными структурами в структуре/классе оружия. В этом случае от position нужно выйти на структуру оружия и исследовать указатели рядом с указателем на структуру position. Скорее всего, прямо предыдущий указатель и будет указателем на структуру orientation. 5.2 Еще вариант: отловить момент загрузки исходного файла, и шагать пошагово в ходе его загрузки и компиляции. Но это сложно. По первым трем пунктам у нас видео точно есть. И практически в каждом видео используется инъекция кода. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения