Скрипт модификации файла

Issues related to VMProtect
Post Reply
DeeMAGE
Posts: 8
Joined: Wed Apr 18, 2012 5:07 pm

Скрипт модификации файла

Post by DeeMAGE »

Есть ли возможность в OnBeforeCompilation производить модификацию ячеек памяти?
Например, так:

Code: Select all

procedure OnBeforeCompilation;
var I:Integer;
    A:int64;
begin
 with VMProtector do
   for I:=0 to Count-1 do with Procedures[I] do if codeType=otString then
     for A:=Address to BreakAddress do pByte(A)^:=0; // не важно что туда пишем, вопрос можно ли?
end;
Спасибо.
Admin
Site Admin
Posts: 2586
Joined: Mon Aug 21, 2006 8:19 pm
Location: Russia, E-burg
Contact:

Re: Скрипт модификации файла

Post by Admin »

Ну как вариант - сначала поменять в файле, а потом добавить эту функцию в список для компиляции (тем же скриптом). Пример скрипта для записи в файл %VMProtect%\Examples\Scripts\ChangeDataInFile
DeeMAGE
Posts: 8
Joined: Wed Apr 18, 2012 5:07 pm

Re: Скрипт модификации файла

Post by DeeMAGE »

Да, вариант устроит, но подскажите как найти в сегменте данных входящего файла метки otString.
Спасибо.
Admin
Site Admin
Posts: 2586
Joined: Mon Aug 21, 2006 8:19 pm
Location: Russia, E-burg
Contact:

Re: Скрипт модификации файла

Post by Admin »

Можно пробежать по MapRecords:

Code: Select all

with VMProtector do
   for I:=0 to InputFile.MapRecords.Count-1 do
    with InputFile.MapRecords.Items[I] do
     if CodeType=otString then
       begin  
         ...
       end;  
Post Reply