View previous topic :: View next topic |
Author |
Message |
CaptainFlint

Joined: 14 Dec 2004 Posts: 6192 Location: Москва
|
(Separately) Posted: Sun Oct 17, 2010 01:09 Post subject: Плагин для распаковки HLP/MVB |
|
|
Наконец-то дошли у меня руки на расковыряние HelpDeco и написание нормального плагина для декомпиляции HLP-файлов, ну и MVB заодно (хотя сам я с ними до этого ни разу не сталкивался).
Ссылки на версию 1.0.2.0 (18.09.2011):
x32+x64 / зеркало (167 Кб)
x32 без SSE / зеркало (для старых процессоров)
Исходный код (C++) / зеркало (62 Кб) _________________ Почему же, ё-моё, ты нигде не пишешь "ё"?
Last edited by CaptainFlint on Tue Sep 20, 2011 02:12; edited 6 times in total |
|
Back to top |
|
 |
Domo
Joined: 16 Mar 2010 Posts: 6
|
(Separately) Posted: Sun Oct 17, 2010 03:11 Post subject: |
|
|
Круто, все работает! |
|
Back to top |
|
 |
AlexShu
Joined: 04 Dec 2008 Posts: 13
|
(Separately) Posted: Wed Oct 20, 2010 01:54 Post subject: |
|
|
Domo wrote: | Круто, все работает! |
А у меня выдаёт такую ошибку на всех файлах
Quote: | Error in packer plugin "hlp" calling OpenArchiveW for
"D:\WINDOWS\system32\winhelp.hlp" !
Please report this error to the plugin author!
The reported error is:
External exception C000001D |
HelpDeco 2.1 (MultiArc Edition) через плагин MultiArc 1.4 работает.
Нашел файл с другой ошибкой
Quote: | Error in packer plugin "hlp" calling OpenArchiveW for
"D:\WINDOWS\CYKBINST.HLP" !
Please report this error to the plugin author!
The reported error is:
Access violation at address 01DCD845. Write of address 01DE6178 |
Win XP PRO sp2
TC 7.55a |
|
Back to top |
|
 |
CaptainFlint

Joined: 14 Dec 2004 Posts: 6192 Location: Москва
|
(Separately) Posted: Wed Oct 20, 2010 12:12 Post subject: |
|
|
AlexShu
Используй этот вариант:
http://flint-inc.ru/files/mlang/hlp_nosse_1.0.0.0.rar
AlexShu wrote: | "D:\WINDOWS\CYKBINST.HLP" |
Он явно не из стандартной поставки. Если версия nosse на нём тоже падает, выложи, пожалуйста, куда-нибудь этот файл, чтобы я мог потестить. _________________ Почему же, ё-моё, ты нигде не пишешь "ё"? |
|
Back to top |
|
 |
AlexShu
Joined: 04 Dec 2008 Posts: 13
|
(Separately) Posted: Fri Oct 22, 2010 18:08 Post subject: |
|
|
Спасибо. Эта версия не падает.
Но отличие от HelpDeco всё ещё есть.
Например есть файл asciicat.hlp (домашняя страница закрыта, брать отсюда ftp://soccentral.com/WINDOWS/Help/ASCIICAT.HLP).
В нём есть несколько графических файлов формата WMF (векторное изображение с цветными шкалами).
Плагин при распаковке вставляет несколько байт 00, из-за чего WMF не читается.
Проверил распаковку на файлах из папки D:\WINDOWS\Help (133 файла) и все wmf распаковываются битыми.
Правда у меня всего один файл в этой папке содержал WMF, это файл DAO35.HLP
С извлечением RTF странно. Весь текст распаковывается верно, но одно значение тега (или как оно там называется) в одном единственном месте меняется. В общем то не сильно существенно, но очень странно.
P.S. Откуда появился CYKBINST.HLP я не знаю. Это оказалась справка от Cyrillic Starter Kit. Буду искать откуда она взялась. |
|
Back to top |
|
 |
CaptainFlint

Joined: 14 Dec 2004 Posts: 6192 Location: Москва
|
(Separately) Posted: Fri Oct 22, 2010 19:58 Post subject: |
|
|
AlexShu wrote: | Плагин при распаковке вставляет несколько байт 00, из-за чего WMF не читается. |
Ага, есть такое, подтверждаю. Спасибо за пример файла, буду разбираться.
AlexShu wrote: | С извлечением RTF странно. Весь текст распаковывается верно, но одно значение тега (или как оно там называется) в одном единственном месте меняется. В общем то не сильно существенно, но очень странно. |
Да, вижу. Посмотрю, в чём может быть дело. _________________ Почему же, ё-моё, ты нигде не пишешь "ё"? |
|
Back to top |
|
 |
CaptainFlint

Joined: 14 Dec 2004 Posts: 6192 Location: Москва
|
(Separately) Posted: Sun Jan 30, 2011 23:49 Post subject: |
|
|
Версия 1.0.1.0:
• Исправлена ошибка декомпиляции WMF-файлов.
Плагин / зеркало (83 Кб), версия без SSE / зеркало (для старых процессоров)
Исходный код (C++) / зеркало (62 Кб)
К сожалению, решить проблему замены идентификатора пока не смог. Проблема заключается в разных реализациях хэш-таблиц между Visual C++ 2.0 (в которой была собрана HelpDeco) и современными версиями. _________________ Почему же, ё-моё, ты нигде не пишешь "ё"? |
|
Back to top |
|
 |
CaptainFlint

Joined: 14 Dec 2004 Posts: 6192 Location: Москва
|
(Separately) Posted: Sun Sep 18, 2011 01:30 Post subject: |
|
|
Ну что ж, с почином меня.
Версия 1.0.2.0:
• Добавлена 64-битная версия для TC 8.0 x64.
• Исправлено: падения плагина при обработке некоторых HLP-файлов.
• Исправлено: иногда заголовки разделов извлекались некорректно.
x32+x64 / зеркало (167 Кб)
x32 без SSE / зеркало (для старых процессоров)
Исходный код (C++) / зеркало (62 Кб) _________________ Почему же, ё-моё, ты нигде не пишешь "ё"?
Last edited by CaptainFlint on Tue Sep 20, 2011 02:13; edited 1 time in total |
|
Back to top |
|
 |
Serge Yolkin
Joined: 25 Jul 2009 Posts: 664
|
(Separately) Posted: Sun Sep 18, 2011 03:10 Post subject: |
|
|
Не нашел х64 без SSE. Долго думал
С почином! (про баксы расскажешь?) |
|
Back to top |
|
 |
campoviy

Joined: 18 Dec 2010 Posts: 109 Location: Russian Federation, Krasnodar region
|
(Separately) Posted: Sun Sep 18, 2011 07:36 Post subject: |
|
|
CaptainFlint CaptainFlint wrote: | Ну что ж, с почином меня. | Да, Костя, молоток!
Не просто x64 добавил, а ещё и пару багов исправил. Ну, теперь переводи в [x64] и другие свои плагины.  _________________ Пластмассовый мир победил, макет оказался сильней
Последний кораблик остыл, последний фонарик устал…
(ГО – «Моя оборона», авт. Е. Летов) |
|
Back to top |
|
 |
CaptainFlint

Joined: 14 Dec 2004 Posts: 6192 Location: Москва
|
(Separately) Posted: Sun Sep 18, 2011 12:00 Post subject: |
|
|
Serge Yolkin wrote: | Не нашел х64 без SSE. Долго думал |
Ага, я ещё когда TCER компилял, специально выяснял, существуют ли процы с x64, но без SSE2.
Serge Yolkin wrote: | (про баксы расскажешь?) |
Расскажу, но я хочу сначала всё по максимуму портировать, а потом уж Гислера дёргать, чтобы по нескольку раз не бегать.
campoviy wrote: | Не просто x64 добавил, а ещё и пару багов исправил. |
Да блин, я ещё в пятницу вечером его скомпилял. Решил на всякий случай протестировать, а правильно ли распаковывает. Нагрёб HLP-файлов со всего диска, пусканул 32-битку на распаковку — и тут Тотал ка-ак навернётся! Кое-как дораспаковал остатки, прогнал 64-битку на том же наборе — 69 файлов отличаются, причём в результатах 32-битки такой кошмар попадается… Некультурно такое выкладывать, не говоря уж о падениях плагина, так что пришлось копаться. Не уверен, что исправил всё, всё-таки кода в HelpDeco дофига, но на моих 1184 файлах больше не падает, и все отличия в распакованных файлах оказались в лучшую сторону. _________________ Почему же, ё-моё, ты нигде не пишешь "ё"? |
|
Back to top |
|
 |
Serge Yolkin
Joined: 25 Jul 2009 Posts: 664
|
(Separately) Posted: Sun Sep 18, 2011 16:07 Post subject: |
|
|
ReadMe еще бы обновить в архиве, а то оно об старой версии... |
|
Back to top |
|
 |
CaptainFlint

Joined: 14 Dec 2004 Posts: 6192 Location: Москва
|
(Separately) Posted: Sun Sep 18, 2011 16:31 Post subject: |
|
|
Serge Yolkin
Чёрт, везде обновил, в 32-битной забыл. Спасибо, сейчас перезалью. _________________ Почему же, ё-моё, ты нигде не пишешь "ё"? |
|
Back to top |
|
 |
Zaytsev Artem

Joined: 23 Aug 2012 Posts: 20 Location: Saint-Petersburg
|
(Separately) Posted: Thu Aug 23, 2012 00:28 Post subject: |
|
|
Большое спасибо!
А нет ли в планах сделать wlx? |
|
Back to top |
|
 |
Alextp

Joined: 06 Feb 2005 Posts: 4957
|
|
Back to top |
|
 |
|