eXeLab
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 8 мая!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

Русский / Russian English / Английский

Сейчас на форуме: CDK1234 (+6 невидимых)
 · Начало · Статистика · Регистрация · Поиск · ПРАВИЛА ФОРУМА · Язык · RSS · SVN ·

 eXeL@B —› Вопросы новичков —› Помогите понять, где программе поменять разрешение.
Посл.ответ Сообщение

Ранг: 1.4 (гость)
Статус: Участник

Создано: 3 октября 2018 14:20 · Поправил: dzikar New!
Цитата · Личное сообщение · #1

Приветствую всех. Есть исполняемый файл игры. Японская визуальная новелла. Сама игра старая, начала двухтысячных, но есть издание для xbox и PS3 в HD. Нужно ей сменить разрешение в оконном режиме с 800x600 на 1280x720. В коде нашел что отвечает за отрисовку экрана, пришлось читать про ассамблер. Всё бы хорошо, но вот откуда туда приходит размер экрана, совсем неясно. Пробовал дебажить cheat engine`ом, нашёл две переменные отвечающие за вывод содержимого окна, но там, если смотреть в radare2 или IDA, вместо значения, такое ?? . Пробовал развернуть игру в fullscreen, нашёл ещё два места где отображается изменение экрана, но они не в зелёной области вывода C.E..
Объясните мне где и что рыть. Есть подозрение что в экзешнике может какая dll зашита или ещё какой код запакован.

Ссылочка на экзешник https://yadi.sk/d/UJcJzDDwtXfv9A

Ранг: 119.6 (ветеран)
Статус: Участник

Создано: 3 октября 2018 18:36 New!
Цитата · Личное сообщение · #2

Ранг: 1.4 (гость)
Статус: Участник

Создано: 3 октября 2018 19:59 New!
Цитата · Личное сообщение · #3

VOLKOFF пишет:
--> Link <--

 Там про порт игры с Xbox.


Ранг: 580.9 (!)
Статус: Модератор
Research & Development

Создано: 3 октября 2018 22:00 New!
Цитата · Личное сообщение · #4

dzikar пишет:
начала двухтысячных

2008 - это конец 2000-х

dzikar пишет:
В коде нашел что отвечает за отрисовку экрана

Ты либо публикуй всё, что нашёл, либо топай в запросы.
Пока твой пост выглядит как "что-то нашёл, но что именно - не покажу, подскажите сами".

dzikar пишет:
Там про порт игры с Xbox.

Там явно сказано, что разрешение в файле игры захаркодено.
Скорее всего, в коде просто использовался #define

Ранг: 1.4 (гость)
Статус: Участник

Создано: 4 октября 2018 02:59 New!
Цитата · Личное сообщение · #5

Ну конец двухтысячных. Разница.

В общем, завтра после работы проверю одну гипотезу. Однако пришёл к выводу что есть три разных вида экрана. Сам экрана в разрешении 0x258 и 0x320 (при этом где хранятся переменные, неясно). Полноэкранный режим, откуда получает программа размеры, одному ассамблеру известно. Окно сообщения???, размер там тоже свой.

Кстати, разрешения игры там ещё и в скриптах много. Но на окно не влияет.

Ну мой запрос выглядит не покажите а подскажите куда и как рыть.


Ранг: 185.0 (ветеран)
Статус: Участник

Создано: 4 октября 2018 03:04 New!
Цитата · Личное сообщение · #6

dzikar пишет:
Но на окно не влияет.

В direct3d в оконном режиме разрешения как такового нету, картинка подгоняется под размеры окна, в которое выводится.


Ранг: 580.9 (!)
Статус: Модератор
Research & Development

Создано: 4 октября 2018 10:17 New!
Цитата · Личное сообщение · #7

f13nd пишет:
В direct3d


Там сплошной GDI

Ранг: 11.3 (новичок)
Статус: Участник

Создано: 7 октября 2018 16:35 New!
Цитата · Личное сообщение · #8

dzikar пишет:
но они не в зелёной области вывода C.E..


Да ну...придётся искать указатель на значение,он по любому есть и будет зелёным.

dzikar пишет:
Ну мой запрос выглядит не покажите а подскажите куда и как рыть.


Попробуй подружиться с Olly Dbg,думаю что она больше расскажет тебе,чем Cheat Engine,хотя и последний крут...и без ассма не обойтись,если работаешь под отладчиком.

Ранг: 65.5 (постоянный)
Статус: Участник

Создано: 7 октября 2018 17:09 · Поправил: Boostyq New!
Цитата · Личное сообщение · #9

Не пытайся менять значения после создания окна, возможно ты найдешь данные какого-нибудь класса, которые в данный момент не используются/или используются для других вещей, и изменив их ты не изменишь размер окна
Потому что для смены нужна процедура, в которой происходит пересоздание девайса, возможно подгрузка других текстур и т.п.
Вообщем, если в коде игры такой процедуры нет и другой софт для смены разрешения d3d приложений не подоходит, то единственный вариант патчить при создании окна
Но при этом могут возникать артефакты, как то растянутые текстуры или гуй может работать криво, т.е. править нужно во всех местах и до создания окна
 eXeL@B —› Вопросы новичков —› Помогите понять, где программе поменять разрешение.

Оригинальный DVD-ROM: eXeL@B DVD !

Вы находитесь на форуме сайта EXELAB.RU
Проект ReactOS