V8Unpack 2.0

Программирование - Инструментарий

От имени и по поручению автора программы  выкладываю новую версию V8Unpack.exe с исходниками.

Версия 2.0 переписана "с нуля" и дополнена новой парой ключей PARSE-BUILD

Внимание, изменились значения ключей, так что сначала нужно запустить программу без ключей.
В частности, 'P' - теперь parse, а не pack

Так что, любители и уметели чтения кода, могут теперь оценить насколько новая версия стала концептуально чище ;-)
А юзатели, могут разбирать конфу в файловую систему одним ключом PARSE (он представляет собой UNPACK+UNDEFLATE в одном флаконе)

Вроде всё ... Всем удачи.

Скачать файлы

Наименование Файл Версия Размер
V8Unpack20
.1207111136 144,42Kb
25.09.09
4945
.1207111136 144,42Kb 4945 Скачать бесплатно

См. также

Комментарии
1. Михаил Усков (MMF) 663 02.04.08 15:39 Сейчас в теме
странная идея хранения .header перекочевала и в эту версию. Header это всего-навсего
{ описание заголовка файла }
TFileHeader = class
private
FCreated: TDateTime;
{ время создания файла }
FModified: TDateTime;
{ время последнего изменения файла }
FAttributes: TFileAttrSet;
{ атрибуты файла }
FName: string;
{ имя файла }
public
при этом
{ аттрибуты файла }
TFileAttributes = (faNormal, faReadOnly, faDir, faHidden, faSystem);
TFileAttrSet = set of TFileAttributes;
8 байт - дата создания, 8 байт - модификации, 4 байта аттрибуты, имя файла в юникоде.
Зачем плодить файлы? если вам интересны эти поля - устанавливайте их на соответствующих файлах данных. Хотя лично я бы выкинул бы их нафиг. У вас и так еле ползает эта утилита, а вы еще эту бодягу разводите.
2. Денис Демидов (disa_da) 02.04.08 17:45 Сейчас в теме
Файлы .header используются при unpack/pack - тут я ничего не менял.
А в режиме parse/build создаются только файлы с данными.
3. Денис Демидов (disa_da) 02.04.08 17:49 Сейчас в теме
А за информацию по атрибутам огромное спасибо. Но вот мне ни разу не попадались файлы, в которых бы эти атрибуты были заполнены. Было бы интересно на такие файлы посмотреть.
4. Сергей Старых (tormozit) 4278 02.04.08 21:51 Сейчас в теме
(1) А че, можно быстрее все сделать? (чтобы как в конфигураторе летало)
5. Денис Демидов (disa_da) 05.04.08 18:49 Сейчас в теме
(4) Распаковака в памяти делается быстро. Все остальное время занимает запись на диск. Поэтому чем быстрее диск, тем быстрее будет работать.
6. Михаил Усков (MMF) 663 06.04.08 13:46 Сейчас в теме
(4) распаковка УТ (аналог вашего Parse, т.е. с разбором всех base64, с 1С-именами файлов и т.п. преобразованиями) - 32 сек, сборка - 27 сек
7. brix8x (brix8x) 469 06.04.08 18:10 Сейчас в теме
я рад за "распаковку УТ" ;-) только из комментария непонятно: распаковка УТ это или название программы или распаковка Управления торговлей, а "аналог вашего Parse" - это дистанцирование от "жуткого V8Unpack" или ссылка на некую волшебную программу? ;-)
в общем не понял ... сорри ...
8. Михаил Усков (MMF) 663 06.04.08 22:09 Сейчас в теме
(7) УТ - конфигурация Управления торговлей (т.е. файл *.CF), аналог вашего Parse - подразумевалось, что результат распаковки на диск - в преобразованном из внутреннего формата виде (http://slil.ru/25659603) А приведение мною замеров времени - не только членомерение, но и подтверждение того, что есть еще резервы для ускорения и не только в "записи на диск" дело.
9. Денис Демидов (disa_da) 07.04.08 00:14 Сейчас в теме
(8) Мда. Круто. Прям таки завидую, белой завистью естественно. Но теперь мы знаем к чему стремиться - это уже хорошо =)
10. Денис Демидов (disa_da) 07.04.08 00:18 Сейчас в теме
(8) Проверил сейчас на УТ (старенькой правда) - 52 секунды. Но это без преобразования в осмысленные имена.
И все таки запись на диск составляет процентов 90. Видимо есть способы писать быстрее, осталось их узнать.
11. Сергей Старых (tormozit) 4278 07.04.08 08:34 Сейчас в теме
Может кэширование записи на диск?
12. Михаил Усков (MMF) 663 07.04.08 10:12 Сейчас в теме
(10) используй профайлер, а не умозрительные 90%. Однозначно DWORD CV8File::_httoi(char *value) надо переписать (учитывая кол-во вызовов).
Жестоко выглядит:
pFileData = new BYTE[FileDataSize];
****
FILE *file_in = fopen(filename_in, "rb");
учитывая размеры cf с образами распределенки и/или конфы поставщика.
13. Михаил Усков (MMF) 663 07.04.08 10:14 Сейчас в теме
(12+) потерялось ret = fread(pFileData, 1, FileDataSize, file_in);
14. Денис Демидов (disa_da) 08.04.08 10:00 Сейчас в теме
(12) Пока что приоритетнее все-таки преобразовывать в имена 1С, а потом и наращивание производительности можно занятся. Профайлером под VC6 никогда не пользовался, может посоветуешь что-нибудь? Или в VS2005 что-нибудь есть?
15. Михаил Усков (MMF) 663 08.04.08 10:36 Сейчас в теме
(14) AQTime, тока он денег стоит, ежели белый
16. Ghost mail (Ghost mail) 09.04.08 09:26 Сейчас в теме
MMF, так может присоединишься к коллективу disa_da, brix8x и иже с ними. И совместными усилиями сделаете "красивую" утилиту ???
17. Михаил Усков (MMF) 663 09.04.08 10:20 Сейчас в теме
(16) у меня детки дома по лавке скачут голодные, мал мал меньше, ждут, когда я краюху хлеба принесу. Альтруизм в больших количествах мне не доступен.
18. kitt al;dskjf;ldasjkf (kitt) 319 27.05.08 05:36 Сейчас в теме
Не глядя плюс за исходники, дома гляну. Автор спасибо!!
19. tojocky (tojocky) 50 26.06.08 12:00 Сейчас в теме
Автор спасибо! уверен что будут новые идеи!
20. tojocky (tojocky) 50 26.06.08 12:03 Сейчас в теме
MMF Но жмуриться не надо! у всех есть проблемы... а если будем по одиночестве работать то ничего не добьемся!
21. tojocky (tojocky) 50 26.06.08 12:27 Сейчас в теме
еще такой вопрос! как можно открыть файл .1CD или .dt файл?
22. tojocky (tojocky) 50 29.06.08 18:54 Сейчас в теме
К стати... есть бинарный вариант для распаковки hbk файл! кому нужно оброщайтесь!
23. borovikSV (BorovikSV) 14.07.08 13:14 Сейчас в теме
24. tojocky (tojocky) 50 15.12.08 17:32 Сейчас в теме
25. Владимир Пушин (vladnet) 229 16.01.09 14:40 Сейчас в теме
Насколько понял не распаковывает обработки с паролями на модуле, даже если этот пароль известен?
26. Алексей Хорев (harmit) 4 20.03.09 14:11 Сейчас в теме
Данная распаковщик допускает ошибки в командах "Исключение" и "КонецЕсли";

Исправил кто?
27. Андрей Асеев (Zergos) 01.04.09 03:12 Сейчас в теме
Вот уж мега-спасибо!
С помощью тулзы успешно провёл даунгрейд внешней обработки с 8.1 до 8.0. .)
Конечно, пришлось немного поковыряться ручками... но, в целом, сэкономил массу времени.
---
One Ass
28. Артур Аюханов (artbear) 867 17.04.09 13:29 Сейчас в теме
(0) Разборку файлов не удалось довести до "человеческих" имен папок?
29. Денис Демидов (disa_da) 17.04.09 20:59 Сейчас в теме
(28) Все дело в том, что у меня нет реальных задач, где бы такая функциональность понадобилась. Все с чем мне приходится сталкиваться - решается через тот функционал, который есть. А просто сделать ради сделать неинтересно!

Напишите на чем угодно преобразование в осмысленные имена (например на том же 1С) и я добавлю это в V8Unpack. Ничего сложного там нет, правда MMF ругался что некоторые данные хранятся замудренно, но я думаю и это можно решить. Но сразу предупреждаю - перебирать все GUID'ы и где и как хранятся данные каждого вида метаданных занятие ну очень нудное.

Вот если иметь реальную задачу, группой, да еще бы платил кто-нибудь за это - дело сразу пойдет =). Или кризис дойдет до такого момента, что работы совсем не будет, тогда можно и распаковку будет продолжать =)

А так могу только идейно помочь. Например для затравки дать элементарную обработку, которая строит дерево метаданных до документа/справочника/константы по распакованным данным.
30. Артур Аюханов (artbear) 867 20.04.09 13:15 Сейчас в теме
(29) Давай обработку, вдруг руки дойдут или время найду :)
31. Денис Демидов (disa_da) 20.04.09 19:59 Сейчас в теме
32. Денис Демидов (disa_da) 20.04.09 19:59 Сейчас в теме
33. Евгений Люлюк (Evg-Lylyk) 2008 24.04.09 15:40 Сейчас в теме
(0) Супер вещь. Что то не нашел в описании что означает PARSELEVEL={0|1|2}
На счет профилировщика VC6 он примитивен до нельзя... работает только в DEBUG запускаешь его через меню далее все как в 1С8 список точек их время и количество запусках (пишет в окне сообщений). А еще он есть только в Prof версии.
34. Sensey Master (MSensey) 55 12.08.09 14:42 Сейчас в теме
35. Анатолий Ситников (acsent) 1016 14.08.09 12:08 Сейчас в теме
36. Сергей Старых (tormozit) 4278 02.11.09 15:24 Сейчас в теме
Кто нибудь нашел способ добавить новую форму во внешнюю обработку?
37. Сергей Старых (tormozit) 4278 15.04.10 09:40 Сейчас в теме
(36) Я таки нашел, но гемор это БОЛЬШОЙ. Хочется API уже наконец заиметь.
38. Darj Nikitina (darj) 03.09.10 12:06 Сейчас в теме
(32) по ссылке файлик удален :(
39. Андрей Д. (bambr1975) 769 03.09.10 14:09 Сейчас в теме
(38) рискну предложить посмотреть публикацию http://infostart.ru/public/69976 - честно говоря, смысл обработки выложенной в (32) был заимствован там целиком.
40. Сергей Старых (tormozit) 4278 20.10.10 14:24 Сейчас в теме
41. mozz mozz (mozz) 144 21.04.11 10:42 Сейчас в теме
Конвертнул исходники в VS 2010 может кому пригодятся... Архив с исходниками во вложении.
Прикрепленные файлы:
src.zip
адуырщдв; German; +2 Ответить 1
42. Вячеслав (KVS) 15.09.11 16:04 Сейчас в теме
Как собрать обратно уже с открытым кодом?
43. Иван Иванов (Famza) 80 15.09.11 16:29 Сейчас в теме
44. Сергей Мурзинов (Sergey_Murzinov) 02.10.11 03:54 Сейчас в теме
Безоной разработки по жизни ни как, точно.
45. tvv (pmtvv) 09.10.11 15:00 Сейчас в теме
46. desty (lustin) 13.10.11 15:51 Сейчас в теме
(41) архив исходников VS2010 скачивается битым с Инфостарта
48. Владимир (Софтэксперт) 02.11.11 16:28 Сейчас в теме
Весьма полезная вещь для анализа внутренней структуры
49. mozz mozz (mozz) 144 10.11.11 17:53 Сейчас в теме
(46) Проверил вроде не битый... Может временный баг был?
50. desty (lustin) 10.11.11 21:41 Сейчас в теме
(49) сейчас отлично - видимо был глюк Битрикса
51. Игорь Беляев (bissov) 31 12.12.11 10:40 Сейчас в теме
Не могу запустить утилиту, может есть мануал какой на эту тему.
52. Сергей Карташев (Elisy) 873 06.01.12 13:53 Сейчас в теме
Предлагаю ознакомиться с аналогичной разработкой, написанной на C# и .Net Framework. Была идея организовать контроль версия для конфигураций 1С:
http://infostart.ru/public/103834/files/
53. Alexandr SimNN (simnn) 25.01.12 20:38 Сейчас в теме
а документацию к программе где посмотреть?
54. Сергей Малыхин (serezhka87) 61 31.01.12 15:56 Сейчас в теме
Скачал. Будем смотреть что это за зверь. =)
55. Alexey (zarius) 145 02.07.12 13:37 Сейчас в теме
Кто нибуть пробовал EPF запаковывать? При UnpackAll.bat - распаковываются нормально, PackAll.bat - результата не дает...
Я так понимаю что в результате распаковки должен создаться каталог с файлами (это есть) и в нем в том числе должны быть файлы с расширением .unp (этого нет). Фактически в каталоге только файлы:
FileHeader
куча *.header
куча *.data

Пробовал обработки и 8.1 и 8.2. В какую сторону смотреть?

Вообще, реально добавить с помощью данной разработки произвольный макет в существующую обработку?
56. Сергей Вн (EmpireSer) 09.08.12 00:11 Сейчас в теме
Супер! Особая благодарность за открытый код! Спасибо!
Я именно такое и искал!

Вот только жалко, что последняя запись в SVN числится 2008 годом.
58. Игорь Дзеса (Kamikadze) 44 23.10.12 22:12 Сейчас в теме
как запустить инструмент?
59. Babys (babys) 63 06.12.12 11:56 Сейчас в теме
Обращаюсь к разместившему здесь от имени автора, пора автору опять учить 1С :)
В 17 релизе не работает.
60. Сергей Карташев (Elisy) 873 11.12.12 08:26 Сейчас в теме
(59) babys,
Попробуйте на 17 релизе C#-аналог, может будет работать
http://infostart.ru/public/103834/
61. zavsom1 zavsomovich (zavsom) 47 26.02.13 14:51 Сейчас в теме
А можно разжувать что запускать то? Мне нужно например увидеть в рарс альфа 5.0 текст в закрытых модулях общего модуля - скачал, запускаю приложение - что то моргает на экране и тишина... ЧЯДНТ ? подскажите что нужно по шагам чтобы это запускалось.
62. leonid Vlasov (leonet) 06.05.14 09:53 Сейчас в теме
v8unpack Версия 3.0

Оптимизировал сборку .cf(.epf|.erf) файла. На больших конфигурациях вылетала "Segmentation fault".
Исходники и собранные бинарники здесь.

Проект для codelite IDE. Workspace создаем в корне (иначе грабли при сборке по F5) далее добавляем проект v8unpack.project.

Всем удачи!

serge_focus; MrWonder; DigitalMan; Biligor; zergnm; AlexanderKai; YPermitin; andrewks; lustin; mozz; tormozit; buganov; RomanRomans; awa; bambr1975; pumbaE; +16 Ответить
63. Sabfir Sabfir (Sabfir) 20.08.14 12:50 Сейчас в теме
С помощью этого инструмента можно ли заменить тип реквизита обработки и тип элементов на форме.
Было бы здорово иметь такую возможность, или подскажите как самому это доделать.
Заранее благодарен.
64. Александр Зорин (Manticor) 62 13.10.14 13:04 Сейчас в теме
Под Windows 8 не запускается V8Unpack.exe. Может кто то сталкивался - библиотеки какой не хватает?
osin_d79@mail.ru; +1 Ответить 1
65. Виталий Черненко (SeiOkami) 591 08.11.14 15:14 Сейчас в теме
(64) Manticor, попобуй запускать от имени админа
66. Виталий Черненко (SeiOkami) 591 08.11.14 15:16 Сейчас в теме
Можно ли этим приложением извлечь из базы необходимые модули (не из конфигурации, а именно из базы)?
67. Михаил Кочнев (Mi4man) 130 08.02.15 19:51 Сейчас в теме
Подскажите плиз, где инструкции, описание и т.п. ???
68. Евгений Фалин (Gotcha) 5 23.06.15 18:47 Сейчас в теме
При попытке распаковать файл конфигурации БП 2.0.64.27, происходит unpacktofolder error in creating file!, ближе к концу файла.
Успевает распаковаться 13107 файлов. А жаль, я уж размечтался привинтить свой любимый Tortoise SVN+Merge
69. Сергей Милохов (smilohov) 20.01.16 18:10 Сейчас в теме
Кто может быстро помочь починить базу после сетевого сбоя? Прошу откликнуться.

email: smilohov@mail.ru
skype: smilohov
70. Илья Олегович Червяков (amiralnar) 8 30.01.16 10:12 Сейчас в теме
Спасибо огромное за программу!! Она спасла меня!

Мне нужно было найти старый релиз 2.1.10.2, а у меня была конфигурация с релизом 2.1.7.1, и все обновления, которые не хотели ставиться ни при каких условиях.
Конфигуратор говорил, что обновление не подходит под этот релиз, а предназначено для другого релиза, и писал номер моего, который я пытался обновить.
Все ссылки на всех обменниках давно протухли, половина обменников позакрывалась, и взять следующий файл поставки было негде!

Но с этой программой мне удалось выполнить восстановление поставки, распаковав мою конфигурацию, и файл обновления этой конфигурации в одну папку, а потом собрав из этой папки конфигурацию обратно! И все начало нормально обновляться!
71. Сергей Толмачев (sss999) 35 12.01.17 13:03 Сейчас в теме
получится файл dt ею распарсить на файлы?
Оставьте свое сообщение