Привет.
вопрос нестандартного характера - кто-нибудь заморачивался вопросом взлома лицензии ЦФТ-Банк (или других их продуктов) в целью отключения запрета на редактирование операций дистрибутива?)
Любопытства ради, я озадачился вопросом отключения лицензии, но побороть ее целиком так и не смог. Только нашел место, где контролируется дистрибутив:
Код:
--Например, следующий код вернет 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 O, SYSTEM_OPTIONS SO, LICENSE_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;
На первых двух табличках висит триггер, который недает убивать связи отсюда. Если его задизэйблить, и грохнуть записи из связки, а затем снова включить, что условно говоря (как я думал), можно считать, что объект из удаленного приложения стал локальным. Но при авторизации в систему (навигатор/словарь) выдается сообщение (
причем всего однократно), говорящее, что "Нарушено описание списка элементов опции с кодом <удаленный из селекта>".
Т.е. чисто теоретически, хэш-значение можно пересчитать, чтобы при сверке такая ошибка не выходила. Но как это сделать?
После этого всего база непригодна к работе, если удаленные записи не восстановить, приседая с триггерами в обратном порядке.
Т.к. базу ломать не дают, то смог попробовать это лишь единажды.
Если вдруг найдутся еще энтузиасты, буду рад советам.