Обфускация и ее преодоление

         

Застенки виртуальной машины


Возвращаясь к разговору о триальных защитах, напомним, что мы имеем программу, которая запускается по меньшей мере один раз, а где один раз, там и два. Если пораскинуть мозгами и пошевелить хвостом, то можно создать такие условия, которые позволяет запускать программу неограниченное множество раз. Грубо говоря, мы как бы помещаем программу "под колпак" и подсовываем ей те данные, в которых она нуждается для продолжения своей  жизнедеятельности.

Известно, что виртуальные машины типа VMWare "автоматически" ломают триальные программы. Если программа введет счетчик запусков или запоминает дату инсталляции где-то внутри компьютера, то после прекращения работы она устанавливается на "чистую" виртуальную машину и продолжает работать как ни в чем ни бывало. Если дата окончания испытательного срока жестко прошита внутри программы, часы виртуальной машины переводятся "назад" и защита даже не подозревают, как жестоко ее обломали. Если программа "стучится" в Интернет, пытаясь подтвердить правоверность своей работы, виртуальная машина просто "отсекается" от Интернета. Короче говоря, виртуальные машины это хорошо, вот только… медленно, неудобно и громоздко.

app.exe|QueryValue|HKLM\Software\Licenses\{I5F218E3F24063708}|SUCCESS|0500000

app.exe|CreateKey |HKLM\Software\Licenses                    |SUCCESS|Key: 0xE132BB80

app.exe|SetValue  |HKLM\Software\Licenses\{I5F218E3F24063708}|SUCCESS|06000000

app.exe|CreateKey |HKLM\Software\Licenses                    |SUCCESS|Key: 0xE132BB80

app.exe|SetValue  |HKLM\Software\Licenses\{05F218E3F24063708}|SUCCESS|563EA80E0BA2A7A6



Содержание раздела