Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2006.01.01;
Скачать: [xml.tar.bz2];

Вниз

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

 
Ландграф мобил=)   (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 вся ветка

Форум: "WinAPI";
Текущий архив: 2006.01.01;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.01 c
11-1113677326
thaddy
2005-04-16 22:48
2006.01.01
D2005


2-1134643034
bav9
2005-12-15 13:37
2006.01.01
Виснет приложение при выводе окна Создание сообщения эл.почты


2-1134425166
kreyl
2005-12-13 01:06
2006.01.01
Десятичная точка


14-1133895872
Дмитрий_05
2005-12-06 22:04
2006.01.01
Подключить два компъютера к интернету


1-1133549249
ZeFiR
2005-12-02 21:47
2006.01.01
Как заблокировать вывод ошибок





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский