Page 1 of 1

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

Posted: Sat Apr 21, 2012 5:15 pm
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;
Спасибо.

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

Posted: Sat Apr 21, 2012 5:42 pm
by Admin
Ну как вариант - сначала поменять в файле, а потом добавить эту функцию в список для компиляции (тем же скриптом). Пример скрипта для записи в файл %VMProtect%\Examples\Scripts\ChangeDataInFile

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

Posted: Sat Apr 21, 2012 8:24 pm
by DeeMAGE
Да, вариант устроит, но подскажите как найти в сегменте данных входящего файла метки otString.
Спасибо.

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

Posted: Sun Apr 22, 2012 3:22 am
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;