Сейчас на форуме: Rio (+5 невидимых)

 eXeL@B —› Вопросы новичков —› Как изменить JPEG, находящийся в секции кода?
Посл.ответ Сообщение

Ранг: 0.8 (гость)
Активность: 0=0
Статус: Участник

Создано: 25 августа 2008 19:45 · Поправил: alvarseo
· Личное сообщение · #1

Уважаемые знатоки! Посоветуйте, пожалуйста, способ решения следующей проблемы:
Есть программа, с которой я снял конверт. В ней нужно подменить картинку , которая появляется при старте программы (картинка , а на картинке меню, поэтому просто вырезать в коде её вызов нельзя). Все программы, работающие с ресурсами картинку не видят, и неудивительно, потому что она находится не в ресурсной части. В самом экзешнике я нашел нужную мне картинку, но вот изменить её не получается, могу либо её попросту испортить непонятными растровыми линиями и пятнами,меняя в хекс-эдиторе нужный фрагмент кода. забыл сказать - картинка в формате JPEG (с использованием JFIF).
На данный момент у меня получается скопировать нужный фрагмент картинки (я копирую 6 байтов до JFIF и далее до конца) , но после изменения изображения и его добавления в exe. программа становится незапускаемой.
Наверняка с этим многие сталкивались, подскажите чего еще можно попробовать ?



Ранг: 441.3 (мудрец), 297thx
Активность: 0.410.04
Статус: Участник

Создано: 25 августа 2008 19:58
· Личное сообщение · #2

Наверняка надо выложить и оригинальную прогу и распакованную. Или например я могу тебе всякую ху...ню посоветовать.




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 25 августа 2008 21:47
· Личное сообщение · #3

Возможно, перестройку ресурсов после анпака не сделал-потому и не видят редакторы ресурсов. А если реально так и должна лежать в коде... ну чо я могу сказать, заменяй не изменяя размера картинки. А вообще хз, откуда она в коде возьмётся, компили не должны такое собирать, вроде.



Ранг: 0.8 (гость)
Активность: 0=0
Статус: Участник

Создано: 25 августа 2008 22:20 · Поправил: alvarseo
· Личное сообщение · #4

Archer пишет:
заменяй не изменяя размера картинки

ага, это я и пытаюсь сейчас делать, только в том то и сложность, что исправить картинку атк, чтобы она была и по размеру равная , и по виду неуродская довольно сложно, например, замазываю ненужные надписи на изображении, и оно в итоге оказывается в 10 раз меньше по размеру , чем исходное (которое удалось выцарапать из проги), потом в конце jpega заполняю недостающее место нулевыми байтами, но программа не запускается вообще.
Archer пишет:
перестройку ресурсов после анпака не сделал
ага не сделал. Потому что пока не умею. Просто мне казалось, что если после распаковки картинка не появилась в секции ресурсов, то никакая перестройка не поможет.

Archer пишет:
компили не должны такое собирать
, это либо DElphie, либо C++ Builder, скорее всего первое.
Завтра постараюсь пересобрать ресурсы как-нить...



Ранг: 0.8 (гость)
Активность: 0=0
Статус: Участник

Создано: 26 августа 2008 00:17 · Поправил: alvarseo
· Личное сообщение · #5

Итак, как я и думал, пересборка ресурсов (при помощи Resource Binder) ничего не дала.
Сами требуемые ресурсы записаны в коде так :
object Main:TMain
Left = 203
Top = 59
...
Picture.Data = {
0A544A504547496D6167659D600600FFE0...
...
}
...
end
этот кусок я получил декомпиляцией с помощью Source Rescuer под C++ Builder.
Сама программа написана , как и ожидалось, на Borland Delphie 6.0-7.0



Ранг: 284.8 (наставник), 6thx
Активность: 0.150
Статус: Участник

Создано: 26 августа 2008 10:08
· Личное сообщение · #6

все равно картинка имеет некое смещение по которому происходит ее подгрузка, поищи в коде функцию загрузки этой картинки и попробуй подменить оффсет на свой ( скажем добавь новую секцию к файлу и запиши туда другую картинку ). по идее должно прокатить, а иначе хз



Ранг: 1045.7 (!!!!), 31thx
Активность: 0.570
Статус: Участник

Создано: 26 августа 2008 12:08
· Личное сообщение · #7

alvarseo пишет:
пересборка ресурсов (при помощи Resource Binder) ничего не дала.

Возьми ребилдер др. Головы и пересобери ресурсы и не морочь себе голову



Ранг: 0.8 (гость)
Активность: 0=0
Статус: Участник

Создано: 26 августа 2008 12:54 · Поправил: alvarseo
· Личное сообщение · #8

pavka пишет:
Возьми ребилдер др. Головы и пересобери ресурсы и не морочь себе голову

не мог бы подсказать каким лучше ? а то сижу сейчас пытаюсь оффсет заменить
п.с. а все - понял ))) Голова - это и есть ребилдер )))
хм... что-то найти не могу где скачать его на васме нету, может кто-нибудь даст ссылку ?
п.п.с - все , нашел, правда на каком-то левом домене третьего уровня, ну да ладно, хоть какой-то, интересно, почему этой проги нет на васме и здесь ?


Я обработал прогу rebuilder-ом от Golova, сохранил ресурсы в файл (в нем, о чудо , я распознал и искомый рисунок =) ) , далее с помощью PETool отрезал из проги секцию ресурсов и загрузил свою, потом в разделе Directories заменил RVA и OFfset на новые значения. Тем не менее программа не запускается ... (иконка пропала, значит все-таки неправильно ресурсы вставил)



Ранг: 1045.7 (!!!!), 31thx
Активность: 0.570
Статус: Участник

Создано: 26 августа 2008 16:03
· Личное сообщение · #9

alvarseo пишет:
загрузил свою, потом в разделе Directories заменил RVA и OFfset на новые значения. Тем не менее программа не запускается ... (иконка пропала, значит все-таки неправильно ресурсы вставил)

Скорее всего не верно приатачил ресурсы



Ранг: 0.8 (гость)
Активность: 0=0
Статус: Участник

Создано: 26 августа 2008 16:16
· Личное сообщение · #10

pavka пишет:
Скорее всего не верно приатачил ресурсы

Эх, к сожалению приатачил верно, но все оказалось проще , чем я думал - искомые рисунки были уже изначально в ресурсной части, просто не в виде изображения, а в виде программного как я писал выше, теперь вот вставляю разные куски картинок, чтобы определить в каком формает туда можно писать



Ранг: 0.8 (гость)
Активность: 0=0
Статус: Участник

Создано: 26 августа 2008 17:43
· Личное сообщение · #11

Ураа получилось !!! Благодаря программе Restuner, которая распознала данные в коде программы, написанной на дельфях и смогла их поменять безболезненно для исполняемости проги
спасибо всем за участие !


 eXeL@B —› Вопросы новичков —› Как изменить JPEG, находящийся в секции кода?
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати