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

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

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

Древовидный режим

  1. #11
    Спец 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)

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

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

Ваши права

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