gifts2017

V8Unpack 2.0

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

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

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

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

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

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

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

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

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Михаил Усков (MMF) 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) 02.04.08 21:51
(1) А че, можно быстрее все сделать? (чтобы как в конфигураторе летало)
5. Денис Демидов (disa_da) 05.04.08 18:49
(4) Распаковака в памяти делается быстро. Все остальное время занимает запись на диск. Поэтому чем быстрее диск, тем быстрее будет работать.
6. Михаил Усков (MMF) 06.04.08 13:46
(4) распаковка УТ (аналог вашего Parse, т.е. с разбором всех base64, с 1С-именами файлов и т.п. преобразованиями) - 32 сек, сборка - 27 сек
7. brix8x (brix8x) 06.04.08 18:10
я рад за "распаковку УТ" ;-) только из комментария непонятно: распаковка УТ это или название программы или распаковка Управления торговлей, а "аналог вашего Parse" - это дистанцирование от "жуткого V8Unpack" или ссылка на некую волшебную программу? ;-)
в общем не понял ... сорри ...
8. Михаил Усков (MMF) 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) 07.04.08 08:34
Может кэширование записи на диск?
12. Михаил Усков (MMF) 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) 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) 08.04.08 10:36
(14) AQTime, тока он денег стоит, ежели белый
16. Ghost mail (Ghost mail) 09.04.08 09:26
MMF, так может присоединишься к коллективу disa_da, brix8x и иже с ними. И совместными усилиями сделаете "красивую" утилиту ???
17. Михаил Усков (MMF) 09.04.08 10:20
(16) у меня детки дома по лавке скачут голодные, мал мал меньше, ждут, когда я краюху хлеба принесу. Альтруизм в больших количествах мне не доступен.
18. kitt al;dskjf;ldasjkf (kitt) 27.05.08 05:36
Не глядя плюс за исходники, дома гляну. Автор спасибо!!
19. tojocky (tojocky) 26.06.08 12:00
Автор спасибо! уверен что будут новые идеи!
20. tojocky (tojocky) 26.06.08 12:03
MMF Но жмуриться не надо! у всех есть проблемы... а если будем по одиночестве работать то ничего не добьемся!
21. tojocky (tojocky) 26.06.08 12:27
еще такой вопрос! как можно открыть файл .1CD или .dt файл?
22. tojocky (tojocky) 29.06.08 18:54
К стати... есть бинарный вариант для распаковки hbk файл! кому нужно оброщайтесь!
24. tojocky (tojocky) 15.12.08 17:32
25. Владимир Пушин (vladnet) 16.01.09 14:40
Насколько понял не распаковывает обработки с паролями на модуле, даже если этот пароль известен?
26. Алексей Хорев (harmit) 20.03.09 14:11
Данная распаковщик допускает ошибки в командах "Исключение" и "КонецЕсли";

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

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

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

А так могу только идейно помочь. Например для затравки дать элементарную обработку, которая строит дерево метаданных до документа/справочника/константы по распакованным данным.
30. Артур Аюханов (artbear) 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) 24.04.09 15:40
(0) Супер вещь. Что то не нашел в описании что означает PARSELEVEL={0|1|2}
На счет профилировщика VC6 он примитивен до нельзя... работает только в DEBUG запускаешь его через меню далее все как в 1С8 список точек их время и количество запусках (пишет в окне сообщений). А еще он есть только в Prof версии.
35. Анатолий Ситников (acsent) 14.08.09 12:08
36. Сергей Старых (tormozit) 02.11.09 15:24
Кто нибудь нашел способ добавить новую форму во внешнюю обработку?
37. Сергей Старых (tormozit) 15.04.10 09:40
(36) Я таки нашел, но гемор это БОЛЬШОЙ. Хочется API уже наконец заиметь.
38. Darj Nikitina (darj) 03.09.10 12:06
(32) по ссылке файлик удален :(
39. Андрей Д. (bambr1975) 03.09.10 14:09
(38) рискну предложить посмотреть публикацию http://infostart.ru/public/69976 - честно говоря, смысл обработки выложенной в (32) был заимствован там целиком.
40. Сергей Старых (tormozit) 20.10.10 14:24
41. mozz mozz (mozz) 21.04.11 10:42
Конвертнул исходники в VS 2010 может кому пригодятся... Архив с исходниками во вложении.
Прикрепленные файлы:
src.zip
адуырщдв; German; +2 Ответить 1
42. Вячеслав (KVS) 15.09.11 16:04
Как собрать обратно уже с открытым кодом?
43. Иван Иванов (Famza) 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) 10.11.11 17:53
(46) Проверил вроде не битый... Может временный баг был?
50. desty (lustin) 10.11.11 21:41
(49) сейчас отлично - видимо был глюк Битрикса
51. Игорь Беляев (bissov) 12.12.11 10:40
Не могу запустить утилиту, может есть мануал какой на эту тему.
52. Сергей Карташев (Elisy) 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) 31.01.12 15:56
Скачал. Будем смотреть что это за зверь. =)
55. Alexey (zarius) 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) 23.10.12 22:12
как запустить инструмент?
59. Babys (babys) 06.12.12 11:56
Обращаюсь к разместившему здесь от имени автора, пора автору опять учить 1С :)
В 17 релизе не работает.
60. Сергей Карташев (Elisy) 11.12.12 08:26
(59) babys,
Попробуйте на 17 релизе C#-аналог, может будет работать
http://infostart.ru/public/103834/
61. zavsom1 zavsomovich (zavsom) 26.02.13 14:51
А можно разжувать что запускать то? Мне нужно например увидеть в рарс альфа 5.0 текст в закрытых модулях общего модуля - скачал, запускаю приложение - что то моргает на экране и тишина... ЧЯДНТ ? подскажите что нужно по шагам чтобы это запускалось.
62. leonid demin (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) 13.10.14 13:04
Под Windows 8 не запускается V8Unpack.exe. Может кто то сталкивался - библиотеки какой не хватает?
osin_d79@mail.ru; +1 Ответить 1
65. Виталий Черненко (SeiOkami) 08.11.14 15:14
(64) Manticor, попобуй запускать от имени админа
66. Виталий Черненко (SeiOkami) 08.11.14 15:16
Можно ли этим приложением извлечь из базы необходимые модули (не из конфигурации, а именно из базы)?
67. Михаил Кочнев (Mi4man) 08.02.15 19:51
Подскажите плиз, где инструкции, описание и т.п. ???
68. Евгений Фалин (Gotcha) 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) 30.01.16 10:12
Спасибо огромное за программу!! Она спасла меня!

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

Но с этой программой мне удалось выполнить восстановление поставки, распаковав мою конфигурацию, и файл обновления этой конфигурации в одну папку, а потом собрав из этой папки конфигурацию обратно! И все начало нормально обновляться!
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа