Вход | Регистрация
 
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 или кнопку "Обновить" в браузере.
Рекламное место пустует