V8Unpack 2.0

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

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

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

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

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

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

Файлы

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

См. также

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

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 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 09.04.2008 09:26
MMF, так может присоединишься к коллективу disa_da, brix8x и иже с ними. И совместными усилиями сделаете "красивую" утилиту ???
Ответили: (17)
# Ответить
17. MMF 09.04.2008 10:20
(16) у меня детки дома по лавке скачут голодные, мал мал меньше, ждут, когда я краюху хлеба принесу. Альтруизм в больших количествах мне не доступен.
# Ответить
18. kitt 27.05.2008 05:36
Не глядя плюс за исходники, дома гляну. Автор спасибо!!
# Ответить
19. tojocky 26.06.2008 12:00
Автор спасибо! уверен что будут новые идеи!
# Ответить
20. tojocky 26.06.2008 12:03
MMF Но жмуриться не надо! у всех есть проблемы... а если будем по одиночестве работать то ничего не добьемся!
# Ответить
21. tojocky 26.06.2008 12:27
еще такой вопрос! как можно открыть файл .1CD или .dt файл?
# Ответить
22. tojocky 29.06.2008 18:54
К стати... есть бинарный вариант для распаковки hbk файл! кому нужно оброщайтесь!
# Ответить
23. borovikSV 14.07.2008 13:14
для файлов *.dt
http://www.infostart.ru/projects/2217/
Ответили: (24)
# Ответить
24. 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 версии.
# Ответить
34. MSensey 12.08.2009 14:42
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 03.09.2010 12:06
(32) по ссылке файлик удален :(
Ответили: (39)
# Ответить
39. bambr1975 03.09.2010 14:09
(38) рискну предложить посмотреть публикацию http://infostart.ru/public/69976 - честно говоря, смысл обработки выложенной в (32) был заимствован там целиком.
+ 1 [ awa; ]
# Ответить
40. tormozit 20.10.2010 14:24
41. 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. pmtvv 09.10.2011 15:00
хорошая вещь, спасибо
# Ответить
46. desty 13.10.2011 15:51
(41) архив исходников VS2010 скачивается битым с Инфостарта
Ответили: (49)
# Ответить
48. Софтэксперт 02.11.2011 16:28
Весьма полезная вещь для анализа внутренней структуры
# Ответить
49. mozz 10.11.2011 17:53
(46) Проверил вроде не битый... Может временный баг был?
Ответили: (50)
# Ответить
50. desty 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. simnn 25.01.2012 20:38
а документацию к программе где посмотреть?
# Ответить
54. serezhka87 31.01.2012 15:56
Скачал. Будем смотреть что это за зверь. =)
# Ответить
55. 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 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. zavsom 26.02.2013 14:51
А можно разжувать что запускать то? Мне нужно например увидеть в рарс альфа 5.0 текст в закрытых модулях общего модуля - скачал, запускаю приложение - что то моргает на экране и тишина... ЧЯДНТ ? подскажите что нужно по шагам чтобы это запускалось.
# Ответить
62. leonet 06.05.2014 09:53
v8unpack Версия 3.0

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

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

Всем удачи!
# Ответить
63. 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 не начисляются.
Внимание! Для написания сообщения необходимо авторизоваться
Текст сообщения*
Прикрепить файл