|   |   | 
| 
 | Что это за формат и как его прочитать? | ☑ | ||
|---|---|---|---|---|
| 0
    
        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} }, | |||
| 1
    
        youalex 16.12.18✎ 03:55 | 
        я бы попробовал ЗначениеИзСтрокиВнутр()     | |||
| 2
    
        Злопчинский 16.12.18✎ 05:29 | 
        (1) присоединяюсь     | |||
| 3
    
        MSOliver 16.12.18✎ 06:59 | 
        ЭТО Сериализация     | |||
| 4
    
        Euroset1 20.12.18✎ 02:31 | 
        Ну как я понял, после решетки всегда идет гуид типа, а далее идет непосредственное значение. И внутри значения уже, если это коллекция, идет еще и размер, а за ним элементы. 
 А если нужно например прочитать байт-код или старый 8.2 журнал регистрации, то вылезает ошибка формата потока. Что, только парсить остается? | |||
| 5
    
        Chameleon1980 20.12.18✎ 04:21 | 
        начнем так:
 ты где это взял? может - отнеси назад? :) | |||
| 6
    
        Мыш 20.12.18✎ 08:44 | 
        Структуры, массивы, коллекции данных.     | |||
| 7
    
        Euroset1 20.12.18✎ 08:57 | 
        (5) У себя же и взял. Купленная конфа - закрытый модуль оттуда. Алгоритм декодирования понятен, но парсить влом (быстродействие заведомо ниже). Журналы регистрации 8.2 один в один тот же формат. А кусок приведенного примера - это случайно найденный в закромах файлик, который и натолкнул на мысль типа "а может это можно и не парсить вовсе".
 Но увы, пока что убиделся, что ЗначениеВСтрокуВнутр любой даже массив или структуру записывает с указанием типа через решетку. А ноунейм коллекции как в байт-коде или журнале регистрации ЗначениеИзСтрокиВнутр читать не хочет... | |||
| 8
    
        Мыш 20.12.18✎ 09:09 | 
        (7) Только парсить. Специально предусмотренных методов - нет.     | |||
| 9
    
        hhhh 20.12.18✎ 09:09 | 
        (7) если всё официально куплено, зачем тогда декодировать закрытые модули.
 К тому же если ты знаешь что делает модуль, проще и дешевле написать свой такой же, а закрытый выбросить. | |||
| 10
    
        Chameleon1980 20.12.18✎ 09:15 | 
        XDTO со ссылками :)     | |||
| 11
    
        Serg_1960 модератор 20.12.18✎ 09:17 | 
        Предупреждение:
 4. Не публикуйте алгоритмы взлома и ссылки на такие алгоритмы, а также всевозможные "патчи", "крэки", "эмуляторы", "серийные номера", "коды активации" и т.д. | |||
| 13
    
        Базис naïve 20.12.18✎ 09:23 | 
        Публикации тут нет. Исследование - есть, это нужно для понимания устройства и написания правильного (быстрого и лёгкого) кода.
 В GUID внутри одной базы всегда есть повторяющийся фрагмент, идентификатор базы. У разных элементов одного справочника и фрагмент, обозначающий этот справочник, одинаковый. Здесь же не нашёл глазами ни одного повторяющегося фрагмента. | |||
| 14
    
        Мыш 20.12.18✎ 09:25 | 
        (13) 80ddb083fee00c3a11e7fc     | |||
| 15
    
        Serg_1960 20.12.18✎ 09:27 | 
        (13) Да ради бога, обсуждайте что хотите, но только не тему "Как декодировать закрытый модуль" - это нарушение авторского права.     | |||
| 16
    
        novichok79 20.12.18✎ 09:27 | 
        а чего сообщение то потерли?
 так то ясно что если там написано Организация, то это скорее всего ссылка на организацию. берешь, получаешь GUID Организации, можно еще посмотреть как в Ref полях в SQL этот GUID записывается и сравнивать со значениями в полях структуры (мне почему-то кажется, что это - структура) | |||
| 17
    
        Мыш 20.12.18✎ 09:28 | 
        (16) Не, скорее соответствие. Оно же "Map". Ключи не строковые )     | |||
| 18
    
        novichok79 20.12.18✎ 09:29 | 
        и да, повторю еще раз, я не верю, что человек, который работает в 1С 8 лет, ни разу не видел подобных коллекций!     | |||
| 19
    
        Serg_1960 20.12.18✎ 09:30 | 
        (16) Согласно правила "Не переходить на личности."     | |||
| 20
    
        ptiz 20.12.18✎ 09:31 | 
        (4) Непонятно, что у тебя за проблемы.
 Текст - чистое ЗначениеВСтрокуВнутр. Конкретно этот пример: массив, содержащий 1144 элементов, а первый из них - структура (дальше не видно). | |||
| 21
    
        Мыш 20.12.18✎ 09:31 | 
        (18) Можешь не верить, но это норма (цы)     | |||
| 22
    
        novichok79 20.12.18✎ 09:32 | 
        (19) не, ну тогда надо половину форума подтереть. тут постоянно переходят на личности.     | |||
| 23
    
        novichok79 20.12.18✎ 09:35 | 
        (21) имхается мне, что это какая-то дичь. на ИС даже был парсер подобных коллекций, мне кажется. там чувак правил настройки СКД кажется.     | |||
| 24
    
        Мыш 20.12.18✎ 09:35 | 
        (22) Ну как маленький. Всех перевешать нереально, а периодический показательный расстрел устроить - полезно. )     | |||
| 25
    
        Serg_1960 20.12.18✎ 09:36 | 
        (18) "Специалист подобен флюсу: полнота его односторонняя"(цы)
 (имхо) На форуме постоянно возникают вопросы по РИБ. Как по мне, - так эта тема проще паренной репы :) Но есть много тех, кто с Распределенными Информационными Базами не сталкивался в своей практике и имеет только чисто теоретические представления об этом далёкие от практики реализации в типовых конфигурациях. | |||
| 26
    
        novichok79 20.12.18✎ 09:36 | 
        (24) у меня обычная пессимистичная логика - либо все, либо ничего.     | |||
| 27
    
        Мыш 20.12.18✎ 09:37 | 
        (26) Обычный юношеский максимализм     | |||
| 28
    
        novichok79 20.12.18✎ 09:38 | 
        (27) ко-ко-ко...     | |||
| 29
    
        Serg_1960 20.12.18✎ 09:39 | 
        (26) Намекаю: Вы опасно близко к нарушению правила №8. Вернитесь к теме автора.     | |||
| 30
    
        novichok79 20.12.18✎ 09:40 | 
        (29) ок     | |||
| 31
    
        novichok79 20.12.18✎ 09:41 | 
        накопрокодил вот такое:
 Карта = Новый Соответствие; Карта.Вставить("Номенклатура", Объект.Номенклатура); Карта.Вставить("Организация", Объект.Организация); Карта.Вставить("СтруктурнаяЕдиница", Объект.СтруктурнаяЕдиница); КартаТекст = ЗначениеВСтрокуВнутр(Карта); Словарь = Новый Структура; Словарь.Вставить("Номенклатура", Объект.Номенклатура); Словарь.Вставить("Организация", Объект.Организация); Словарь.Вставить("СтруктурнаяЕдиница", Объект.СтруктурнаяЕдиница); СловарьТекст = ЗначениеВСтрокуВнутр(Словарь); | |||
| 32
    
        novichok79 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} } } } | |||
| 33
    
        novichok79 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} } } } | |||
| 34
    
        novichok79 20.12.18✎ 09:43 | 
        ха, прикольно. они ничем не отличаются кроме UID типа. 1С, почему вы не напишите уже наконец платформенную функцию СоответствиеВСтруктуру и наоборот?     | |||
| 35
    
        Tonik992 20.12.18✎ 09:43 | 
        (15) Уточнить.
 Закрытие кода автоматически присваивает коду статус "авторское право" ? | |||
| 36
    
        novichok79 20.12.18✎ 09:47 | 
        (0) имхается мне, что это у тя массив структур.
 Словарь = Новый Структура; Словарь.Вставить("Номенклатура", Объект.Номенклатура); Словарь.Вставить("Организация", Объект.Организация); Словарь.Вставить("СтруктурнаяЕдиница", Объект.СтруктурнаяЕдиница); | |||
| 37
    
        Lama12 20.12.18✎ 09:55 | 
        (35) Авторское право присваивается даже если код не закрыт :-) Даже вот на этот самый текс имеется мое авторское право. ;-) Это по закону ГК 2 часть.
 (0) А если там соль? Я бы, если б закрывал модуль, обязательно соль добавил бы. Даже в ущерб быстродействию. | |||
| 38
    
        novichok79 20.12.18✎ 09:56 | 
        вот этот кусок в начале тоже намекает что это какой-то UID типа
 {"#",51e7a0d2-530b-11d4-b98a-008048da3034, {1144, | |||
| 39
    
        Serg_1960 20.12.18✎ 10:01 | 
        (35) Уточняю: меню "Сервис" - "О программе"
 Поставщик конфигурации имеет право закрыть доступ к изменению части кода. Конкретные права(правила) поставщика можно посмотреть в "Конфигурация" - "Поддержка" - "Настройка поддержки". | |||
| 40
    
        Tonik992 20.12.18✎ 10:05 | 
        (37) Тем более. раз уж так. Тогда и открытый код нельзя обсуждать и использовать его в своих целях, т.к. это нарушение авторского права.
 А то, что модуль стал закрытым, не несет никакой дополнительной правовой нагрузки. | |||
| 41
    
        novichok79 20.12.18✎ 10:15 | 
        мля, не увидел (20) мужик, ты - гений десериализации 1С.     | |||
| 42
    
        catena 20.12.18✎ 10:15 | 
        (36)Если прочитать посты автора внимательно, приведенный кусок автору декодировать вовсе и не нужно...     | |||
| 43
    
        novichok79 20.12.18✎ 10:21 | 
        (42) автор просил "нечто подобное прочитать, чтобы потом работать как с объектом."     | |||
| 44
    
        Serg_1960 20.12.18✎ 11:38 | 
        (40) "не несет никакой дополнительной правовой нагрузки."
 Закрытие исходного кода - это программная защита. пользовательским соглашением запрещено: - использование "средств, изменяющих алгоритм работы программных или аппаратных средств защиты Продукта"; - "использовать Продукт с устраненными или измененными без разрешения Правообладателя средствами защиты"; - "восстанавливать исходный код, декомпилировать и/или деассемблировать программную часть Продукта, за исключением тех случаев, и лишь в той степени, в какой такая деятельность специально разрешена действующим законодательством РФ.". | |||
| 45
    
        hhhh 20.12.18✎ 11:49 | 
        (44) ну, в (0) код не закрыт. А полностью открыт. Значит ничего не нарушаем. Просто пытаемся понять кусок программы.     | |||
| 46
    
        Serg_1960 20.12.18✎ 12:41 | 
        (45) См.(15)     | |||
| 47
    
        catena 20.12.18✎ 13:55 | 
        (43)Да, а "нечто подобное" у него - модуль. Сомневаюсь, что там прокатит какое-либо ЗначениеВСтрокуВнутр     | |||
| 48
    
        novichok79 20.12.18✎ 14:56 | 
        (47) дык всем (опытному 1серу) известно же о том, как это расшифровать, но говорить об этом я конечно же не буду.     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |