Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Кодирование .exe [D5, Win2k]


Dmitry Klykoff ©   (2002-04-05 10:21:00) 

Допустим, я зашифровал часть своего .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 при первом же обращении к памяти. Как из дельфи залезть в код своей программы, а?


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

> Объясняй

Мило...

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


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

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


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

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


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

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


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

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

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо