Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Плагин для распаковки HLP/MVB
Goto page 1, 2, 3  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
CaptainFlint



Joined: 14 Dec 2004
Posts: 6192
Location: Москва

Post (Separately) Posted: Sun Oct 17, 2010 01:09    Post subject: Плагин для распаковки HLP/MVB Reply with quote

Наконец-то дошли у меня руки на расковыряние 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
View user's profile Send private message
Domo



Joined: 16 Mar 2010
Posts: 6

Post (Separately) Posted: Sun Oct 17, 2010 03:11    Post subject: Reply with quote

Круто, все работает!
Back to top
View user's profile Send private message
AlexShu



Joined: 04 Dec 2008
Posts: 13

Post (Separately) Posted: Wed Oct 20, 2010 01:54    Post subject: Reply with quote

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
View user's profile Send private message
CaptainFlint



Joined: 14 Dec 2004
Posts: 6192
Location: Москва

Post (Separately) Posted: Wed Oct 20, 2010 12:12    Post subject: Reply with quote

AlexShu
Используй этот вариант:
http://flint-inc.ru/files/mlang/hlp_nosse_1.0.0.0.rar

AlexShu wrote:
"D:\WINDOWS\CYKBINST.HLP"

Он явно не из стандартной поставки. Если версия nosse на нём тоже падает, выложи, пожалуйста, куда-нибудь этот файл, чтобы я мог потестить.
_________________
Почему же, ё-моё, ты нигде не пишешь "ё"?
Back to top
View user's profile Send private message
AlexShu



Joined: 04 Dec 2008
Posts: 13

Post (Separately) Posted: Fri Oct 22, 2010 18:08    Post subject: Reply with quote

Спасибо. Эта версия не падает.

Но отличие от 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
View user's profile Send private message
CaptainFlint



Joined: 14 Dec 2004
Posts: 6192
Location: Москва

Post (Separately) Posted: Fri Oct 22, 2010 19:58    Post subject: Reply with quote

AlexShu wrote:
Плагин при распаковке вставляет несколько байт 00, из-за чего WMF не читается.

Ага, есть такое, подтверждаю. Спасибо за пример файла, буду разбираться.

AlexShu wrote:
С извлечением RTF странно. Весь текст распаковывается верно, но одно значение тега (или как оно там называется) в одном единственном месте меняется. В общем то не сильно существенно, но очень странно.

Да, вижу. Посмотрю, в чём может быть дело.
_________________
Почему же, ё-моё, ты нигде не пишешь "ё"?
Back to top
View user's profile Send private message
CaptainFlint



Joined: 14 Dec 2004
Posts: 6192
Location: Москва

Post (Separately) Posted: Sun Jan 30, 2011 23:49    Post subject: Reply with quote

Версия 1.0.1.0:
• Исправлена ошибка декомпиляции WMF-файлов.

Плагин / зеркало (83 Кб), версия без SSE / зеркало (для старых процессоров)
Исходный код (C++) / зеркало (62 Кб)


К сожалению, решить проблему замены идентификатора пока не смог. Проблема заключается в разных реализациях хэш-таблиц между Visual C++ 2.0 (в которой была собрана HelpDeco) и современными версиями.
_________________
Почему же, ё-моё, ты нигде не пишешь "ё"?
Back to top
View user's profile Send private message
CaptainFlint



Joined: 14 Dec 2004
Posts: 6192
Location: Москва

Post (Separately) Posted: Sun Sep 18, 2011 01:30    Post subject: Reply with quote

Ну что ж, с почином меня. Smile

Версия 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
View user's profile Send private message
Serge Yolkin



Joined: 25 Jul 2009
Posts: 664

Post (Separately) Posted: Sun Sep 18, 2011 03:10    Post subject: Reply with quote

Не нашел х64 без SSE. Долго думал Smile
С почином! (про баксы расскажешь?)
Back to top
View user's profile Send private message
campoviy



Joined: 18 Dec 2010
Posts: 109
Location: Russian Federation, Krasnodar region

Post (Separately) Posted: Sun Sep 18, 2011 07:36    Post subject: Reply with quote

CaptainFlint
CaptainFlint wrote:
Ну что ж, с почином меня.
Да, Костя, молоток! Very Happy
Не просто x64 добавил, а ещё и пару багов исправил. Ну, теперь переводи в [x64] и другие свои плагины. Wink
_________________
Пластмассовый мир победил, макет оказался сильней
Последний кораблик остыл, последний фонарик устал…

(ГО – «Моя оборона», авт. Е. Летов)
Back to top
View user's profile Send private message
CaptainFlint



Joined: 14 Dec 2004
Posts: 6192
Location: Москва

Post (Separately) Posted: Sun Sep 18, 2011 12:00    Post subject: Reply with quote

Serge Yolkin wrote:
Не нашел х64 без SSE. Долго думал

Ага, я ещё когда TCER компилял, специально выяснял, существуют ли процы с x64, но без SSE2. Smile

Serge Yolkin wrote:
(про баксы расскажешь?)

Расскажу, но я хочу сначала всё по максимуму портировать, а потом уж Гислера дёргать, чтобы по нескольку раз не бегать.

campoviy wrote:
Не просто x64 добавил, а ещё и пару багов исправил.

Да блин, я ещё в пятницу вечером его скомпилял. Решил на всякий случай протестировать, а правильно ли распаковывает. Нагрёб HLP-файлов со всего диска, пусканул 32-битку на распаковку — и тут Тотал ка-ак навернётся! Кое-как дораспаковал остатки, прогнал 64-битку на том же наборе — 69 файлов отличаются, причём в результатах 32-битки такой кошмар попадается… Некультурно такое выкладывать, не говоря уж о падениях плагина, так что пришлось копаться. Не уверен, что исправил всё, всё-таки кода в HelpDeco дофига, но на моих 1184 файлах больше не падает, и все отличия в распакованных файлах оказались в лучшую сторону.
_________________
Почему же, ё-моё, ты нигде не пишешь "ё"?
Back to top
View user's profile Send private message
Serge Yolkin



Joined: 25 Jul 2009
Posts: 664

Post (Separately) Posted: Sun Sep 18, 2011 16:07    Post subject: Reply with quote

ReadMe еще бы обновить в архиве, а то оно об старой версии...
Back to top
View user's profile Send private message
CaptainFlint



Joined: 14 Dec 2004
Posts: 6192
Location: Москва

Post (Separately) Posted: Sun Sep 18, 2011 16:31    Post subject: Reply with quote

Serge Yolkin
Чёрт, везде обновил, в 32-битной забыл. Sad Спасибо, сейчас перезалью.
_________________
Почему же, ё-моё, ты нигде не пишешь "ё"?
Back to top
View user's profile Send private message
Zaytsev Artem



Joined: 23 Aug 2012
Posts: 20
Location: Saint-Petersburg

Post (Separately) Posted: Thu Aug 23, 2012 00:28    Post subject: Reply with quote

Большое спасибо!
А нет ли в планах сделать wlx?
Back to top
View user's profile Send private message
Alextp



Joined: 06 Feb 2005
Posts: 4957

Post (Separately) Posted: Thu Aug 23, 2012 01:02    Post subject: Reply with quote

Реально справку стоит читать через МС winhelp. Т.ч. делать wlx смысла мало
_________________
UniViewer - CudaText - LogViewer
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander All times are GMT + 4 Hours
Goto page 1, 2, 3  Next
Page 1 of 3

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group