Сейчас на форуме: rmn, Magister Yoda, vasilevradislav, tyns777 (+6 невидимых)

 eXeL@B —› Программирование —› Реверсинг бажной проги
Посл.ответ Сообщение


Ранг: 156.2 (ветеран), 2thx
Активность: 0.090
Статус: Участник

Создано: 31 июля 2008 23:15
· Личное сообщение · #1

Есть программа "оцифровщик графиков" - Grafula2 (написана на делфи), которая ведет себя неправильно.
Есть в программе меню, есть пункты меню "Открыть BMP", "Открыть JPG". Когда я выбираю картинку BM, то она нормально отображается в программе (на Image1). Когда открываю JPG файл,
то картинка почему-то не отображается на пенели обработки картинки. Это скорее всего баг.
Думаю, может получится его поправить. А для этого надо найти процедуру обработки

Вот, что я нашел, используя DeDe.

menuOpenBMPClick

0048ACDC PUSH EBP
0048ACDD MOV EBP,ESP
0048ACDF ADD ESP,-8
0048ACE2 MOV [LOCAL.2],EDX ; ntdll.KiFastSystemCallRet
0048ACE5 MOV [LOCAL.1],EAX
0048ACE8 XOR EDX,EDX ; ntdll.KiFastSystemCallRet
0048ACEA MOV EAX,[LOCAL.1]
0048ACED CALL 00489C1C
0048ACF2 POP ECX ; kernel32.7C816FF7
0048ACF3 POP ECX ; kernel32.7C816FF7
0048ACF4 POP EBP ; kernel32.7C816FF7
0048ACF5 RETN

menuOpen JPGClick

0048ACF8 PUSH EBP
0048ACF9 MOV EBP,ESP
0048ACFB ADD ESP,-8
0048ACFE MOV [LOCAL.2],EDX ; ntdll.KiFastSystemCallRet
0048AD01 MOV [LOCAL.1],EAX
0048AD04 XOR EDX,EDX ; ntdll.KiFastSystemCallRet
0048AD06 MOV EAX,[LOCAL.1]
0048AD09 CALL 0048A904
0048AD0E POP ECX ; kernel32.7C816FF7
0048AD0F POP ECX ; kernel32.7C816FF7
0048AD10 POP EBP ; kernel32.7C816FF7
0048AD11 RETN

Соответственно, процедура обработки находится по адресу 0048A904.
Дальше застрял. Буду благодарен за помощь.

e1e4_31.07.2008_CRACKLAB.rU.tgz - GR2_19.rar



Ранг: 253.9 (наставник)
Активность: 0.130
Статус: Участник

Создано: 01 августа 2008 06:07
· Личное сообщение · #2

на каком дельфи написана прога? скорее всего юзается встроенная поддержка JPEG... нужно определиться

-----
MicroSoft? Is it some kind of a toilet paper?





Ранг: 156.2 (ветеран), 2thx
Активность: 0.090
Статус: Участник

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

Tim
PEiD говорит Borland Delphi 4.0 - 5.0



Ранг: 253.9 (наставник)
Активность: 0.130
Статус: Участник

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

Mavlyudov
а какой JPEG ты ей подсовываешь? чистый или с EXIF вначале? из под фотошопа?
теперь по поводу самого JPEG'а. есть стандартный, есть стандартный-оптимизированный, есть прогрессивный. может быть не было еще поддержки прогрессивных?

есть прога - EXIF Tag Remover. попробуй для начала ей обработать файл.

-----
MicroSoft? Is it some kind of a toilet paper?





Ранг: 156.2 (ветеран), 2thx
Активность: 0.090
Статус: Участник

Создано: 01 августа 2008 14:24 · Поправил: Mavlyudov
· Личное сообщение · #5

Tim
Хм. нарисовал в Paint'е кривую и сохранил в JPG.
почистил той прогой, что ты сказал.
Пробовал откруцывать чищенную и нечищенную картинку. Не отображает.
Странно. С программой даже шел файл с примером TEST.JPG, который тоже не отображается



Ранг: 172.2 (ветеран)
Активность: 0.070
Статус: Участник

Создано: 01 августа 2008 15:09
· Личное сообщение · #6

хм, как вариант написать либу-плагин с конвертом JPG->BMP и вызовом уже из нее menuOpenBMPClick(Converted_JPG_File), не багфикс, но работать будет

-----
HOW MUCH BLOOD WOULD YOU SHED TO STAY ALIVE




Ранг: 253.9 (наставник)
Активность: 0.130
Статус: Участник

Создано: 01 августа 2008 15:09
· Личное сообщение · #7

Mavlyudov
возможно юзается какая-то либа... системная... либо, что менее вероятно, какой-то косяк из-за несовместимости с ХР. ты на 9х пробовал пущать?

-----
MicroSoft? Is it some kind of a toilet paper?




Ранг: 253.9 (наставник)
Активность: 0.130
Статус: Участник

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

ProTeuS пишет:
как вариант написать либу-плагин с конвертом JPG->BMP

или просто хукать CreateFile, где файл jpeg и уже отсюда плясать. так видится мне проще...

-----
MicroSoft? Is it some kind of a toilet paper?





Ранг: 230.5 (наставник)
Активность: 0.180
Статус: Участник
Norg

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

а версия 3 не пойдет? nanodiamond.spb.ru/wesik/grafula3/graf3_d.phtml

-----
M&#225 enginn renna undan &#254v&#237 sem honum er skapa&#240




Ранг: 69.8 (постоянный)
Активность: 0.040
Статус: Участник

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

Mavlyudov,
а у тебя что за версия программы?
Со страницы автора последняя Grafula3 v2.10 файлы jpeg не поддерживает.
Вот что пишет автор в справке по поводу этого

Исходные данные - файлы в формате bmp или копирование графики через буфер обмена (например из сканирующих программ - рекомендую PaperPort ... )

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


Может не ст0ит тебе заморочиваться с JPG ?




Ранг: 156.2 (ветеран), 2thx
Активность: 0.090
Статус: Участник

Создано: 03 августа 2008 16:35 · Поправил: Mavlyudov
· Личное сообщение · #11

ProTeuS пишет:
...написать либу-плагин с конвертом JPG->BMP...


хм. ну это сложно будет. только, если написать программку (exe) и вызывать ее.

Tim пишет:
ты на 9х пробовал пущать?


я пробовал в ХР в режиме совместимости с win98. Тоже самое. Хотя прога, наверное,
и делалась под 98, раз там указан 1999 год.

Tim пишет:
или просто хукать CreateFile, где файл jpeg и уже отсюда плясать. так видится мне проще...


я так пробовал. Нужно смотреть результаты, возвращаемые функцией.

di-2 пишет:
а версия 3 не пойдет?

В ней вообще нету кнопки для вызова JPG.

userdom пишет:
а у тебя что за версия программы?

Версия 1.9. Я же прикрепил файл к первому посту.
Вообще я думаю, самое рациональное будет сделать так:
сравнить две процедуры - обработака bmp и обработка jpg.
В самом начале я привел кусок кода - реакции нажатия на кнопки, в которых есть два вызова.
Это и есть те самые процедуры. Можно попробовать их сравнить.
Но только я затрудняюсь как это сделать.



Ранг: 69.8 (постоянный)
Активность: 0.040
Статус: Участник

Создано: 03 августа 2008 17:45
· Личное сообщение · #12

Mavlyudov,
я написал

Может не ст0ит тебе заморочиваться с JPG ?

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


Если ты хочешь заставить эту программу, не имея исходников, просто из спортивного интереса
заставить загружать JPG - это одно, если же хочешь расширить возможности программы,
несмотря на негативный опыт автора, ИМХО, то стоит ли ломать копья?
Через буфер обмена программа очень даже принимает JPG (например: открыть JPG с помошью
IrfanView, отметить область копирования, затем Strg+C , а в Grafulе выбрать " From Clipboard "
и всё - твой JPG в в Grafulе!).


 eXeL@B —› Программирование —› Реверсинг бажной проги
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати