Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: Saozan от Ноябрь 25, 2020, 11:57



Название: Разбор бинарника
Отправлено: Saozan от Ноябрь 25, 2020, 11:57
День добрый, друзья. Может кто что посоветует или ссылку даст на нужную инфу. Есть бинарник собранный QtC 4-ой версии. Необходимо подменить в нем один png файлик. По совету одного друга нашел его hex редактором. Подогнал новый файл под размер старого (получилось на несколько байт меньше. Подменил редактором. Хвост забил нулями. Сохранил, но не запускается теперь правленная прога. Какие мысли, какие пути решения. Права поменялись после правки? Владелец? Принимается любая помощь по структуре бинарника и путям решения моей проблемы. Спасибо.


Название: Re: Разбор бинарника
Отправлено: Авварон от Ноябрь 25, 2020, 12:07
ресурсы qt сжаты, вроде бы. или файл не в ресурсах?


Название: Re: Разбор бинарника
Отправлено: Saozan от Ноябрь 25, 2020, 12:31
файл ресурсов как звать? у меня по ходу только исполняемый файл без расширения. в нем вижу png файлы по порядку. Раз вижу, значит не сжато. CRC  есть в бинарнике? Не известно?


Название: Re: Разбор бинарника
Отправлено: kuzulis от Ноябрь 25, 2020, 13:07
Файлы ресурсов (исходники) - это *.qrc файлы, они обрабытываются rcc (https://doc.qt.io/qt-5/rcc.html) утилитой
и потом "линкуются" в ку-те приложение. Эта утилита может сжимать ресурсы (используя разные алгоритмы сжатия), а может нет ..

В общем,

* первое - ты в исходной екзешечке вырежи эту катринку и сохрани в файлик.. И потом попробуй открыть ее.
* второе - возможно что rcc добавляет какую-нить crc, возможно для всех ресурсов.. ты почитай про это, я хз если честно.


Название: Re: Разбор бинарника
Отправлено: Saozan от Ноябрь 25, 2020, 13:54
а где почитать то? вот в чем вопрос. Файл графики, ясное дело в теле проги байт в байт я вижу. Значит прога не сжата. А есть ли CRC  не знаю. Нужен гайд по структуре. PNG и так ужат и в каждом чанке CRC свой.


Название: Re: Разбор бинарника
Отправлено: kuzulis от Ноябрь 25, 2020, 15:12
> а где почитать то?

https://code.qt.io/cgit/qt/qtbase.git/tree/src/tools/rcc


Название: Re: Разбор бинарника
Отправлено: Saozan от Ноябрь 25, 2020, 18:31
разбор Эльфов задача непростая. PE последней версии мне не помог как и несколько других редакторов, они файл просто не открывают. На данном этапе программа заработала после предоставления ей нужных прав. Осталась проблема в отображении PNG файла, возможно версии разные. Но это уже другая история. Спасибо всем, кто откликнулся.


Название: Re: Разбор бинарника
Отправлено: qate от Ноябрь 27, 2020, 12:25
еще как вариант - если библиотеки qt лежать рядом (в вкомпилены статиком), то пишем "наш" qimage  и если данные в него для пришли от старой png, то пихаем наши, новые
старый файл трогать и не надо