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

Вниз

Динамическое создание процедуры   Найти похожие ветки 

 
Ландграф мобил=)   (2005-10-28 20:59) [0]

Как можно по ходу выполнения программы создать процедуру? Читал что можно, это требуется для скрытия от деббагера и невозможности пропатчить программу.


 
tesseract ©   (2005-10-28 21:05) [1]

Создать нельзя.
На пяльцах:
Можно накатать готовую, зашифровать в теле исполнимого файла переписать его загрузчик чтобы он загружал в память расшифрованную.
В общем на WASM.ru изучать оттенки Дзена.


 
wp2   (2005-10-28 23:20) [2]

Ну, а что такое процедура?
Это просто участок кода, который можно вызвать
call Myprocedure
Разница между call и jmp состоит лишь в том, что в стек передается содержимое регистра EIP.
Просто всё это попробуй вручную сделать.

А вообще зачем тебе именно процедура? Путь это будет goto (jmp)


 
Zeqfreed ©   (2005-10-28 23:29) [3]

Ландграф мобил=)   (28.10.05 20:59)  Можно то можно, только никакими "процедурами" в ран-тайме и не пахнет. Можно записать некие данные в участок памяти, назначить ему права на выполнение и передать ему управление, после чего этот участок выполнится (данные будут интерпретированы как код).


 
Игорь Шевченко ©   (2005-10-29 00:04) [4]


> это требуется для скрытия от деббагера и невозможности пропатчить
> программу.


Наивность - это безусловно полезное качество. Не надо скрываться, все равно найдут и пропатчат.


 
Плохиш ©   (2005-10-29 00:32) [5]


> Не надо скрываться, все равно найдут и пропатчат.

Не, это "неуловимый Джо"


 
Defunct ©   (2005-10-29 04:08) [6]

> Игорь Шевченко ©   (29.10.05 00:04) [4]

Не скажи. Созданное генератором кода чудо может так патчеров запутать, что замаются, лучше сказать "замахаются!", патчить. ;>

> Ландграф мобил
конечно можно. Как два байта переслать.

Почитай:

Pentium® Processor Family
Developer’s Manual
Volume 3:
Architecture and Programming Manual

Глава 11, особое внимение - п. 11.1.2 Protected Flat Model, п. 11.3 Page Translation
Глава 12, п. 12.1 Segment-Level Protection
Глава 25 - всю.

вот тебе пример:

procedure CodeExecutionExample;assembler;
asm
//<-- здесь тулим в стек код который надо выполнить
  push  $c3c3c3c3
//<-- для примера добавил 4 команды ret
  push  esp     // <-- сохраняем в стек адрес начала нашего кода
  call  [esp]   // <-- косвенный вызов нашего кода

  add  esp, 8  // <-- Восстанавливаем указатель стека
end;


 
Defunct ©   (2005-10-29 04:17) [7]

Zeqfreed ©   (28.10.05 23:29) [3]
> только никакими "процедурами" в ран-тайме и не пахнет.

неправда ваша. Именно самыми, что ни наесть процедурами в run-time.


 
Anatoly Podgoretsky ©   (2005-10-29 12:03) [8]

Ландграф мобил=)   (28.10.05 20:59)  
Как можно по ходу выполнения программы создать процедуру? Читал что можно, это требуется для скрытия от деббагера и невозможности пропатчить программу.

Кончай мозги пудрить, твоя вирусная направленность давно известно и не надейся, что вирусоборцы не смогут отладчиком найти твою пакость, у них квалификация повыше.


 
OldNaum ©   (2005-10-29 12:26) [9]

да хватит "всех" подозревать в вирусописательстве, ну ей богу. я уже не раз говорил, что Мастера с удовольствием отвечают на ЯВНО (приводил примеры) вирусописательские вопросы, но с подозрением относятся к относительно безобидным вопросам. обидно. простите за оффтоп.


 
Anatoly Podgoretsky ©   (2005-10-29 12:32) [10]

OldNaum ©   (29.10.05 12:26) [9]
Зачем всех, этот известен.


 
Anatoly Podgoretsky ©   (2005-10-29 12:34) [11]

Насчет любви - у меня другие наблюдения, любят отвечать в основном люди подверженные этому, явные и латентные вирусмейкеры


 
Zeqfreed ©   (2005-10-29 13:10) [12]

Defunct ©   (29.10.05 4:17) [7]
А что в данном случае подразумевается под понятием процедура?


 
Ландграф Павел ©   (2005-10-29 14:42) [13]

Anatoly Podgoretsky>Читай прошлые мои топики, я ТЕБЯ давно просил их не читать и не писать в мои посты... Видно я тебе полюбился чем-то, но извини, я не из "ваших"... и твоя "любовь" пусть направится на таких же как ты...


 
Defunct ©   (2005-10-29 20:08) [14]

Zeqfreed ©   (29.10.05 13:10) [12]

То же, что и подразумевалось у тебя.


 
Anatoly Podgoretsky ©   (2005-10-29 20:11) [15]

Ландграф Павел ©   (29.10.05 14:42) [13]
Единственно что зависит от твоей воли, это не писать сюда, а организовать свой форум и там разрешать или запрещать.



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

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

Наверх




Память: 0.5 MB
Время: 0.029 c
14-1134052240
begin...end
2005-12-08 17:30
2006.01.01
С Днём рождения! 8 декабря


4-1129968944
Энтри
2005-10-22 12:15
2006.01.01
Помогите вытащить переменную из структуры


14-1134186110
Alexe_y
2005-12-10 06:41
2006.01.01
Vb.net и delphi


14-1134025069
mr.il
2005-12-08 09:57
2006.01.01
ответы по MySQL


2-1134452200
Alex7
2005-12-13 08:36
2006.01.01
Цвет надписи у кнопки