как ломануть 1C 8.3 for Linux
X

Привет дорогой друг

Наш сайт существует и развиваетется за счет рекламы. Пожалуйста, отключите блокировку рекламы AdBlock или подобное, для нашего сайта. Спасибо!
Показано с 1 по 10 из 1273

Комбинированный просмотр

  1. #1
    Спец PRO
    Аватар для HPDX2300
    Регистрация
    18.04.2018
    Адрес
    HP-Compaq DX2300 microtower PC
    Сообщений
    249
    Сказал(а) спасибо
    69
    Поблагодарили 1811 раз(а) в 395 сообщениях

    По умолчанию Re: как ломануть 1C 8.3 for Linux

    Цитата Сообщение от alexandr_ll
    Для изменения формата базы данных в программе 1С есть штатная утилита cnvdbfl.exe
    1) cd "C:\Program Files\1cv8\8.x.xx.xxxx\bin" - Переходим в папку bin с платформой
    2) cnvdbfl.exe -c -f 8.2.14 "ваш_путь_к_базе\1Cv8.1CD" - конвертируем файл бд в формат 8.2.14 - это займет время - терпеливо ждем
    3) В Tool_1CD открываем файловую БД "1Cv8.1CD"
    1Cv8.1CD -> "config" -> "versions" (Редактировать таблицу "config" -> Удалить запись "versions") и другое
    4) Удалям запись "versions" в таблице "config"
    5) Закрываем по кресту Tool_1CD
    5) cnvdbfl.exe -c -f 8.3.8 ""ваш_путь_к_базе\1Cv8.1CD" - возвращаем назад формат Базы данных
    как всё сложно. смотрел недавно базу с одной формой и весь код в обработке HaspCleaner1CD (распространяется под именем CleanLics.rar), там суть происходящего - удаление в базе истории используемых лицензий, причем без всякого конвертирования и мульти-платформенное Linux/Windows.
    Поскольку удаление аднасектовского говна из базы тоже сводится к удалению записей в таблицах, то подумал:
    открываем в конфигураторе базу CleanLics и правим имя таблицы и ключ поиска записи. Удаление одного "таракана" готово.

    Код:
    	//Чистка раздела "Информационная база"
    	РезультатИнфобаза = Ложь;
             //                                         здесь "FILES" - имя таблиы
    	table=FileDB.OpenTable(0,"FILES");
    	fields = РазвернутьЗначение(FileDB.GetTableFieldsArray(0));
    	FileDb.MoveFirstRecord(0);
    	binnew = Новый Массив;
    	Пока FileDb.MoveNextRecord(0) Цикл
    		Попытка
    			record = РазвернутьЗначение(FileDb.ReadRecord(0,1,Истина,Ложь,0,Ложь));
    			Попытка
                                    //                             здесь c01b78f6-1525-41b1-9cc1-69e3da58d2ac.pfl - ключ поиска записи
    				Если record.FILENAME = "c01b78f6-1525-41b1-9cc1-69e3da58d2ac.pfl" Тогда
    				КонецЕсли;
    			Исключение
    				Продолжить;
    			КонецПопытки;
    
                            //                              здесь c01b78f6-1525-41b1-9cc1-69e3da58d2ac.pfl - ключ поиска записи
    			Если record.FILENAME = "c01b78f6-1525-41b1-9cc1-69e3da58d2ac.pfl" Тогда 
    				record = РазвернутьЗначение(FileDb.ReadRecord(0,1,Истина,Истина,1,Ложь));
    				len_before = FileDb.GetBlobDataLength(0,"BINARYDATA");
    				FileDb.WriteSimpleValue(0,"BINARYDATA",Преобразовать64(,binnew),Истина,1,Ложь,Ложь);
    				FileDb.FlushRecord(0);
    				len_after = FileDb.GetBlobDataLength(0,"BINARYDATA");
    	            FileDb.WriteSimpleValue(0,"DATASIZE",len_after,Истина,0,Ложь,Ложь);
    				FileDb.FlushRecord(0);
    				FileDb.CloseTable(0);
    				РезультатИнфобаза = Истина;
    				Прервать;
    			КонецЕсли;
    		Исключение
    			Прервать;	
    		КонецПопытки;
    	КонецЦикла;
    Так повторяем для всех "тараканов". Вот список "тараканов" (из поста wlion):
    Код:
    DELETE FROM config WHERE filename = 'versions'
    DELETE FROM files WHERE filename = 'ib.pfl'
    DELETE FROM files WHERE filename = '071523a4-516f-4fce-ba4b-0d11ab7a1893.pfl'
    DELETE FROM params WHERE filename = 'locale.inf'
    получится несколько баз (но можно закодировать всё в одной). ну и чё? зато ламерам под силу указать файл базы и ткнуть по кнопке, и порядок использования этих баз не фиксирован, но зато не будет геморроя с конвертацией.
    Возьмитесь кто-нибудь за реализацию идеи, мне лень.
    Последний раз редактировалось HPDX2300; 24.05.2023 в 16:54.
    "кинжал хорош для того, у кого он есть, и плохо тому у кого он не окажется в нужное время"

  2. 2 пользователя(ей) сказали cпасибо:

    redhat2020 (24.05.2023), vovashulga (24.05.2023)

  3. #2
    Спец PRO
    Аватар для HPDX2300
    Регистрация
    18.04.2018
    Адрес
    HP-Compaq DX2300 microtower PC
    Сообщений
    249
    Сказал(а) спасибо
    69
    Поблагодарили 1811 раз(а) в 395 сообщениях

    По умолчанию Re: как ломануть 1C 8.3 for Linux

    Цитата Сообщение от HPDX2300 Посмотреть сообщение
    как всё сложно. ....
    Возьмитесь кто-нибудь за реализацию идеи, мне лень.
    сделал это сам, скачивайте лекарство
    "кинжал хорош для того, у кого он есть, и плохо тому у кого он не окажется в нужное время"

  4. 10 пользователя(ей) сказали cпасибо:

    alexandr_ll (25.05.2023), BabyChild (26.05.2023), freeraider (29.05.2023), Nekii (20.08.2023), olegtelec (26.05.2023), redhat2020 (25.05.2023), rtsid (26.05.2023), vovashulga (25.05.2023), yurykk (25.05.2023), ХЕРой (26.05.2023)

  5. #3
    Просто юзер

    Регистрация
    05.03.2019
    Сообщений
    4
    Сказал(а) спасибо
    25
    Поблагодарили 81 раз(а) в 43 сообщениях

    По умолчанию Re: как ломануть 1C 8.3 for Linux


  6. 2 пользователя(ей) сказали cпасибо:

    Spiller26 (26.05.2023), yurykk (15.06.2023)

  7. #4
    Гость форума

    Регистрация
    21.01.2010
    Сообщений
    4
    Сказал(а) спасибо
    4
    Поблагодарили 0 раз(а) в 0 сообщениях

    По умолчанию Re: как ломануть 1C 8.3 for Linux

    Доброго всем пятничного дня!
    Воспользовался патчером от HPDX2300 (2-й и 1-й версии). Получил любопытный результат.
    У меня 2 сервера на базе Ubuntu 18.04, Postgres 12, 1c 8.3.22.1923, на одном из сервером пропатчил backbas.so, после чего запустил на тестирование, после тестирования запустил реальные базы, месяц полет нормальный. Потом пришла очередь 2-го сервера, по той же, проверенной схеме, пропатчил backbas.so и тут началось самое интересное. Одна база запускается без вопросов, но если параллельно запустить что угодно, либо еще сеанс этой же базы или другой базы, на стадии подключения 1с зависает и не выполняет ничего, в консоле администрирования подключения не видно. Вернул обратно backbas.so исходный, в результате все запустилось и работает без вопросов. В качестве ключей использую мутанты. В о программе посмотрел на Лицензии, там не отображается что 100 лицензий, просто указывает что есть серверная и клиентские ключи (HASP4 ORGL8, HASP4 EN8SA). Сервера идентичные, ни чем не отличаются, но почему такое поведение совершенно не понятно.

  8. #5
    Гость форума

    Регистрация
    15.11.2016
    Сообщений
    2
    Сказал(а) спасибо
    1
    Поблагодарили 0 раз(а) в 0 сообщениях

    По умолчанию Re: как ломануть 1C 8.3 for Linux

    Делаю по интрукции. Получаю ошибку Данный пакетный менеджер не поддерживается. Система Линукс Минт. Пользую APT. В чем может быть загвостка?

  9. #6
    Спец

    Регистрация
    17.07.2012
    Сообщений
    35
    Сказал(а) спасибо
    11
    Поблагодарили 1147 раз(а) в 188 сообщениях

    По умолчанию Re: как ломануть 1C 8.3 for Linux

    Цитата Сообщение от SolncevaNastya Посмотреть сообщение
    Делаю по интрукции. Получаю ошибку Данный пакетный менеджер не поддерживается. Система Линукс Минт. Пользую APT. В чем может быть загвостка?
    Пришлите в личку выводы первых 2х команд скринами.

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •