Сейчас на форуме: rmn, Magister Yoda, vasilevradislav, tyns777 (+6 невидимых) |
![]() |
eXeL@B —› Программирование —› Реверсинг бажной проги |
Посл.ответ | Сообщение |
|
Создано: 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. Дальше застрял. Буду благодарен за помощь. ![]() ![]() |
|
Создано: 01 августа 2008 06:07 · Личное сообщение · #2 |
|
Создано: 01 августа 2008 10:57 · Личное сообщение · #3 |
|
Создано: 01 августа 2008 11:26 · Личное сообщение · #4 Mavlyudov а какой JPEG ты ей подсовываешь? чистый или с EXIF вначале? из под фотошопа? теперь по поводу самого JPEG'а. есть стандартный, есть стандартный-оптимизированный, есть прогрессивный. может быть не было еще поддержки прогрессивных? есть прога - EXIF Tag Remover. попробуй для начала ей обработать файл. ----- MicroSoft? Is it some kind of a toilet paper? ![]() |
|
Создано: 01 августа 2008 14:24 · Поправил: Mavlyudov · Личное сообщение · #5 |
|
Создано: 01 августа 2008 15:09 · Личное сообщение · #6 |
|
Создано: 01 августа 2008 15:09 · Личное сообщение · #7 |
|
Создано: 01 августа 2008 15:10 · Личное сообщение · #8 |
|
Создано: 01 августа 2008 17:26 · Личное сообщение · #9 |
|
Создано: 01 августа 2008 19:14 · Личное сообщение · #10 Mavlyudov, а у тебя что за версия программы? Со страницы автора последняя Grafula3 v2.10 файлы jpeg не поддерживает. Вот что пишет автор в справке по поводу этого Исходные данные - файлы в формате bmp или копирование графики через буфер обмена (например из сканирующих программ - рекомендую PaperPort ... ) Файлы в формате JPG не поддерживаются и не будут использоваться в дальнейшем. Этот формат не подходит для картинок такого типа. Этот формат вносит искаженения, которые могут искажать данные и усложнять работу с программой. Может не ст0ит тебе заморочиваться с JPG ? ![]() |
|
Создано: 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. В самом начале я привел кусок кода - реакции нажатия на кнопки, в которых есть два вызова. Это и есть те самые процедуры. Можно попробовать их сравнить. Но только я затрудняюсь как это сделать. ![]() |
|
Создано: 03 августа 2008 17:45 · Личное сообщение · #12 Mavlyudov, я написал Может не ст0ит тебе заморочиваться с JPG ? из соображений, что автор, конечно же, был заинтересованн в поддержке многих графических форматов, но накопив негативный опыт, решил, что Файлы в формате JPG не поддерживаются и не будут использоваться в дальнейшем. Этот формат не подходит для картинок такого типа. Этот формат вносит искаженения, которые могут искажать данные и усложнять работу с программой. Если ты хочешь заставить эту программу, не имея исходников, просто из спортивного интереса заставить загружать JPG - это одно, если же хочешь расширить возможности программы, несмотря на негативный опыт автора, ИМХО, то стоит ли ломать копья? Через буфер обмена программа очень даже принимает JPG (например: открыть JPG с помошью IrfanView, отметить область копирования, затем Strg+C , а в Grafulе выбрать " From Clipboard " и всё - твой JPG в в Grafulе!). ![]() ![]() |
![]() |
eXeL@B —› Программирование —› Реверсинг бажной проги |