DT:Менеджер 8.1 (Распаковка/упаковка *.DT файлов. Быстрый экспорт CF)

Вскрывает (Распаковывает) формат *.DT. (по умолчанию "1cv8.dt")
Реализовано в виде внешнего приложения. Высокая скорость.
Полная обратная совместимость!!!
Версия 1.2. Теперь и удаление информации о пользователях !
Версия 1.3. Теперь и экспорт конфигурации (*.CF) из файла *.DT!
Версия 1.4. Теперь и поддержка командной строки!

для работы с платформой 8.2 (8.3) смотрим тут

Частенько бывает нужно из «1cv8.dt» что либо вытащить.
Теперь и это возможно 🙂

На выходе (после распаковки) один текстовый файл со знакомыми уже нам структурами 8.Х.

Новое в версии 1.2:

Добавлена возможность удалить информацию о пользователях в файле *.DT.

Как залить из dt, и зайти в базу не зная паролей пользователей?
Ведь после заливки дампа платформа перезапускается и показывает окно аунтефикации. и никак не зайдешь если не помнишь пароли.
Путь существует только один! Установить SQL сервер. Затем поднять «1С:Сервер».
Затем залить из dt дамп. Затем лезть в базу SQL и вручную все править, если конечно знаешь где править.
Кто сталкивался, тот знает что это целая проблема.
Теперь эта проблема решена!.

Новое в версии 1.3:

Добавлена возможность экспорта конфигурации из файла *.DT.
Причем есть возможность выбора экспортировать сведения о поддержке или нет.
Если сведения о поддержке не экспортировать, то файл СF для штатных конфигураций имеет значительно меньший размер.

Фактически возможность экспорта конфигурации из файла *.DT позволяет существенно сэкономить время.
Так для получения файла CF штатным образом имея *.DT, необходимо:
1) Создать чистую информационную базу
2) Загрузить данные из DT (займет очень много времени даже для средних по размеру архивов)
при этом происходит следующее:
……a) распаковывается весь файл DT (Очень длительно для больших DT файлов)
……b]б) заливается конфигурация
……в) Реструктуризируется БД
……г) Заливаются данные в таблицы БД (Очень длительно для больших DT файлов)
……д) Создаются и заполняются индексы (Очень длительно для больших DT файлов)
……е) Рассчитываются итоги и прочие служебные данные (Ну очен! очень! очень! длительно для больших DT файлов)
3) Экспортировать CF

Теперь экспорт можно осуществить в ДВА! клика мышкой. Скорость экспорта приятно удивит!
при этом задействуется пункт 2.a (Частично) , затем 3 .
То есть распаковали и сразу выгрузили.

Для экспорта CF реализован хитрый алгоритм только частично распаковывающий *.dt, который фактически снимает ограничения на размер обрабатываемого файла *.dt при экспорте конфигурации.

Новое в версии 1.4:
Добавлена поддержка командной строки. См файл «Работа с командной строкой.doc» в архиве.

Новое в версии 1.4 SP1:

Исправлен баг, из за которого выходной CF файл получался слишком большим.
Теперь вых.файл CF получается меньше чем у 1С выгрузки CF. 🙂

Новое в версии 1.4 SP2 04.08.2008:

Пересмотрен алгоритм экспорта в CF файл.
В результате скорость работы с экспортируемым CF файлом из среды 1С существенно увеличилась!

для работы с 1cv8.1CD смотрим //infostart.ru/projects/2891/

Не забываем плюсовать!

99 Comments

  1. YAN

    и в чем смысл этой программы 🙂

    Reply
  2. coder1cv8

    (1) +1

    Приведите пример использования на практике?…

    Reply
  3. German

    Да в принципе и раньше было возможно .. ну 1 файл это жесть!

    Reply
  4. German

    Пионером и лучшей программой в данной области был и есть v8Unpack… какой смысл еще что то писать? Такие программы интересны для пользователя (нажал кнопку и забыл), но не для программиста.

    Reply
  5. BorovikSV

    (3) German Что значит «1 файл это жесть» ? 🙂

    Reply
  6. BorovikSV

    (4) v8Unpack не умеет ведь работать с DT.

    Reply
  7. BorovikSV

    Нашел способ убрать информацию о пользователях из DT файла. Если нужно кому нить скажите добавлю в функционал.

    Reply
  8. BorovikSV

    Можно также в виде dll все оформить, чтобы в так сказать в родной среде все расковыривать 🙂

    Reply
  9. ex3mall

    ну с исследовательской точки зрения я понимаю — интересно…

    НО!

    Ну распаковал… и чо дальше? у меня у клиентов DT весят гигатоннами!!!! я чо — мальчик — ковырять эти каракули с уидами?

    :))

    Reply
  10. BorovikSV

    (9) Конечно ты отчасти прав 🙂 Но согласись львинная доля всего представленного здесь это чьи то исследования.

    Кто то парсит метаданные. Кто то пытается писать ВК, Active X. Кто то пытается писать ВК для того чтобы парсить метаданные 🙂

    Кто то исследует бухучет, торговлю, зарплату, обмены данными, сети, соединения и т.д. и т.п. А кто то исследует тех кто все это исследует 🙂

    Reply
  11. Хышник

    эх….исходник бы ешо……

    Reply
  12. theshadowco

    Архив битый (

    Reply
  13. mmj14

    (7) Для полноты картины добавь пожалуйста.

    Reply
  14. Yasen

    (12) Архив в порядке. Качай.

    Reply
  15. shachneff

    (7) Добавляй! Жутко интересно посмотреть!

    Reply
  16. JuliCOM

    (7) ага добавь возможность выкинуть пользователей. Нужно бывает 🙂

    Reply
  17. su_mai

    Просто класс… 😉 Спасибо

    Reply
  18. x-alexis

    согласен с ex3mall

    зачем нужен такой изврат?

    Reply
  19. Dolly_EV

    С 8-кой пока не работаю ,но видно ,что инструмент пригодится))) так что +

    Reply
  20. German

    Такими темпами у вас к августу будет свой конфигуратор. 🙂

    Reply
  21. Zlodey

    Покажи скрин что в итоге получим плиз, а то врубится не могу для чего это

    Reply
  22. BorovikSV

    (21) кажется все ясно даже из названия 🙂

    Reply
  23. BorovikSV

    Че то вопросов и комментариев нет

    Неужели теперь все всем понятно? 🙂

    Reply
  24. bov

    Очень удобная штука!))))

    Reply
  25. BorovikSV
    Код
    Если ВсегоПлюсов("ДТ:Менеджер")=100 Тогда
        ДобавитьПоддержкуКоманднойСтроки("ДТ:Менеджер");
        Сообщить("Версия 1.4: Теперь и поддержка командной строки!");
    КонецЕсли;
    

    Показать полностью

    Reply
  26. henry

    Добавь возможность создания *.dt Чаще бывает бух уходит с паролями. А *.dt-шек свежих нет/вообще нет

    Reply
  27. BorovikSV

    (26) что значит «возможность создания *.dt»?

    штатных возможностей не хватает?

    Reply
  28. A-tomic

    (27) Наверное *.1CD -> *.DT т. е. бекап файловой базы без монопольного режима 🙂

    Reply
  29. BorovikSV

    Люди.

    Подскажите незаконно модифицировать исполняемые файлы?

    или внутренние форматы *.CF, *.DT, *.1CD и т.д. тоже?

    А то неодназначно в личку намекают что мол нужно убрать разработку с общего доступа.

    Где то что видел про модификацию исполняемых файлов, а вот насчет внутренних форматах ничего вроде нигде не сказано.

    Кто что знает по этому поводу?

    Reply
  30. Yasen

    (29) Строго говоря, файлы ИБ и конфигурации являются собственностью владельца информации, то есть, формально ты чист.

    Скорее всего, карму портит 🙂 очистка списка пользователей. Понятно, что это серьезная дырка в информационной защите в целом и в реноме разработчиков в частности.

    ИМХО, если уберешь эту функцию из сборки — гонения должны прекратиться.

    А вообще — респект за удобную возможность быстро достать конфу из базы!

    Reply
  31. BorovikSV

    (30) Но ведь «очистка списка пользователей» — опять же моей базы! А если база моя — чего хочу то и делаю?

    Ведь если у тебя оказался dt чужой базы, ведь это проблемы администратора той базы. так помоему?

    Reply
  32. Totoro

    (29) Если сомневаешься добавь предупреждение перед использованием с продолжением работы только по согласию пользователя и текст лиценции в справку о программе.

    Классная вещь !!!

    Reply
  33. Белый

    До этого просто эксперементировал с этой штукой, а сегодня пришлось столкнуться именно с кучей боооольших .DTшников.

    Господа! Я в шоке от утилиты. ОГРОМНЫЙ РЕСПЕКТИЩЕ АВТОРУ! реально мне сэкономила день. Добавьте кто-нить от меня аще один плюсик! сам уже немогу 🙂

    Reply
  34. shachneff

    Необработанное исключение по нажатию кнопки «Вытащить конфигурацию», если пути к файлам не заполнены.

    Reply
  35. tormozit

    Делай командную строку.

    Reply
  36. BorovikSV

    (36) Если плюсов будет больше или равно 100 буду добавлять.

    Reply
  37. LelikOFF

    (37) с меня уже три плюсса.

    Пора уже ставить надпись

    Версия 1.4. Теперь и коммандная строка!!!

    Версия 1.5. Теперь и исходный код.

    Полезная программа, сам сегодня распаковывал туеву хучу архивов, для поиска разници в конфигурациях, а так из DT-шки ужно уже надо распаковывать около двух часов.

    СПАСИБА ++++++++++++++++++++ (а это двадцать плюсов к 80 имеющимся)))

    Reply
  38. BorovikSV

    (38) а плюсика че то не вижу 🙂

    Reply
  39. BorovikSV

    (40) кстати есть мысля соорудить небольшой ЭКПОЛОРЕР. Скажем для серфинга по архивам DT.

    Скажем такого вида таблица может быть:

    C:АРХИВ_БП_2008_01_22.DT | Бухгалтерия предприятия, редакция 1.6 (1.6.2.39) | 22.01.2008

    C:1cv8.DT | «Управление торговлей», редакция 10.2 (10.2.12.2) | 24.05.2008

    Разумеется для получения названия конфигурации придется все равно распоковывать часть DT, на что естественно требуется время.

    Так вот можно реализовать небольшой КЭШ который запомнит запомнит однажды вытащенное название конфигурации для конкретного DT архива.

    Унифицировать DT архивы можно по CRC32.

    Кто чего думает? Естественно если это нах. никому не надо, то и разговора быть не может. Кто согласен а писать коммент нехочет, плюсуйте этот коммент.

    Reply
  40. BorovikSV

    (40) убогая получилась табличка 🙂

    все отступы съел кто-то…

    Reply
  41. LelikOFF

    (39) Поиск рулит, adanilec, Leoligov, LelikOFF. Убрать?

    (40) внешняя компонента, для использования в 1с-ке с получением соответсвующей информации

    а ещё вообще заоблачное, (из ВК) получать значение запакованных объектов, у нас в одной конторе, по привычке часто хотят видеть, а что была с документов на такую-то дату, типа слишком грамотные, умеют журналом регистрации пользоваться.

    Reply
  42. LelikOFF

    так…. чувствую после этого

    Автор программы установил доступ к файлу только для других авторов с рейтингом не меньше 3

    будет 500 рублей или что-нибдь наподобе

    Reply
  43. BorovikSV

    (42) да ниче не надо убирать.

    теперь вижу. Просто искал в свежих плюсах 🙂

    (43) c рейтингом не меньше 3 — установил по насточивой просьбе tormozit.

    Он привел херову тучу доводов, что нужно бы хоть как нибудь ограничить распространение. Честно говоря, тот кто захочет скачать все равно скачает. По этому этот «порог» носит некий формальный характер.

    500 рублей не будет точно. Это бесплатная разработка.

    А вообще (судя по отзывам в личку) получилась не «домашняя» утилитка. т.е. для внутреннего использования а своего рода КРЯК к чужим архивам. Что сказать. Даже с помощью самой 1C 8.Х + DLL для работы с бинарными файлами можно сломать многие защитки. А если к 1С 8.Х добавить еще DLL для работы с реестром? а еще DLL для изменения текущего времени? Уже можно будет сломать ограничения по датам у целой кучи программ.

    Но ведь 1С это же не КРЯК?

    То же самое и здесь. Кто то будет что-то взламывать, а кто то будет применять исключительно для собственных архивов.

    И я никак не могу этому помешать.

    Reply
  44. BorovikSV

    да простит меня tormozit, убрал ограничения.

    Не вижу смысла. Все равно накрутят себе счетчик и скачают кому надо 🙂

    Reply
  45. coder1cv8

    А я вообще не понимаю что в этой утилите такого? Разве что пользователей убрать из dt, так это любой, хоть немножко умеющий пользоваться яндексом и так сможет… Разве что сначала придется загрузить dt, но это по большему счету ничего не меняет…

    Reply
  46. kraft

    херня несусветная

    Reply
  47. BorovikSV

    (47) почему? обоснуй

    Reply
  48. shachneff

    (0) Ну что, следующая версия в виде ВК для 1С 8? 🙂 Сколько плюсиков надо?

    Reply
  49. dima1c

    Класс ))) ++++

    Reply
  50. BorovikSV

    (49) На очереди выход продукта «STREAM:Менеджер».

    Это комплекс COM-Серверов. для работы с файловыми потоками, потоками в памяти и многое другое.

    Продукт позволит в самой среде 1С творить что угодно с двоичными файлами.

    Благодаря поддержке DEFLATE, BASE64 и прочих вкусностей, можно будет распаковывать и упаковывать многие форматы 1С.

    В пакет войдут внешние обработки демонстрирующие возможности 1С в паре с даннмы продуктом:

    1) *.EPF,*.ERF (Внешние обработки, Внешние отчеты)

    2) *.CF (Файлы конфигураций)

    3) *.DT (Файлы выгрузки базы)

    4) *.RES,*.HBK из каталога Program Files1cv82in (Ресурсные файлы хранящие систему помощи, синтаксический помощник и др.)

    С продуктом может работать 1С: Версии 7.7, 8.Х

    а также Delphi, C++, VB, Word, Excel.. и многие другие пакеты… 🙂

    Reply
  51. BorovikSV

    51+ Забыл дописать:

    Внешние обработки 1С, вошедшие в пакет, будут вскрывать, упаковывать и работать с нижеуказанными форматами.

    (*.EPF,*.ERF,*.CF,*.DT,*.RES,*.HBK)

    Reply
  52. vladadm

    Респект за оч полезную вещь!

    Reply
  53. imm0rtal

    весьма пользительно-)

    автору виват!

    Reply
  54. CERBER

    Спасибо. Полезная штука.

    Reply
  55. glinmn

    Спасибо Большое,

    НО хотелось бы еще одну галочку — оставить в конфигурации все что касается плана обмена (План и узлы).

    При созданни образов для филиалов из текущей рабочей конфигурации у меня уходит до 10 дней. А по Вашей технологии, с учетом доработок, думаю значительно быстрее

    Reply
  56. BorovikSV

    (56) Узлы хранятся уже в базе данных, а не конфигурации. Напиши в личку. Почему столько времени занимает процесс? Возможно и получится что либо придумать.

    Reply
  57. LelikOFF

    Были плюсы, а теперь камушек в огород, когда заметил огорчился. (свои три плюса убирать не буду)

    1. Платформа 8.1.11.67,

    2. Почти типовка УПП 1.2.16.1

    3. Файл DT — размеров 828Мбайт

    4. стандартный файл CF — 131МБайт

    5. Выгрузки из DT:Менеджер 1.3 и выше 172МБайта и 224Мбайта (с поддержкой и без неё)

    так вот камень при открытии файла CF в конфигруаторе стандартный открывается быстро, выгруженные открываются по полчаса и более, НЕПОРЯДОК получается, время экономим но не так быстро, хотелось бы получать нормальную выгрузку в CF

    Reply
  58. BorovikSV

    (58) Видимо что то лишнее захватил. У меня нет УПП, поэтому никак не могу проанализировать ситуацию 🙁

    Попробую поэксперементировать на бухгалтерии…

    Reply
  59. BorovikSV

    (58) Теперь файл меньше чем у 1С 🙂

    Reply
  60. BorovikSV

    (58) Насчет времени загрузки экспортируемых CF пока разбираюсь. Это становится заметно на больших и сверх больших конфигурациях (источник DT же может быть любого размера).

    Reply
  61. BorovikSV

    (58) Внес некие изменения. Опыты делал на УТ. Все летает вроде. 🙂

    Reply
  62. LelikOFF

    то же самое

    Reply
  63. LelikOFF

    (62) Могу дать обезличенную базу УПП для разбирательства. Только как?

    Reply
  64. BorovikSV

    Спасибо не надо 🙂 На БП вроде уже долговато. Нушел пару отличий в CF пока смотрю на логику выгрузки самой 1С.

    Дуаю до конца неделю приведу к оригинальной выгрузке 🙂

    Reply
  65. LelikOFF

    похоже проект помер

    Reply
  66. BorovikSV

    (64) Проект не помер 🙂 Просто руки все не дойдут 🙂

    Reply
  67. zag2art

    У меня вот какая мысль:

    dt = cf + данные

    Так вот, ваша утилита делает из dt файлы cfю И делает это довольно хорошо. У меня есть предложение доделать утилиту, чтоб она еще могла делать из dt-файла отдельный файлик с данными, а так же сливать данные + cf в dt-файл. Как мне представляется тогда ваша утилита обретет функциональность большую чем 1С-платформа, она её перерастет по всем параметрам.

    Reply
  68. zag2art

    Да и еще одна возможность — народ требует. Перегрузка из cf-файла в cf с возможностью фильтрации по подсистемам.

    Reply
  69. BorovikSV

    (69) >>Перегрузка из cf-файла в cf с возможностью фильтрации по подсистемам.

    Вероятно имеете подразумеваете только частичную выгрузку метаданных?

    (68) по разчленению DT на CF и данные мысли были. Но какой смысл это делать? Ведь данные с «Чужим»CF все равно не сцепишь так, чтобы потом загрузила платформа. Может не так понял. Поясните.

    Reply
  70. zag2art

    (70) Первое — вы правы: частичная выгрузка cf-файла

    Второе — например у меня возникала такая необходимость. При обсуждении документооборота, я ставлю, например, с нуля упп, делаю 10 документов и отправляю все это дело dt-файликом, можно наверное все выгрузить в xml, но можно и так, как я описал в (68)

    Reply
  71. MRAK

    (71) 1. Была бы очень нужная фишка….

    2. Нахрен не надо. Проще XML сделать, чем автора этим грузить…

    Reply
  72. Fargoth

    А что с распакованным файлом то делать?

    Reply
  73. BorovikSV

    (73) Что душе угодно 🙂

    Reply
  74. vic777tor

    ****************цитата*******************

    Путь существует только один! Установить SQL сервер. Затем поднять «1С:Сервер».

    ****************конец цитаты*************

    существует более простой путь, я им всегда пользуюсь.

    открывается файл 1Cv8.1CD в каком- нибудь hex — редакторе и с помощью замены одного бита снимается проверка пароля при входе. если нужно сохранить существующих пользователей — этот бит при открытом конфигураторе возвращается на место, затем открывается список пользователей и у любого пользователя заменяется пароль.

    Reply
  75. BorovikSV

    (75) Путь с SQL сервером — проделает человек обладающий базовыми знаниями.

    Ваш же путь подразумевает что человек знает в какой позиции находится этот бит.

    Разумеется способов много. Также можно с помощью отладчика найти точку входа

    в соответствующую функцию соответствующей DLL. Написать свой hook и т.д.

    Можно на машину администратора установить клавиатурный шпион чтобы узнать пароли и т.д.

    Reply
  76. BorovikSV

    Кстати вчера DT:Менеджер помог вытащить конфигурацию из DT выгруженного старой платформой. Базовыми средствами незя. Платформа ругается на версию. А так все получаилось 🙂

    Reply
  77. artbear

    А как быть с клиент-серверной версией?

    Reply
  78. BorovikSV

    (78) А причем тут клиент сервер?

    Reply
  79. Sol

    (65) SP3 будет? 😉

    Reply
  80. BorovikSV

    (80) SP3 с какими новшествами желаете?

    Reply
  81. Sol

    (81) Ну я глядя на (65) пост писал, цитата

    Спасибо не надо 🙂 На БП вроде уже долговато. Нушел пару отличий в CF пока смотрю на логику выгрузки самой 1С.

    Дуаю до конца неделю приведу к оригинальной выгрузке 🙂

    Т.е. оставались какие-то проблемы производительности выгруженных cf-ников, обещался новый релиз (про срок умолчим 😉

    Т.ч. ждем пока всего ничего, ну разве что, то что было указано в (40) можно было бы ещё сделать — но это уже не SP3, а полноценный релиз 1.5.

    Про (51) пока не вспоминаем, т.к. видим что проект опять пошел, судя по http://infostart.ru/projects/2891/ и возможно когда-нибудь будет и то, что обещано там =)

    Reply
  82. abc2000

    Отличная вещица, особенно с удалением пользователей понравилось. Интересно, а поделиться структурой хранения файлов 1С со всеми, в планах есть ?

    Reply
  83. BorovikSV

    (83) Если в трех словах рассказать, то все равно будет не понятно. А если документацию по форматам описывать — то свободного времени нет.

    Эльтруизм — это роскошь для меня. Мне семью кормить нужно 🙂

    Reply
  84. wolder

    А можно организовать своеобразное тестирование и исправление DTшника??

    Reply
  85. tojocky

    (84) большенство здесь программисты… каторые понимаем в исходниках! таким оброзам может и ускорем процес с работой 1С форматом!

    Здесь есть два варианты:

    1.работать медленно самостоятельно

    2. или ускорить процесс в колектив!

    Я предпочитал бы второй вариант!

    Reply
  86. BorovikSV

    (85) что исправлять?

    Reply
  87. MMF

    По поводу скорости загрузки выгруженного cf — 1С при открытии хранилища проверяет факт сортировки потоков по возрастанию, если нет таковой — все последующие операции с потоками выполняются перебором. Разница в скорости — на порядок.

    Reply
  88. tojocky

    Кто-то еще распакововал dt файл?

    это и всем понятьно что первые 8 байт это «1CIBDmpF» а остольные? интересно разузнать заголовок этого файла.

    Я так понимаю что должно стоить версия файла и размер буфера. точно незнаю!

    Буду очень признателен узнать!

    Reply
  89. tojocky

    удевительно! в failmon показывает что сперва копирует первые 9 байтов (это «1CIBDmpF1»).. а после этого копирует блоки по 32768 и дезархивирует до окончание файла.

    Reply
  90. BorovikSV

    Первый блок «1CIBDmpF1» -всегда 9 байт.

    Затем идут данные сжатые DEFLATE.

    Reply
  91. BorovikSV

    Другими словами забудь про первые 9 байтов. Расжимый DEFLATE сразу — остальные, и будет счастье!

    Reply
  92. wolder

    (87) битые DTшники, ну в любом случае вытаскивать из него всё что возможно… и тестировать на корректность записей..

    Reply
  93. tojocky

    остнольные блоки по 32768байт? или там что-то еще есть?

    Reply
  94. tojocky

    (92)Сергей, остальные данные после 9 байтов архивированные данные по блокам или один блок до конца файла?

    Reply
  95. tojocky

    Все работает!…. были проблеммы с функцией inflateInit2!

    Спасибо всетаки за подсказку!

    Reply
  96. ByByKa

    «(49) На очереди выход продукта «STREAM:Менеджер».

    Это комплекс COM-Серверов. для работы с файловыми потоками, потоками в памяти и многое другое.

    Продукт позволит в самой среде 1С творить что угодно с двоичными файлами.

    Благодаря поддержке DEFLATE, BASE64 и прочих вкусностей, можно будет распаковывать и упаковывать многие форматы 1С.

    В пакет войдут внешние обработки демонстрирующие возможности 1С в паре с даннмы продуктом:

    1) *.EPF,*.ERF (Внешние обработки, Внешние отчеты)

    2) *.CF (Файлы конфигураций)

    3) *.DT (Файлы выгрузки базы)

    4) *.RES,*.HBK из каталога Program Files1cv82in (Ресурсные файлы хранящие систему помощи, синтаксический помощник и др.)»

    НЕ ПОЯВИЛАСЬ ЕЩЕ РАЗРОБОТОЧКА?

    Reply
  97. BorovikSV

    (105) Это все легко — было бы хоть немного отдачи. А так — банально нет времени.

    Reply
  98. VitaliyPovod
    borovikSV пишет:

    (9) Конечно ты отчасти прав Но согласись львинная доля всего представленного здесь это чьи то исследования.

    Кто то парсит метаданные. Кто то пытается писать ВК, Active X. Кто то пытается писать ВК для того чтобы парсить метаданные

    Кто то исследует бухучет, торговлю, зарплату, обмены данными, сети, соединения и т.д. и т.п. А кто то исследует тех кто все это исследует

    +1 🙂

    Reply
  99. KAV2

    (10) Без исходников не то.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *