26.04.2016 14:49
wolfio
 
Привет.
вопрос нестандартного характера - кто-нибудь заморачивался вопросом взлома лицензии ЦФТ-Банк (или других их продуктов) в целью отключения запрета на редактирование операций дистрибутива?)

Любопытства ради, я озадачился вопросом отключения лицензии, но побороть ее целиком так и не смог. Только нашел место, где контролируется дистрибутив:


Код:
--Например, следующий код вернет 1, т.к. метод ID=2217 у нас дистрибутивный.
declare 
    L_VAL PLS_INTEGER:=-1;
    begin
    DBMS_OUTPUT.ENABLE(1000000);
    L_VAL := ibs.opt_mgr.is_api_licensed('METHODS','2217');
    DBMS_OUTPUT.PUT_LINE ('L_VAL ='||L_VAL);
    end;
    
--А вот тут вернется -1, т.к. метод локальный.
      declare 
    L_VAL PLS_INTEGER:=-1;
    begin
    DBMS_OUTPUT.ENABLE(1000000);
    L_VAL := ibs.opt_mgr.is_api_licensed('METHODS','17115784010'); -- Первый арг: CLASSES/METHODS/CRITERIA
    DBMS_OUTPUT.PUT_LINE ('L_VAL ='||L_VAL);
    end;
Эта процедурка юзает (сквозь все ветвления) селектик:

SQL код:
      SELECT 
--      COUNT(*) --INTO L_VAL

      
FROM OBJECTS_OPTIONS OSYSTEM_OPTIONS SOLICENSE_PARAMS LP
    WHERE
      O
.OBJ_TYPE 'METHODS' 
      
AND O.CLASS_ID 'RES_BASE_ACCS'
      
AND (O.SHORT_NAME='NEW#AUTO' OR 'NEW#AUTO' LIKE REPLACE(O.SHORT_NAME,'_','\_'ESCAPE '\')
      AND O.OPTION_ID=SO.ID
      AND SO.LICENSED='
1'
      AND SO.ID=LP.ID AND LP.USAGE>0
      AND ROWNUM=1; 
На первых двух табличках висит триггер, который недает убивать связи отсюда. Если его задизэйблить, и грохнуть записи из связки, а затем снова включить, что условно говоря (как я думал), можно считать, что объект из удаленного приложения стал локальным. Но при авторизации в систему (навигатор/словарь) выдается сообщение (причем всего однократно), говорящее, что "Нарушено описание списка элементов опции с кодом <удаленный из селекта>".
Т.е. чисто теоретически, хэш-значение можно пересчитать, чтобы при сверке такая ошибка не выходила. Но как это сделать?

После этого всего база непригодна к работе, если удаленные записи не восстановить, приседая с триггерами в обратном порядке.
Т.к. базу ломать не дают, то смог попробовать это лишь единажды.

Если вдруг найдутся еще энтузиасты, буду рад советам.
26.04.2016 16:23
OlegON
 
Я бы с удовольствием, но предпочитаю не заниматься такими вещами, поскольку под любыми предлогами это чревато боком (наездами, как минимум). Поэтому, прошу прощения, тему не поддержу.
28.04.2016 15:34
wolfio
 
так я не предлагаю авторские права нарушать)
я предлагаю найти решение для отключения лицензии, чтобы можно было корректировать дистрибутив, например, в целях отладки, на тестовых схемах.
29.04.2016 13:08
Micle
 
Цитата:
wolfio я предлагаю найти решение для отключения лицензии.
Что само по себе уже является нарушением пользовательского соглашения )))
29.04.2016 14:34
wolfio
 
ладно, я вас понял :)
12.05.2016 18:03
Occul
 
А разве ЦФТ не дает ключи для правки процедур? Что мешает просто поправить дистрибутив? Что произойдет?
Часовой пояс GMT +3, время: 15:31.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.