Здравствуйте, Oleg.

Вы писали 12.10.2006, 16:35:32:

>>    Самое надежное - аппаратные ключи, в которых храниться контейнер с
>>    ключами расшифровки кода.
OL> 
OL> Здесь иная поставнока. Как можно больше гимора при "отлаживании такого 
кода".
OL> Решается наличием множества виртуальных машин с разными виртуальными
OL> процессорами на каждый скрамблируемый участок кода. У меня был опытный 
вариант
OL> шифрования аппартным ключём - очень медленно если шифровать всё. Правда
OL> вариант с шифрованием только к примеру первых восьми байт от упакованной
OL> rle-последовательности записи (или её дельты) вполне роботоспособен.

    Я имел ввиду ключи на дешифрование кода приложения на лету.
    В таком случае взломать программу, не имея такого ключа даже
    теоретически очень и очень сложно. А защищать таким шифрованием
    можно как VM, так и псевдо-код самой программы. Особых тормозов
    при этом нет.
    
>>    По поводу нескольких VM на каждый кусок - такого пока нигде не
>>    встречал. Да, в ASP есть отдельные VM для простых инструкций (cmp,
>>    условные переходы), для вызовов функций, для вызовов API. Но они
>>    не меняются для каждого сегмента.

OL> Фемида может плодить виртуальные процессоры как горячие пирожки ;-)

    А где на нее можно взглянуть?
     
>>>>   Достаточно получить дамп программы с вызовами в протектор,
>>>>   заменить в нем вызовы в VM протектора на то, что было до этого,

OL> Проблема в том чобы получить то что было то "этого"? А что у тебя
OL> было если оригинального кода вообще нет, есть только набор
OL> мутирующих псевдокинструкций реализующих алгоритм исходного кода.

    Ну, с этим бороться можно. Анализом кода VM. Собственно в случае с
    ASP я так и делал.

>>    Ну, я то говорил о двух-трех часах на распакованной
>>    программе. Про распаковку я писал выше. :-)

OL> Дык после распаковки будет кучка виртуальных машин с набором
OL> псевдокоманд для выполнения. Велкам как говорится разбираться с
OL> каждой по отдельности. Здесь не то что часами, тут неделями
OL> будешь сидеть. А большего и не надо.

    Олег, не забывай, что теперь в отладчиках есть скрипты. :-)
    И много рутинной работы перекладывается на них.
    Да, задача будет не простой. Но в конечном итоге все-таки
    решаемой. И, если посидеть потом над анализом составляющих VM,
    можно найти алгоритм по переводу всего этого добра в нормальный
    код. То есть, теоретически, могут появиться универсальные
    программы-распаковщики для таких защит.

-- 
С уважением,
 Jerry                          mailto:[EMAIL PROTECTED]

Ответить