Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Что это за формат и как его прочитать?

Что это за формат и как его прочитать?
Я
   Euroset1
 
16.12.18 - 03:53
В этом формате скрытые модули (запароленные). В этом формате старый журнал регистрации. В этом формате какие-то структуры данных, из которых я выдрал кусок ниже. Что это? Сохраненный результат сериализации или что-то еще?
Просто мне нужно нечто подобное прочитать, чтобы потом работать как с объектом. А раз так, то может кто-то знает, как это сделать, не придумывая велосипед?


{"#",51e7a0d2-530b-11d4-b98a-008048da3034,
{1144,
{"#",4238019d-7e49-4fc9-91db-b6b951d5cf8e,
{4,
{
{"S","Номенклатура"},
{"#",4b1b49cb-5430-4f80-9818-a1cef1b3d410,116:80e1b083fee00c3a11e80a59363dac8d}
},
{
{"S","Организация"},
{"#",a1af1af2-f26f-40c9-a516-a66ff64531ed,124:80ddb083fee00c3a11e7fc5ef3a165cf}
},
{
{"S","СтруктурнаяЕдиница"},
{"#",2690b154-7e54-4c58-a3d7-fcb8ae5b5bdb,194:80ddb083fee00c3a11e7fc5205921874}
},
 
 
   youalex
 
1 - 16.12.18 - 03:55
я бы попробовал ЗначениеИзСтрокиВнутр()
   Злопчинский
 
2 - 16.12.18 - 05:29
(1) присоединяюсь
   MSOliver
 
3 - 16.12.18 - 06:59
ЭТО Сериализация
   Euroset1
 
4 - 20.12.18 - 02:31
Ну как я понял, после решетки всегда идет гуид типа, а далее идет непосредственное значение. И внутри значения уже, если это коллекция, идет еще и размер, а за ним элементы.

А если нужно например прочитать байт-код или старый 8.2 журнал регистрации, то вылезает ошибка формата потока. Что, только парсить остается?
   Chameleon1980
 
5 - 20.12.18 - 04:21
начнем так:

ты где это взял?

может - отнеси назад? :)
   Мыш
 
6 - 20.12.18 - 08:44
Структуры, массивы, коллекции данных.
   Euroset1
 
7 - 20.12.18 - 08:57
(5) У себя же и взял. Купленная конфа - закрытый модуль оттуда. Алгоритм декодирования понятен, но парсить влом (быстродействие заведомо ниже). Журналы регистрации 8.2 один в один тот же формат. А кусок приведенного примера - это случайно найденный в закромах файлик, который и натолкнул на мысль типа "а может это можно и не парсить вовсе".

Но увы, пока что убиделся, что ЗначениеВСтрокуВнутр любой даже массив или структуру записывает с указанием типа через решетку. А ноунейм коллекции как в байт-коде или журнале регистрации ЗначениеИзСтрокиВнутр читать не хочет...
   Мыш
 
8 - 20.12.18 - 09:09
(7) Только парсить. Специально предусмотренных методов - нет.
   hhhh
 
9 - 20.12.18 - 09:09
(7) если всё официально куплено, зачем тогда декодировать закрытые модули.

К тому же если ты знаешь что делает модуль, проще и дешевле написать свой такой же, а закрытый выбросить.
   Chameleon1980
 
10 - 20.12.18 - 09:15
XDTO со ссылками :)
   Serg_1960
 
Модератор
11 - 20.12.18 - 09:17
Предупреждение:
4. Не публикуйте алгоритмы взлома и ссылки на такие алгоритмы, а также всевозможные "патчи", "крэки", "эмуляторы", "серийные номера", "коды активации" и т.д.
   Базис
 
13 - 20.12.18 - 09:23
Публикации тут нет. Исследование - есть, это нужно для понимания устройства и написания правильного (быстрого и лёгкого) кода.

В GUID внутри одной базы всегда есть повторяющийся фрагмент, идентификатор базы. У разных элементов одного справочника и фрагмент, обозначающий этот справочник, одинаковый.
Здесь же не нашёл глазами ни одного повторяющегося фрагмента.
   Мыш
 
14 - 20.12.18 - 09:25
(13) 80ddb083fee00c3a11e7fc
   Serg_1960
 
15 - 20.12.18 - 09:27
(13) Да ради бога, обсуждайте что хотите, но только не тему "Как декодировать закрытый модуль" - это нарушение авторского права.
   novichok79
 
16 - 20.12.18 - 09:27
а чего сообщение то потерли?
так то ясно что если там написано Организация, то это скорее всего ссылка на организацию. берешь, получаешь GUID Организации, можно еще посмотреть как в Ref полях в SQL этот GUID записывается и сравнивать со значениями в полях структуры (мне почему-то кажется, что это - структура)
   Мыш
 
17 - 20.12.18 - 09:28
(16) Не, скорее соответствие. Оно же "Map". Ключи не строковые )
   novichok79
 
18 - 20.12.18 - 09:29
и да, повторю еще раз, я не верю, что человек, который работает в 1С 8 лет, ни разу не видел подобных коллекций!
   Serg_1960
 
19 - 20.12.18 - 09:30
(16) Согласно правила "Не переходить на личности."
   ptiz
 
20 - 20.12.18 - 09:31
(4) Непонятно, что у тебя за проблемы.
Текст - чистое ЗначениеВСтрокуВнутр.
Конкретно этот пример: массив, содержащий 1144 элементов, а первый из них - структура (дальше не видно).
   Мыш
 
21 - 20.12.18 - 09:31
(18) Можешь не верить, но это норма (цы)
   novichok79
 
22 - 20.12.18 - 09:32
(19) не, ну тогда надо половину форума подтереть. тут постоянно переходят на личности.
   novichok79
 
23 - 20.12.18 - 09:35
(21) имхается мне, что это какая-то дичь. на ИС даже был парсер подобных коллекций, мне кажется. там чувак правил настройки СКД кажется.
   Мыш
 
24 - 20.12.18 - 09:35
(22) Ну как маленький. Всех перевешать нереально, а периодический показательный расстрел устроить - полезно. )
   Serg_1960
 
25 - 20.12.18 - 09:36
(18) "Специалист подобен флюсу: полнота его односторонняя"(цы)

(имхо) На форуме постоянно возникают вопросы по РИБ. Как по мне, - так эта тема проще паренной репы :) Но есть много тех, кто с Распределенными Информационными Базами не сталкивался в своей практике и имеет только чисто теоретические представления об этом далёкие от практики реализации в типовых конфигурациях.
   novichok79
 
26 - 20.12.18 - 09:36
(24) у меня обычная пессимистичная логика - либо все, либо ничего.
   Мыш
 
27 - 20.12.18 - 09:37
(26) Обычный юношеский максимализм
   novichok79
 
28 - 20.12.18 - 09:38
(27) ко-ко-ко...
   Serg_1960
 
29 - 20.12.18 - 09:39
(26) Намекаю: Вы опасно близко к нарушению правила №8. Вернитесь к теме автора.
   novichok79
 
30 - 20.12.18 - 09:40
(29) ок
 
 Рекламное место пустует
   novichok79
 
31 - 20.12.18 - 09:41
накопрокодил вот такое:

    Карта = Новый Соответствие;
    
    Карта.Вставить("Номенклатура", Объект.Номенклатура);
    Карта.Вставить("Организация", Объект.Организация);
    Карта.Вставить("СтруктурнаяЕдиница", Объект.СтруктурнаяЕдиница);

    КартаТекст = ЗначениеВСтрокуВнутр(Карта);
    
    Словарь = Новый Структура;
    
    Словарь.Вставить("Номенклатура", Объект.Номенклатура);
    Словарь.Вставить("Организация", Объект.Организация);
    Словарь.Вставить("СтруктурнаяЕдиница", Объект.СтруктурнаяЕдиница);

    СловарьТекст = ЗначениеВСтрокуВнутр(Словарь);
   novichok79
 
32 - 20.12.18 - 09:41
КартаТекст =
{"#",3d48feae-a9c6-4c5a-a099-9eb6477630c6,
{3,
{
{"S","Номенклатура"},
{"#",190a7469-3325-4d33-b5ec-28a63ac83b06,215:af150015e9b8c48d11e050911643ef2e}
},
{
{"S","Организация"},
{"#",55adb97e-a84e-453e-8020-7665bb2abdef,230:8e500050568b35ac11e7fac34c095da9}
},
{
{"S","СтруктурнаяЕдиница"},
{"#",7632c6fe-8cac-4d68-a50a-5714e18b1fec,42:8e500050568b35ac11e7fc56d018d71c}
}
}
}
   novichok79
 
33 - 20.12.18 - 09:42
СловарьТекст = 
{"#",4238019d-7e49-4fc9-91db-b6b951d5cf8e,
{3,
{
{"S","Номенклатура"},
{"#",190a7469-3325-4d33-b5ec-28a63ac83b06,215:af150015e9b8c48d11e050911643ef2e}
},
{
{"S","Организация"},
{"#",55adb97e-a84e-453e-8020-7665bb2abdef,230:8e500050568b35ac11e7fac34c095da9}
},
{
{"S","СтруктурнаяЕдиница"},
{"#",7632c6fe-8cac-4d68-a50a-5714e18b1fec,42:8e500050568b35ac11e7fc56d018d71c}
}
}
}
   novichok79
 
34 - 20.12.18 - 09:43
ха, прикольно. они ничем не отличаются кроме UID типа. 1С, почему вы не напишите уже наконец платформенную функцию СоответствиеВСтруктуру и наоборот?
   Tonik992
 
35 - 20.12.18 - 09:43
(15) Уточнить.
Закрытие кода автоматически присваивает коду статус "авторское право" ?
   novichok79
 
36 - 20.12.18 - 09:47
(0) имхается мне, что это у тя массив структур.

Словарь = Новый Структура;
   
Словарь.Вставить("Номенклатура", Объект.Номенклатура);
Словарь.Вставить("Организация", Объект.Организация);
Словарь.Вставить("СтруктурнаяЕдиница", Объект.СтруктурнаяЕдиница);
   Lama12
 
37 - 20.12.18 - 09:55
(35) Авторское право присваивается даже если код не закрыт :-) Даже вот на этот самый текс имеется мое авторское право. ;-) Это по закону ГК 2 часть.
(0) А если там соль? Я бы, если б закрывал модуль, обязательно соль добавил бы. Даже в ущерб быстродействию.
   novichok79
 
38 - 20.12.18 - 09:56
вот этот кусок в начале тоже намекает что это какой-то UID типа

{"#",51e7a0d2-530b-11d4-b98a-008048da3034,
{1144,
   Serg_1960
 
39 - 20.12.18 - 10:01
(35) Уточняю: меню "Сервис" - "О программе"
Поставщик конфигурации имеет право закрыть доступ к изменению части кода. Конкретные права(правила) поставщика можно посмотреть в "Конфигурация" - "Поддержка" - "Настройка поддержки".
   Tonik992
 
40 - 20.12.18 - 10:05
(37) Тем более. раз уж так. Тогда и открытый код нельзя обсуждать и использовать его в своих целях, т.к. это нарушение авторского права.
А то, что модуль стал закрытым, не несет никакой дополнительной правовой нагрузки.
   novichok79
 
41 - 20.12.18 - 10:15
мля, не увидел (20) мужик, ты - гений десериализации 1С.
   catena
 
42 - 20.12.18 - 10:15
(36)Если прочитать посты автора внимательно, приведенный кусок автору декодировать вовсе и не нужно...
   novichok79
 
43 - 20.12.18 - 10:21
(42) автор просил "нечто подобное прочитать, чтобы потом работать как с объектом."
   Serg_1960
 
44 - 20.12.18 - 11:38
(40) "не несет никакой дополнительной правовой нагрузки."
Закрытие исходного кода - это программная защита. пользовательским соглашением запрещено:
- использование "средств, изменяющих алгоритм работы программных или аппаратных средств защиты Продукта";
- "использовать Продукт с устраненными или измененными без разрешения Правообладателя средствами защиты";
- "восстанавливать исходный код, декомпилировать и/или деассемблировать программную часть Продукта, за исключением тех случаев, и лишь в той степени, в какой такая деятельность специально разрешена действующим законодательством РФ.".
   hhhh
 
45 - 20.12.18 - 11:49
(44) ну, в (0) код не закрыт. А полностью открыт. Значит ничего не нарушаем. Просто пытаемся понять кусок программы.
   Serg_1960
 
46 - 20.12.18 - 12:41
(45) См.(15)
   catena
 
47 - 20.12.18 - 13:55
(43)Да, а "нечто подобное" у него - модуль. Сомневаюсь, что там прокатит какое-либо ЗначениеВСтрокуВнутр
   novichok79
 
48 - 20.12.18 - 14:56
(47) дык всем (опытному 1серу) известно же о том, как это расшифровать, но говорить об этом я конечно же не буду.


Список тем форума
Рекламное место пустует  Рекламное место пустует
Пользователь не знает, чего он хочет, пока не увидит то, что он получил.
Э. Йодан
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.