Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.04.18;
Скачать: CL | DM;

Вниз

Кодирование .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-форума в самый раз будет!



Страницы: 1 вся ветка

Текущий архив: 2002.04.18;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.013 c
1-57789
commm
2002-04-05 17:40
2002.04.18
как узнать имя (логин) текущего пользователя windows?


1-57716
Kate
2002-04-08 11:16
2002.04.18
Scrollbar


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


14-57840
lel
2002-03-07 11:00
2002.04.18
ИЗЫСКАHHЫЕ КОМПЛИМЕHТЫ ДАМАМ


6-57837
Андре
2002-01-29 19:15
2002.04.18
Socket error