IE 2016

V8Unpack 2.0

Опубликовал brix8x (brix8x) в раздел Программирование - Инструментарий

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

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

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

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

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

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

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

См. также

Лучшие комментарии

62. leonet 06.05.2014 09:53
v8unpack Версия 3.0

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

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

Всем удачи!
# Ответить
32. disa_da 20.04.2009 19:59
(30) И ссылка http://ifolder.ru/11722513
Ответили: (38) (39)
+ 2 [ bambr1975; darj; ]
# Ответить
41. mozz 21.04.2011 10:42
Конвертнул исходники в VS 2010 может кому пригодятся... Архив с исходниками во вложении.
Ответили: (46)
# Ответить

Комментарии

1. Михаил Усков (MMF) 02.04.2008 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 байта аттрибуты, имя файла в юникоде.
Зачем плодить файлы? если вам интересны эти поля - устанавливайте их на соответствующих файлах данных. Хотя лично я бы выкинул бы их нафиг. У вас и так еле ползает эта утилита, а вы еще эту бодягу разводите.
Ответили: (4)
# Ответить
2. Денис Демидов (disa_da) 02.04.2008 17:45
Файлы .header используются при unpack/pack - тут я ничего не менял.
А в режиме parse/build создаются только файлы с данными.
# Ответить
3. Денис Демидов (disa_da) 02.04.2008 17:49
А за информацию по атрибутам огромное спасибо. Но вот мне ни разу не попадались файлы, в которых бы эти атрибуты были заполнены. Было бы интересно на такие файлы посмотреть.
# Ответить
4. Сергей Старых (tormozit) 02.04.2008 21:51
(1) А че, можно быстрее все сделать? (чтобы как в конфигураторе летало)
Ответили: (6) (5)
# Ответить
5. Денис Демидов (disa_da) 05.04.2008 18:49
(4) Распаковака в памяти делается быстро. Все остальное время занимает запись на диск. Поэтому чем быстрее диск, тем быстрее будет работать.
# Ответить
6. Михаил Усков (MMF) 06.04.2008 13:46
(4) распаковка УТ (аналог вашего Parse, т.е. с разбором всех base64, с 1С-именами файлов и т.п. преобразованиями) - 32 сек, сборка - 27 сек
# Ответить
7. brix8x (brix8x) 06.04.2008 18:10
я рад за "распаковку УТ" ;-) только из комментария непонятно: распаковка УТ это или название программы или распаковка Управления торговлей, а "аналог вашего Parse" - это дистанцирование от "жуткого V8Unpack" или ссылка на некую волшебную программу? ;-)
в общем не понял ... сорри ...
Ответили: (8)
# Ответить
8. Михаил Усков (MMF) 06.04.2008 22:09
(7) УТ - конфигурация Управления торговлей (т.е. файл *.CF), аналог вашего Parse - подразумевалось, что результат распаковки на диск - в преобразованном из внутреннего формата виде (http://slil.ru/25659603) А приведение мною замеров времени - не только членомерение, но и подтверждение того, что есть еще резервы для ускорения и не только в "записи на диск" дело.
Ответили: (10) (9)
# Ответить
9. Денис Демидов (disa_da) 07.04.2008 00:14
(8) Мда. Круто. Прям таки завидую, белой завистью естественно. Но теперь мы знаем к чему стремиться - это уже хорошо =)
# Ответить
10. Денис Демидов (disa_da) 07.04.2008 00:18
(8) Проверил сейчас на УТ (старенькой правда) - 52 секунды. Но это без преобразования в осмысленные имена.
И все таки запись на диск составляет процентов 90. Видимо есть способы писать быстрее, осталось их узнать.
Ответили: (12)
# Ответить
11. Сергей Старых (tormozit) 07.04.2008 08:34
Может кэширование записи на диск?
# Ответить
12. Михаил Усков (MMF) 07.04.2008 10:12
(10) используй профайлер, а не умозрительные 90%. Однозначно DWORD CV8File::_httoi(char *value) надо переписать (учитывая кол-во вызовов).
Жестоко выглядит:
pFileData = new BYTE[FileDataSize];
****
FILE *file_in = fopen(filename_in, "rb");
учитывая размеры cf с образами распределенки и/или конфы поставщика.
Ответили: (14)
# Ответить
13. Михаил Усков (MMF) 07.04.2008 10:14
(12+) потерялось ret = fread(pFileData, 1, FileDataSize, file_in);
# Ответить
14. Денис Демидов (disa_da) 08.04.2008 10:00
(12) Пока что приоритетнее все-таки преобразовывать в имена 1С, а потом и наращивание производительности можно занятся. Профайлером под VC6 никогда не пользовался, может посоветуешь что-нибудь? Или в VS2005 что-нибудь есть?
Ответили: (15)
# Ответить
15. Михаил Усков (MMF) 08.04.2008 10:36
(14) AQTime, тока он денег стоит, ежели белый
# Ответить
16. Ghost mail (Ghost mail) 09.04.2008 09:26
MMF, так может присоединишься к коллективу disa_da, brix8x и иже с ними. И совместными усилиями сделаете "красивую" утилиту ???
Ответили: (17)
# Ответить
17. Михаил Усков (MMF) 09.04.2008 10:20
(16) у меня детки дома по лавке скачут голодные, мал мал меньше, ждут, когда я краюху хлеба принесу. Альтруизм в больших количествах мне не доступен.
# Ответить
18. kitt al;dskjf;ldasjkf (kitt) 27.05.2008 05:36
Не глядя плюс за исходники, дома гляну. Автор спасибо!!
# Ответить
19. tojocky (tojocky) 26.06.2008 12:00
Автор спасибо! уверен что будут новые идеи!
# Ответить
20. tojocky (tojocky) 26.06.2008 12:03
MMF Но жмуриться не надо! у всех есть проблемы... а если будем по одиночестве работать то ничего не добьемся!
# Ответить
21. tojocky (tojocky) 26.06.2008 12:27
еще такой вопрос! как можно открыть файл .1CD или .dt файл?
# Ответить
22. tojocky (tojocky) 29.06.2008 18:54
К стати... есть бинарный вариант для распаковки hbk файл! кому нужно оброщайтесь!
# Ответить
23. 14.07.2008 13:14
для файлов *.dt
http://www.infostart.ru/projects/2217/
Ответили: (24)
# Ответить
24. tojocky (tojocky) 15.12.2008 17:32
(23) Спасибо!
# Ответить
25. Владимир Пушин (vladnet) 16.01.2009 14:40
Насколько понял не распаковывает обработки с паролями на модуле, даже если этот пароль известен?
# Ответить
26. Алексей Хорев (harmit) 20.03.2009 14:11
Данная распаковщик допускает ошибки в командах "Исключение" и "КонецЕсли";

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

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

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

А так могу только идейно помочь. Например для затравки дать элементарную обработку, которая строит дерево метаданных до документа/справочника/константы по распакованным данным.
Ответили: (30)
# Ответить
30. Артур Аюханов (artbear) 20.04.2009 13:15
(29) Давай обработку, вдруг руки дойдут или время найду :)
Ответили: (32) (31)
# Ответить
31. Денис Демидов (disa_da) 20.04.2009 19:59
(30) Положил сюда
# Ответить
32. Денис Демидов (disa_da) 20.04.2009 19:59
(30) И ссылка http://ifolder.ru/11722513
Ответили: (38) (39)
+ 2 [ bambr1975; darj; ]
# Ответить
33. Евгений Люлюк (Evg-Lylyk) 24.04.2009 15:40
(0) Супер вещь. Что то не нашел в описании что означает PARSELEVEL={0|1|2}
На счет профилировщика VC6 он примитивен до нельзя... работает только в DEBUG запускаешь его через меню далее все как в 1С8 список точек их время и количество запусках (пишет в окне сообщений). А еще он есть только в Prof версии.
# Ответить
35. Анатолий Ситников (acsent) 14.08.2009 12:08
Будет ли ГУЙ?
# Ответить
36. Сергей Старых (tormozit) 02.11.2009 15:24
Кто нибудь нашел способ добавить новую форму во внешнюю обработку?
Ответили: (37)
# Ответить
37. Сергей Старых (tormozit) 15.04.2010 09:40
(36) Я таки нашел, но гемор это БОЛЬШОЙ. Хочется API уже наконец заиметь.
# Ответить
38. Darj Nikitina (darj) 03.09.2010 12:06
(32) по ссылке файлик удален :(
Ответили: (39)
# Ответить
39. Андрей Д. (bambr1975) 03.09.2010 14:09
(38) рискну предложить посмотреть публикацию http://infostart.ru/public/69976 - честно говоря, смысл обработки выложенной в (32) был заимствован там целиком.
+ 1 [ awa; ]
# Ответить
41. mozz mozz (mozz) 21.04.2011 10:42
Конвертнул исходники в VS 2010 может кому пригодятся... Архив с исходниками во вложении.
Ответили: (46)

Прикрепленные файлы:

src.zip
# Ответить
42. Вячеслав (KVS) 15.09.2011 16:04
Как собрать обратно уже с открытым кодом?
# Ответить
43. Иван Иванов (Famza) 15.09.2011 16:29
Спасибо
# Ответить
44. Сергей Мурзинов (Sergey_Murzinov) 02.10.2011 03:54
Безоной разработки по жизни ни как, точно.
# Ответить
45. tvv (pmtvv) 09.10.2011 15:00
хорошая вещь, спасибо
# Ответить
46. 13.10.2011 15:51
(41) архив исходников VS2010 скачивается битым с Инфостарта
Ответили: (49)
# Ответить
48. Владимир (Софтэксперт) 02.11.2011 16:28
Весьма полезная вещь для анализа внутренней структуры
# Ответить
49. mozz mozz (mozz) 10.11.2011 17:53
(46) Проверил вроде не битый... Может временный баг был?
Ответили: (50)
# Ответить
50. 10.11.2011 21:41
(49) сейчас отлично - видимо был глюк Битрикса
# Ответить
51. Игорь Беляев (bissov) 12.12.2011 10:40
Не могу запустить утилиту, может есть мануал какой на эту тему.
# Ответить
52. Сергей Карташев (Elisy) 06.01.2012 13:53
Предлагаю ознакомиться с аналогичной разработкой, написанной на C# и .Net Framework. Была идея организовать контроль версия для конфигураций 1С:
http://infostart.ru/public/103834/files/
# Ответить
53. Alexandr SimNN (simnn) 25.01.2012 20:38
а документацию к программе где посмотреть?
# Ответить
54. Сергей Малыхин (serezhka87) 31.01.2012 15:56
Скачал. Будем смотреть что это за зверь. =)
# Ответить
55. Alexey (zarius) 02.07.2012 13:37
Кто нибуть пробовал EPF запаковывать? При UnpackAll.bat - распаковываются нормально, PackAll.bat - результата не дает...
Я так понимаю что в результате распаковки должен создаться каталог с файлами (это есть) и в нем в том числе должны быть файлы с расширением .unp (этого нет). Фактически в каталоге только файлы:
FileHeader
куча *.header
куча *.data

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

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

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

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

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

Всем удачи!
# Ответить
63. Sabfir Sabfir (Sabfir) 20.08.2014 12:50
С помощью этого инструмента можно ли заменить тип реквизита обработки и тип элементов на форме.
Было бы здорово иметь такую возможность, или подскажите как самому это доделать.
Заранее благодарен.
# Ответить
64. Александр Зорин (Manticor) 13.10.2014 13:04
Под Windows 8 не запускается V8Unpack.exe. Может кто то сталкивался - библиотеки какой не хватает?
Ответили: (65)
+ 1 [ osin_d79@mail.ru; ]
# Ответить
65. Виталий Черненко (SeiOkami) 08.11.2014 15:14
(64) Manticor, попобуй запускать от имени админа
# Ответить
66. Виталий Черненко (SeiOkami) 08.11.2014 15:16
Можно ли этим приложением извлечь из базы необходимые модули (не из конфигурации, а именно из базы)?
# Ответить
67. Михаил Кочнев (Mi4man) 08.02.2015 19:51
Подскажите плиз, где инструкции, описание и т.п. ???
# Ответить
68. Евгений Фалин (Gotcha) 23.06.2015 18:47
При попытке распаковать файл конфигурации БП 2.0.64.27, происходит unpacktofolder error in creating file!, ближе к концу файла.
Успевает распаковаться 13107 файлов. А жаль, я уж размечтался привинтить свой любимый Tortoise SVN+Merge
# Ответить
69. Сергей Милохов (smilohov) 20.01.2016 18:10
Кто может быстро помочь починить базу после сетевого сбоя? Прошу откликнуться.

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

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

Но с этой программой мне удалось выполнить восстановление поставки, распаковав мою конфигурацию, и файл обновления этой конфигурации в одну папку, а потом собрав из этой папки конфигурацию обратно! И все начало нормально обновляться!
# Ответить
Внимание! За постинг в данном форуме $m не начисляются.
Внимание! Для написания сообщения необходимо авторизоваться
Текст сообщения*
Прикрепить файл