# saby v8unpack
[![img lib ver](https://img.shields.io/pypi/v/v8unpack.svg "")](https://pypi.python.org/pypi/v8unpack)
[![img python ver](https://img.shields.io/pypi/pyversions/v8unpack.svg "")](https://pypi.python.org/pypi/v8unpack)
[![img license](https://img.shields.io/pypi/l/v8unpack.svg "")](https://pypi.python.org/pypi/v8unpack)
[![img coverage](https://img.shields.io/coveralls/saby/v8unpack.svg "")](https://coveralls.io/github/saby/v8unpack)
**v8unpack** - консольная утилита для сборки и распаковки бинарных файлов
1С:Предприятие 8.х (cf, cfe, epf) без использования технологической платформы.
В какой-то момент жить без системы контроля версий на уровне исходников стало совсем не выносимо и обозрев все
варианты выбор пал на v8unpack. Однако, без устранения основных недостатков его использование было бы крайне
не удобным (плоский список из нечеловекочитаемых файлов, скрытый где-то в дебрях программный код управляемых форм).
Сразу скажу, что мы с глубоким уважением относимся к труду авторов v8unpack, данная утилита отлично выполняет все
свои функции и без неё создание этого решения было бы не возможным. Кроме этого её Python реализация от [Infactum](https://github.com/Infactum/onec_dtools)
была взята за основу без каких либо изменений.
## Ключевые отличия от аналогичных утилит:
* Структура хранения максимально приближена к структуре метаданных, человеко-читаемые имена файлов
* Программный код всегда хранится в отдельных файлах и может быть разделен на несколько файлов
* Общие для разных решений объекты метаданных могут автоматически браться из субмодулей
* Двоичные данные макетов и картинки хранятся в исходном виде
* При сборке под 8.2 и 8.1. автоматически комментируются директивы 8.3
* Файлы хранятся в формате json
* Видны изменения элементов форм
## Основным назначением утилиты являются:
1. Автоматическая сборка приложений 1С (расширения конфигураций, внешние обработки)
для различных платформ и конфигураций из одних и тех же исходников
2. Удобное и человекочитаемое хранение исходников в системах контроля версий.
## Алгоритм работы
Утилита распаковывает и запаковывет бинарник 1С в 4 этапа:
1. Распаковка стандартным v8unpack – на выходе текстовые файлы
2. Конвертация в json
3. Декодирование заголовков и разбивка по типам метаданных
4. Организация кода и структуры хранения
* вынос областей кода и панелей форм в отдельные файлы
* сборка кода и форм из нескольких файлов
* разделение объектов метаданных, панелей форм, файлов или областей кода под сабмодулям
* версионирование кода расширения по версиям без применения областей
![Алгоритм работы](https://github.com/saby-integration/v8unpack/blob/main/docs/stage.png?raw=true)
## Установка
pip install v8unpack
или [скачайте exe файл](https://github.com/saby-integration/v8unpack/raw/main/exe/v8unpack.exe)
Если работаете с тяжелыми конфигурациями используйте 64-bit питон последних версий.
## Распаковка файла 1С
из командной строки:
v8unpack.exe -E d:/sample.cf d:/unpack
из python:
```python
import v8unpack
if __name__ == '__main__':
v8unpack.extract('d:/sample.cf', 'd:/unpack')
```
## Сборка исходников
из командной строки:
v8unpack.exe -B d:/unpack d:/repacked.cf
из python:
```python
import v8unpack
if __name__ == '__main__':
v8unpack.build('d:/unpack', 'd:/repacked.cf')
```
## Документация
[Переход на сборку из одних исходников](https://github.com/saby-integration/v8unpack/blob/main/docs/transition.md)
[Использование](https://github.com/saby-integration/v8unpack/blob/main/docs/usage.md)
[История изменений](https://github.com/saby-integration/v8unpack/blob/main/docs/history.md)
[Участие](https://github.com/saby-integration/v8unpack/blob/main/docs/develop.md)
## Отладка
## Ограничения
Разметка форм и свойства объектов по прежнему является не читаемыми, но в этом виде проще проводить их
анализ и при желании дополнить парсер.
На текущий момент [утилита покрывает все типы метаданных в нужном нам объеме](https://github.com/saby-integration/v8unpack/blob/main/src/v8unpack/metadata_types.py),
если Вам нужно более детальная распаковка каких то объектов напишите здесь обращение
или сделайте самостоятельно, мы будем рады [любому участию в проекте](https://github.com/saby-integration/v8unpack/blob/main/docs/develop.md).
Raw data
{
"_id": null,
"home_page": "https://github.com/saby-integration/v8unpack",
"name": "v8unpack",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": null,
"keywords": "1C CF CFE EPF V8UNPACK SABY SBIS \u0421\u0411\u0418\u0421 1\u0421",
"author": "Razgovorov Mikhail",
"author_email": "1338833@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/4a/82/91f4fc067a029759dd6f320c99b8cd2a54d4b09fa5f17a943bdc8e05766d/v8unpack-0.19.1.tar.gz",
"platform": null,
"description": "# saby v8unpack\r\n\r\n[![img lib ver](https://img.shields.io/pypi/v/v8unpack.svg \"\")](https://pypi.python.org/pypi/v8unpack)\r\n[![img python ver](https://img.shields.io/pypi/pyversions/v8unpack.svg \"\")](https://pypi.python.org/pypi/v8unpack)\r\n[![img license](https://img.shields.io/pypi/l/v8unpack.svg \"\")](https://pypi.python.org/pypi/v8unpack)\r\n[![img coverage](https://img.shields.io/coveralls/saby/v8unpack.svg \"\")](https://coveralls.io/github/saby/v8unpack)\r\n\r\n**v8unpack** - \u043a\u043e\u043d\u0441\u043e\u043b\u044c\u043d\u0430\u044f \u0443\u0442\u0438\u043b\u0438\u0442\u0430 \u0434\u043b\u044f \u0441\u0431\u043e\u0440\u043a\u0438 \u0438 \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u043a\u0438 \u0431\u0438\u043d\u0430\u0440\u043d\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432 \r\n1\u0421:\u041f\u0440\u0435\u0434\u043f\u0440\u0438\u044f\u0442\u0438\u0435 8.\u0445 (cf, cfe, epf) \u0431\u0435\u0437 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b.\r\n\r\n\u0412 \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u043c\u043e\u043c\u0435\u043d\u0442 \u0436\u0438\u0442\u044c \u0431\u0435\u0437 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044f \u0432\u0435\u0440\u0441\u0438\u0439 \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432 \u0441\u0442\u0430\u043b\u043e \u0441\u043e\u0432\u0441\u0435\u043c \u043d\u0435 \u0432\u044b\u043d\u043e\u0441\u0438\u043c\u043e \u0438 \u043e\u0431\u043e\u0437\u0440\u0435\u0432 \u0432\u0441\u0435 \r\n\u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b \u0432\u044b\u0431\u043e\u0440 \u043f\u0430\u043b \u043d\u0430 v8unpack. \u041e\u0434\u043d\u0430\u043a\u043e, \u0431\u0435\u0437 \u0443\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043a\u043e\u0432 \u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0431\u044b\u043b\u043e \u0431\u044b \u043a\u0440\u0430\u0439\u043d\u0435 \r\n\u043d\u0435 \u0443\u0434\u043e\u0431\u043d\u044b\u043c (\u043f\u043b\u043e\u0441\u043a\u0438\u0439 \u0441\u043f\u0438\u0441\u043e\u043a \u0438\u0437 \u043d\u0435\u0447\u0435\u043b\u043e\u0432\u0435\u043a\u043e\u0447\u0438\u0442\u0430\u0435\u043c\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432, \u0441\u043a\u0440\u044b\u0442\u044b\u0439 \u0433\u0434\u0435-\u0442\u043e \u0432 \u0434\u0435\u0431\u0440\u044f\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0439 \u043a\u043e\u0434 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c\u044b\u0445 \u0444\u043e\u0440\u043c). \r\n\u0421\u0440\u0430\u0437\u0443 \u0441\u043a\u0430\u0436\u0443, \u0447\u0442\u043e \u043c\u044b \u0441 \u0433\u043b\u0443\u0431\u043e\u043a\u0438\u043c \u0443\u0432\u0430\u0436\u0435\u043d\u0438\u0435\u043c \u043e\u0442\u043d\u043e\u0441\u0438\u043c\u0441\u044f \u043a \u0442\u0440\u0443\u0434\u0443 \u0430\u0432\u0442\u043e\u0440\u043e\u0432 v8unpack, \u0434\u0430\u043d\u043d\u0430\u044f \u0443\u0442\u0438\u043b\u0438\u0442\u0430 \u043e\u0442\u043b\u0438\u0447\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0432\u0441\u0435 \r\n\u0441\u0432\u043e\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438 \u0431\u0435\u0437 \u043d\u0435\u0451 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u044d\u0442\u043e\u0433\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0431\u044b\u043b\u043e \u0431\u044b \u043d\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u043c. \u041a\u0440\u043e\u043c\u0435 \u044d\u0442\u043e\u0433\u043e \u0435\u0451 Python \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043e\u0442 [Infactum](https://github.com/Infactum/onec_dtools) \r\n\u0431\u044b\u043b\u0430 \u0432\u0437\u044f\u0442\u0430 \u0437\u0430 \u043e\u0441\u043d\u043e\u0432\u0443 \u0431\u0435\u0437 \u043a\u0430\u043a\u0438\u0445 \u043b\u0438\u0431\u043e \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439.\r\n\r\n## \u041a\u043b\u044e\u0447\u0435\u0432\u044b\u0435 \u043e\u0442\u043b\u0438\u0447\u0438\u044f \u043e\u0442 \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u044b\u0445 \u0443\u0442\u0438\u043b\u0438\u0442:\r\n* \u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u043f\u0440\u0438\u0431\u043b\u0438\u0436\u0435\u043d\u0430 \u043a \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435 \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0445, \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u043e-\u0447\u0438\u0442\u0430\u0435\u043c\u044b\u0435 \u0438\u043c\u0435\u043d\u0430 \u0444\u0430\u0439\u043b\u043e\u0432\r\n* \u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0439 \u043a\u043e\u0434 \u0432\u0441\u0435\u0433\u0434\u0430 \u0445\u0440\u0430\u043d\u0438\u0442\u0441\u044f \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u0444\u0430\u0439\u043b\u0430\u0445 \u0438 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d \u043d\u0430 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0444\u0430\u0439\u043b\u043e\u0432\r\n* \u041e\u0431\u0449\u0438\u0435 \u0434\u043b\u044f \u0440\u0430\u0437\u043d\u044b\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u0439 \u043e\u0431\u044a\u0435\u043a\u0442\u044b \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0445 \u043c\u043e\u0433\u0443\u0442 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0431\u0440\u0430\u0442\u044c\u0441\u044f \u0438\u0437 \u0441\u0443\u0431\u043c\u043e\u0434\u0443\u043b\u0435\u0439\r\n* \u0414\u0432\u043e\u0438\u0447\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043c\u0430\u043a\u0435\u0442\u043e\u0432 \u0438 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438 \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f \u0432 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u043c \u0432\u0438\u0434\u0435\r\n* \u041f\u0440\u0438 \u0441\u0431\u043e\u0440\u043a\u0435 \u043f\u043e\u0434 8.2 \u0438 8.1. \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u0434\u0438\u0440\u0435\u043a\u0442\u0438\u0432\u044b 8.3\r\n* \u0424\u0430\u0439\u043b\u044b \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 json\r\n* \u0412\u0438\u0434\u043d\u044b \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u0444\u043e\u0440\u043c\r\n\r\n## \u041e\u0441\u043d\u043e\u0432\u043d\u044b\u043c \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c \u0443\u0442\u0438\u043b\u0438\u0442\u044b \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f:\r\n1.\t\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0441\u0431\u043e\u0440\u043a\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 1\u0421 (\u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0439, \u0432\u043d\u0435\u0448\u043d\u0438\u0435 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438) \r\n\u0434\u043b\u044f \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c \u0438 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0439 \u0438\u0437 \u043e\u0434\u043d\u0438\u0445 \u0438 \u0442\u0435\u0445 \u0436\u0435 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432\r\n2.\t\u0423\u0434\u043e\u0431\u043d\u043e\u0435 \u0438 \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u043e\u0447\u0438\u0442\u0430\u0435\u043c\u043e\u0435 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044f \u0432\u0435\u0440\u0441\u0438\u0439.\r\n\r\n## \u0410\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0440\u0430\u0431\u043e\u0442\u044b\r\n\u0423\u0442\u0438\u043b\u0438\u0442\u0430 \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u044b\u0432\u0430\u0435\u0442 \u0438 \u0437\u0430\u043f\u0430\u043a\u043e\u0432\u044b\u0432\u0435\u0442 \u0431\u0438\u043d\u0430\u0440\u043d\u0438\u043a 1\u0421 \u0432 4 \u044d\u0442\u0430\u043f\u0430:\r\n\r\n1.\t\u0420\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u043a\u0430 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u043c v8unpack \u2013 \u043d\u0430 \u0432\u044b\u0445\u043e\u0434\u0435 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0435 \u0444\u0430\u0439\u043b\u044b\r\n2.\t\u041a\u043e\u043d\u0432\u0435\u0440\u0442\u0430\u0446\u0438\u044f \u0432 json\r\n3.\t\u0414\u0435\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u043e\u0432 \u0438 \u0440\u0430\u0437\u0431\u0438\u0432\u043a\u0430 \u043f\u043e \u0442\u0438\u043f\u0430\u043c \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0445\r\n4.\t\u041e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u044f \u043a\u043e\u0434\u0430 \u0438 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f\r\n * \u0432\u044b\u043d\u043e\u0441 \u043e\u0431\u043b\u0430\u0441\u0442\u0435\u0439 \u043a\u043e\u0434\u0430 \u0438 \u043f\u0430\u043d\u0435\u043b\u0435\u0439 \u0444\u043e\u0440\u043c \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b\r\n * \u0441\u0431\u043e\u0440\u043a\u0430 \u043a\u043e\u0434\u0430 \u0438 \u0444\u043e\u0440\u043c \u0438\u0437 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0444\u0430\u0439\u043b\u043e\u0432\r\n * \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0445, \u043f\u0430\u043d\u0435\u043b\u0435\u0439 \u0444\u043e\u0440\u043c, \u0444\u0430\u0439\u043b\u043e\u0432 \u0438\u043b\u0438 \u043e\u0431\u043b\u0430\u0441\u0442\u0435\u0439 \u043a\u043e\u0434\u0430 \u043f\u043e\u0434 \u0441\u0430\u0431\u043c\u043e\u0434\u0443\u043b\u044f\u043c\r\n * \u0432\u0435\u0440\u0441\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043a\u043e\u0434\u0430 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f \u043f\u043e \u0432\u0435\u0440\u0441\u0438\u044f\u043c \u0431\u0435\u0437 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u0435\u0439\r\n\r\n![\u0410\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0440\u0430\u0431\u043e\u0442\u044b](https://github.com/saby-integration/v8unpack/blob/main/docs/stage.png?raw=true)\r\n\r\n\r\n## \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430\r\n\r\n pip install v8unpack\r\n\r\n\u0438\u043b\u0438 [\u0441\u043a\u0430\u0447\u0430\u0439\u0442\u0435 exe \u0444\u0430\u0439\u043b](https://github.com/saby-integration/v8unpack/raw/main/exe/v8unpack.exe)\r\n\r\n\u0415\u0441\u043b\u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442\u0435 \u0441 \u0442\u044f\u0436\u0435\u043b\u044b\u043c\u0438 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f\u043c\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 64-bit \u043f\u0438\u0442\u043e\u043d \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0445 \u0432\u0435\u0440\u0441\u0438\u0439.\r\n\r\n## \u0420\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u043a\u0430 \u0444\u0430\u0439\u043b\u0430 1\u0421\r\n\r\n\u0438\u0437 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438:\r\n\r\n v8unpack.exe -E d:/sample.cf d:/unpack\r\n\r\n\u0438\u0437 python:\r\n```python\r\nimport v8unpack\r\n\r\nif __name__ == '__main__':\r\n v8unpack.extract('d:/sample.cf', 'd:/unpack')\r\n```\r\n\r\n## \u0421\u0431\u043e\u0440\u043a\u0430 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432\r\n\r\n\u0438\u0437 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438:\r\n\r\n v8unpack.exe -B d:/unpack d:/repacked.cf\r\n\r\n\u0438\u0437 python:\r\n\r\n```python\r\nimport v8unpack\r\n\r\nif __name__ == '__main__':\r\n v8unpack.build('d:/unpack', 'd:/repacked.cf')\r\n```\r\n\r\n## \u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f\r\n\r\n[\u041f\u0435\u0440\u0435\u0445\u043e\u0434 \u043d\u0430 \u0441\u0431\u043e\u0440\u043a\u0443 \u0438\u0437 \u043e\u0434\u043d\u0438\u0445 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432](https://github.com/saby-integration/v8unpack/blob/main/docs/transition.md)\r\n\r\n[\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435](https://github.com/saby-integration/v8unpack/blob/main/docs/usage.md)\r\n\r\n[\u0418\u0441\u0442\u043e\u0440\u0438\u044f \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439](https://github.com/saby-integration/v8unpack/blob/main/docs/history.md)\r\n\r\n[\u0423\u0447\u0430\u0441\u0442\u0438\u0435](https://github.com/saby-integration/v8unpack/blob/main/docs/develop.md)\r\n\r\n## \u041e\u0442\u043b\u0430\u0434\u043a\u0430\r\n\r\n## \u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f\r\n\r\n\u0420\u0430\u0437\u043c\u0435\u0442\u043a\u0430 \u0444\u043e\u0440\u043c \u0438 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u043f\u043e \u043f\u0440\u0435\u0436\u043d\u0435\u043c\u0443 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043d\u0435 \u0447\u0438\u0442\u0430\u0435\u043c\u044b\u043c\u0438, \u043d\u043e \u0432 \u044d\u0442\u043e\u043c \u0432\u0438\u0434\u0435 \u043f\u0440\u043e\u0449\u0435 \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u0442\u044c \u0438\u0445 \r\n\u0430\u043d\u0430\u043b\u0438\u0437 \u0438 \u043f\u0440\u0438 \u0436\u0435\u043b\u0430\u043d\u0438\u0438 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u043f\u0430\u0440\u0441\u0435\u0440.\r\n\r\n\u041d\u0430 \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 [\u0443\u0442\u0438\u043b\u0438\u0442\u0430 \u043f\u043e\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u0432\u0441\u0435 \u0442\u0438\u043f\u044b \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u043d\u0443\u0436\u043d\u043e\u043c \u043d\u0430\u043c \u043e\u0431\u044a\u0435\u043c\u0435](https://github.com/saby-integration/v8unpack/blob/main/src/v8unpack/metadata_types.py), \r\n\u0435\u0441\u043b\u0438 \u0412\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0431\u043e\u043b\u0435\u0435 \u0434\u0435\u0442\u0430\u043b\u044c\u043d\u0430\u044f \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u043a\u0430 \u043a\u0430\u043a\u0438\u0445 \u0442\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u043d\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u0437\u0434\u0435\u0441\u044c \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u0435\r\n\u0438\u043b\u0438 \u0441\u0434\u0435\u043b\u0430\u0439\u0442\u0435 \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e, \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0440\u0430\u0434\u044b [\u043b\u044e\u0431\u043e\u043c\u0443 \u0443\u0447\u0430\u0441\u0442\u0438\u044e \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0435](https://github.com/saby-integration/v8unpack/blob/main/docs/develop.md).\r\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Unpacking binaries 1C to JSON for GIT",
"version": "0.19.1",
"project_urls": {
"Homepage": "https://github.com/saby-integration/v8unpack"
},
"split_keywords": [
"1c",
"cf",
"cfe",
"epf",
"v8unpack",
"saby",
"sbis",
"\u0441\u0431\u0438\u0441",
"1\u0441"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "bdb7946999a7a0b5096b726b938a988b2d1ec4ae74a4cf8bcedc195008bd3e2b",
"md5": "4e87e9337e1046c191cd745f8cce8ccf",
"sha256": "f7d17c5187b48ecb61f8daaec734f0ed1439c45015c5b46054d278a5b12340b1"
},
"downloads": -1,
"filename": "v8unpack-0.19.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "4e87e9337e1046c191cd745f8cce8ccf",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 131524,
"upload_time": "2024-06-03T04:46:49",
"upload_time_iso_8601": "2024-06-03T04:46:49.920511Z",
"url": "https://files.pythonhosted.org/packages/bd/b7/946999a7a0b5096b726b938a988b2d1ec4ae74a4cf8bcedc195008bd3e2b/v8unpack-0.19.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "4a8291f4fc067a029759dd6f320c99b8cd2a54d4b09fa5f17a943bdc8e05766d",
"md5": "faaab741e4fa7fff55c55ca4902921c7",
"sha256": "b02a6453ca0d3f95a29631324ade29e568a8f78d915379974b9ed6eb893cc463"
},
"downloads": -1,
"filename": "v8unpack-0.19.1.tar.gz",
"has_sig": false,
"md5_digest": "faaab741e4fa7fff55c55ca4902921c7",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 85928,
"upload_time": "2024-06-03T04:46:52",
"upload_time_iso_8601": "2024-06-03T04:46:52.331600Z",
"url": "https://files.pythonhosted.org/packages/4a/82/91f4fc067a029759dd6f320c99b8cd2a54d4b09fa5f17a943bdc8e05766d/v8unpack-0.19.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-06-03 04:46:52",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "saby-integration",
"github_project": "v8unpack",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "twine",
"specs": []
},
{
"name": "pyinstaller",
"specs": []
},
{
"name": "tqdm",
"specs": []
},
{
"name": "build",
"specs": []
}
],
"lcname": "v8unpack"
}