Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.18;
Скачать: [xml.tar.bz2];




Вниз

Кодирование .exe 


Dmitry Klykoff   (2002-04-05 10:21) [0]

Допустим, я зашифровал часть своего .exe-шника и теперь хочу его расшифровать. Делаю так:

procedure ShowFig;
begin
ShowMessage("some text");
end;

procedure Dummy;
begin
Exit;
end;

procedure Proc;
var
i, len : integer;
mem : PByte;
mem2 : PByte;
begin
len:=Integer(@Dummy)-Integer(@ShowFig);
mem:=@ShowFig;
for i:=0 to len-1 do
begin
mem2:=mem;
Inc(mem2, i);
mem2^:=mem2^ xor 85; // здесь получаю exception
end;
end;

И получаю exception при первом же обращении к памяти. Как из дельфи залезть в код своей программы, а?



Digitman   (2002-04-05 12:18) [1]

Разумеется, ты получишь в данном случае exception, потому как сегмент кода не допускает непосредственного обращения по записи. Только - чтение и исполнение.

Но, прежде, чем вдаваться в детали, хотелось бы уточнить : ты представляешь себе принципы защиты и механизм организации памяти в защищенном режиме работы процессора ?



Dmitry Klykoff   (2002-04-05 14:58) [2]

Но тогда как работют полиморфные вирусы? Они же меняют свой код.



Digitman   (2002-04-05 15:02) [3]

Меняют. Но не так просто, как ты думаешь. Поэтому и спрашиваю, что тебе известно из теории.



Dmitry Klykoff   (2002-04-05 17:38) [4]

Представляю не очень хорошо, но если надо, то разберусь. Объясняй :))



Юрий Зотов   (2002-04-05 21:09) [5]

> Объясняй

Мило...

А как объяснять-то? Эта тема на несколько десятков (или даже сотен) страниц потянет. Для online-форума в самый раз будет!




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.18;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.039 c
3-57604           a_k                   2002-03-27 13:16  2002.04.18  
SQL-запрос


3-57635           yuricom               2002-03-28 08:06  2002.04.18  
Справочники, как определить свободна ли запись?


14-57866          copyr25               2002-03-09 23:27  2002.04.18  
UPS и модем


1-57679           BWG                   2002-04-07 14:22  2002.04.18  
Как передать в процдуру динамический массив и там его изменить?


1-57692           Yaro                  2002-03-30 17:09  2002.04.18  
ActiveX и использование функций из DLL ............