V8Formats: .NET (C#) реализация V8UNPACK

0. Юрий Пермитин (YPermitin) 618 08.02.16 11:10 Сейчас в теме
Еще одна альтернативная реализация распаковщика/запаковщика файлов платформы 1С:Предприятие 8.x форматов *.cf (конфигурация), *.epf (обработка) и *.erf (отчет) на .NET Framework (C#).

Перейти к публикации

Комментарии
1. Андрей Овсянкин (Evil Beaver) 4412 08.02.16 12:36 Сейчас в теме
Пора на инфостарте заводить новый тег - Yet Another Unpack.

Раз уж дот-нет, то сделайте заодно и Nuget-пакет, чтобы по быстрому можно было подключить.
lustin; Bronislav; JohnyDeath; sorb; kuntashov; artbear; +6 Ответить
2. Юрий Пермитин (YPermitin) 618 08.02.16 13:20 Сейчас в теме
(1) Evil Beaver, возьму на заметку. Почему бы и нет.
6. Валерий Агеев (awa) 2424 09.02.16 00:26 Сейчас в теме
(1) Evil Beaver, ты у нас ведешь списки клуба? Может тебе уже публикацию в разделе Лайф сделать и опубликовать полный состав клуба?
Infactum; +1 Ответить
7. Егор Иванов (Infactum) 219 09.02.16 06:41 Сейчас в теме
(6) awa, Я планирую сделать небольшую тему со сравнением всех известных распаковщиков.
49. Александр Цуканов (tsukanov) 41 08.03.17 14:10 Сейчас в теме
50. Юрий Пермитин (YPermitin) 618 08.03.17 17:44 Сейчас в теме
10. Андрей Овсянкин (Evil Beaver) 4412 09.02.16 11:06 Сейчас в теме
(6) awa, не, я ничего такого не веду, зачем оно мне. Более того, у меня еще со времен V8Viewer есть C# библиотека для чтения/записи CF. Только она закрытая.
12. Алексей Лустин (lustin) 875 09.02.16 12:05 Сейчас в теме
(10) а вот я принципиально не понимаю... "нахрена" ? Самое удивительное - что Юрий вроде в курсе всей движухи и давно на GitHub и G+

Это на моей памяти 8-ой unpack'er...

Потому что нужно на .NET, а С++ это зло ?
Как учил великий steban - С++ код можно использовать в C# проектах в виде unmanagment вставок.

Можно ведь делать обертки над libv8unpack.

Ох... Грусто...

P.S. Грусто от того сколько Юрий потратил времени на крутую вещь... Но блин. Мы не сможем отказаться от v8unpack в сторону .NET: потому как благодаря dm_pass у нас есть её gcc порт под linux и есть пакеты под linux если кто забыл

https://github.com/dmpas/v8unpack


JohnyDeath; Evil Beaver; YPermitin; +3 Ответить
14. Юрий Пермитин (YPermitin) 618 09.02.16 12:34 Сейчас в теме
(12) lustin, все очень просто. Для моих задач мне нужен был .NETная реализация.

Почему не использовал unmanagment код? По правде говоря использовал, в начале сборка была "неуправляемой".
"Неуправляемая" библиотека была сделана в середине прошлого года, потом почти сразу же портирована полностью на .NET.
Согласитесь, что использовать неуправляемый код там, где его можно легко портировать на управляемый - это настоящий костыль.

Никто никого не заставляет отказываться от CPPшной реализации. Тем более она работает быстрее этой сборки.

Вообщем, .NETная реализация мне была нужна, мы ее с напарником сделали, а теперь бесплатно из без СМС всем предложили.
Кому нужно, тот и будет использовать =)
15. Егор Иванов (Infactum) 219 09.02.16 13:00 Сейчас в теме
(14) YPermitin, на .NET тоже была реализация уже. Входит в состав Elisy .Net Bridge. Кажется и проект живой еще.
16. Юрий Пермитин (YPermitin) 618 09.02.16 13:19 Сейчас в теме
(15) Infactum, он вроде как не бесплатный.
17. Сергей Смирнов (Serginio) 646 09.02.16 13:59 Сейчас в теме
32. Петр Базелюк (pbazeliuk) 1373 11.02.16 10:36 Сейчас в теме
(12) lustin, https://github.com/pbazeliuk/V8Commit и мой частично выложен для разбора, только с блек-джеком и плагинами. Какая разница на чем написан unpack, если его можно развернуть как веб-сервис.
YPermitin; +1 Ответить
37. Юрий Пермитин (YPermitin) 618 11.02.16 13:28 Сейчас в теме
(32) pbazeliuk, интересно.
Поразбираюсь с проектом попозже.
13. Алексей Лустин (lustin) 875 09.02.16 12:12 Сейчас в теме
(10) Андрей - единственное я подумал, а можно v8format встроить через NuGet напрямую в Oscript.io ? Чтобы было доступно в oscript через код.

Прочитал (1) - вопрос снимается
18. Андрей Овсянкин (Evil Beaver) 4412 09.02.16 16:35 Сейчас в теме
(13) lustin, я тогда, раз пошла такая пьянка, свою либу причешу и-таки выложу в nuget. Больше анпаков, хороших и разных (или почти одинаковых, если быть честным)
YPermitin; +1 Ответить
19. Юрий Пермитин (YPermitin) 618 09.02.16 17:52 Сейчас в теме
(18) Evil Beaver, будет интересно посмотреть.
22. Андрей Овсянкин (Evil Beaver) 4412 10.02.16 08:09 Сейчас в теме
(19) YPermitin, а чего ее смотреть,она в принципе, опубликована давно: http://sourceforge.net/p/v8reader/code/HEAD/tree Просто есть еще "пишущая" версия, вот ее можно довести до товарного вида и выложить. Хотя, как правильно заметил Артур - смысл какой?
20. Артур Аюханов (artbear) 901 09.02.16 18:25 Сейчас в теме
(18) А смысл? опять потеряешь время :)
а анпаки и правда почти все одинаковы, но наши продукты precommit1c и gitsync, расширяющие функционал анпаков, все равно удобнее и мощнее всех :)
PS это я слегка троллингом занялся
33. Петр Базелюк (pbazeliuk) 1373 11.02.16 11:47 Сейчас в теме
(20) artbear, уверен моя версия кардинально отличается :)
3. Сергей Рудаков (fishca) 1071 08.02.16 23:18 Сейчас в теме
Есть проблема с распаковкой конфигурации в 700 МБ, в которой конфигурация поставщика порядка 300 МБ. Причем есть проблема и в v8Unpack-e исходном.
4. Юрий Пермитин (YPermitin) 618 08.02.16 23:24 Сейчас в теме
(3) fishca, с интересом бы посмотрел на этот CFник.
Можно ли каким-либо законным способом его получить и посмотреть?)
5. Никита Грызлов (nixel) 304 09.02.16 00:17 Сейчас в теме
(4) YPermitin, буха 3.0 с бит финансом, упп с ним же, erp. Мало что ли огромных типовых.
8. Сергей Рудаков (fishca) 1071 09.02.16 09:35 Сейчас в теме
(4) да, можно взять конфу ERP2, включить возможность изменения, чтобы конфигурация поставщика появилась "отдельным файлом" и попытаться распаковать.
9. Андрей Д. (bambr1975) 782 09.02.16 09:55 Сейчас в теме
(8) fishca, рискну заметить, что "исходный" V8Unpack тоже развивается и в его последней версии (которая включена в последний V8Reader) проблема с распаковкой больших конфигураций была решена.
11. Юрий Пермитин (YPermitin) 618 09.02.16 11:54 Сейчас в теме
(8) fishca, ок. Разберемся конечно с проблемой.
На GitHub сделал отметку.
21. Евгений Мартыненков (JohnyDeath) 290 09.02.16 23:22 Сейчас в теме
В тему анпаков. ИМХО, 1С должна выпустить свой кросплатформенный и многопоточный анпак, который будет раскладывать cf так, как это делает конфигуратор, а не "скобочками со строками". Ес-но всё должно быть отвязано от самой платформы и желательно поставляться отдельно от неё.
nSpirit2; +1 Ответить
23. Валентин Бомбин (so-quest) 128 10.02.16 10:06 Сейчас в теме
(21) Формат этих скобочек кто нибудь описал? Будет описание - выгрузку напишут уже быстро.
24. Алексей Ко (Жолтокнижниг) 239 10.02.16 11:37 Сейчас в теме
(23) so-quest, Написать зная формат/описание не долго. А вот собрать инфу, вот это действительно трудная задача. Даже проведя аналогию с unpack'ами, по описанному алгоритму закодить легко, у меня у самого есть 2 реализации на C# и python.
25. Алексей Ко (Жолтокнижниг) 239 10.02.16 11:38 Сейчас в теме
(23) so-quest, И надо оно вообще? Есть 8.3 с выгрузкой в xml, там читаемо и можно преобразовывать в "более читаемо"
30. Валентин Бомбин (so-quest) 128 11.02.16 09:20 Сейчас в теме
(25) Надо. Во первых в хмл не выгрузишь обработку, во вторых сейчас все больше инструментов начинают использовать унпак. А работа с внутренним представлением данных (все эти скобочки) идет наощупь. Изменил,собрал, посмотрел что получилось - и так до бесконечности.
Вот и говорю - требуется некое описание внутреннего формата - это поле отвечает за это, то за то и тип у них такой-то.
(29) Алгоритм разбора epf/cf еще disa_da в лохматом 2009 (или 2008) выложил. С тех пор ничего не поменялось. Принципиально новых вещей не получилось. Потому как мало кому нужно. А те кому нужно - тратят время и ковыряют сами все эти скобочки, циферки....
31. Егор Иванов (Infactum) 219 11.02.16 09:41 Сейчас в теме
(30) so-quest, распаковка/запаковка обработок в XML обещана в 8.3.8
41. Michael Rybakin (Mr.Rm) 11.02.16 20:17 Сейчас в теме
(31) Вышла 8.3.8:
Реализована возможность выгружать внешнюю обработку/отчет в файлы (в формате XML).

И по теме Yet Another Unpack:
Реализована возможность изменять размер страницы файла информационной базы (1Cv8.1CD). Размер страницы может быть 4096, 8192, 16384, 32768 и 65536 байт. Информационная база, созданная в версии 8.3.8 и выше, имеет размер страницы 8192 байта и не может быть открыта младшими версиями.
42. Алексей Ко (Жолтокнижниг) 239 11.02.16 22:58 Сейчас в теме
(41) Mr.Rm, НУ наконец то, все на переделку своих унпаков!!!
43. Егор Иванов (Infactum) 219 12.02.16 09:37 Сейчас в теме
(41) Mr.Rm, к анпакам это не относится.
А вот утилиты для чтения 1CD придется обновить.
34. Евгений Мартыненков (JohnyDeath) 290 11.02.16 12:40 Сейчас в теме
(30) so-quest, именно эту "ощупь" и делал Валерий Агеев
35. Валентин Бомбин (so-quest) 128 11.02.16 13:20 Сейчас в теме
(34) Эту ощупь делал каждый кто ковырял унпак. И результатов - никто не выложил. Ну а то что есть - либо мало, либо неполно, либо не работет
36. Петр Базелюк (pbazeliuk) 1373 11.02.16 13:23 Сейчас в теме
(35) so-quest, некоторые результаты есть в V8Reader. Но детальный разбор никто не выложит с версионированием по платформам потому, что на этом можно неплохо заработать.
38. Валентин Бомбин (so-quest) 128 11.02.16 13:48 Сейчас в теме
(36) Хоть одну бизнес-идею идею использования внутреннего формата cf|epf назови? что бы на ней можно было неплохо заработать
39. Петр Базелюк (pbazeliuk) 1373 11.02.16 13:52 Сейчас в теме
(38) so-quest, вот когда моя команда выпустит релиз готового продукта назову. А так идеи много стоят.
29. Евгений Мартыненков (JohnyDeath) 290 10.02.16 20:19 Сейчас в теме
(23) so-quest, самое красивое получалось у awa на его закрытом проекте. Но, как он мне сказал при личной встрече, времени работать над всем этим дальше совсем нет.
26. Михаил Болсун (m.bolsun) 555 10.02.16 13:22 Сейчас в теме
YPermitin, можете где то добавить информацию под какой лицензией распространяется разработка?
27. Юрий Пермитин (YPermitin) 618 10.02.16 15:13 Сейчас в теме
(26) m.bolsun, я добавлю в ближайшие дни на GitHub и здесь.
Нужно немного подождать =)
28. Юрий Пермитин (YPermitin) 618 10.02.16 19:04 Сейчас в теме
(26) m.bolsun, текст лицензии добавлен. Используется MIT.
40. Валентин Бомбин (so-quest) 128 11.02.16 15:24 Сейчас в теме
Подождем. Если будет успешно - дождемся и открытой реализации :)
44. Юрий Пермитин (YPermitin) 618 15.02.16 08:03 Сейчас в теме
Жаль нельзя сделать загрузку файла бесплатно.
Чтобы не тратить стартмани можете скачать последнюю версию консольной утилиты отсюда:
V8Formats на www.develplatform.ru
45. biformatus (biformatus) 22.02.16 15:33 Сейчас в теме
А сделать распаковку EFD в планах нет?
46. Юрий Пермитин (YPermitin) 618 22.02.16 22:43 Сейчас в теме
(45) biformatus, имеет ли это смысл и какой?
47. biformatus (biformatus) 22.02.16 23:57 Сейчас в теме
Нужно для распаковки обновлений конфигураций в автоматическом режиме (нужна консольная утилита). Ну собственно смысл получить распакованные обновление CFU, сгенерить CF. и т.д.
48. Юрий Пермитин (YPermitin) 618 23.02.16 08:12 Сейчас в теме
(47) biformatus, ок.
Запишу на будущее посмотреть этот вопрос.
biformatus; +1 Ответить
Оставьте свое сообщение