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

Вниз

Запуск копии функции   Найти похожие ветки 

 
dima_matrix ©   (2003-07-25 21:29) [0]

Господа, такой вопрос. Кто-нибудь знает как замутить такую вещь - нужно скопировать процедуру или функцию в выделенную предварительно память, а затем эту копию запустить как обычную функцию. Буду благодарен за помощь!


 
Reindeer Moss Eater   (2003-07-25 21:30) [1]

А просто "с родного места" почему бы не запустить?


 
Anatoly Podgoretsky ©   (2003-07-25 22:28) [2]

С родного не интересно.


 
в   (2003-07-25 22:44) [3]

изучай ассемблер


 
default ©   (2003-07-25 22:47) [4]

точно учи асм
сделать это можно


 
default ©   (2003-07-25 22:57) [5]

зачем вообще такое делать?
объяви две функции с разными именами - вот тебе и функции,
код которых расположен с разных адресов памяти
или так не интересно?


 
PVOzerski ©   (2003-07-26 00:14) [6]

Вообще, можно поискать по Сети, как работают "ужималки" Win32-программ вроде UPX - принципы должны быть похожи. Насколько я помню, хитрость в том, чтобы правильно задать атрибуты выделяемому блоку памяти, естественно, это надо делать на API, GetMem тут не пройдет.
>или так не интересно?
Так можно код от взлома защищать, например. Динамически расшифровывать и запускать. Или вообще мини-компилятор, скажем, юзерских формул, реализовать. Так что смысл-то есть.


 
default ©   (2003-07-26 00:20) [7]

PVOzerski © (26.07.03 00:14)
от простого копирования инструкций подпрограммы и передачи управления на её первую инструкция до компилятора далеко и до других "хитрых" вещей


 
dima_matrix ©   (2003-07-26 12:02) [8]

Добрый день!
Всем спасибо за участие. Вообще то PVOzerski © абсолютно прав, ведь над скопированным кодом можно много че интересного сделать для затруднения взлома (от простого ксоривания до шифрования открытым ключом и т.п.) На счет ассемблера это хорошо придумано, но поверьте ассемблер мне учить не надо. Просто я такую вещь делал на ВижуалСях, поэтому есть мнение (и как говорил Гоблин не только мое), что тогда можно и на Делфях тоже замутить такую вещь. Просто времени разбираться конкретно нет - вот я обратился к народу, может кто и подскажет торопыге... Думаю, что PVOzerski © прав и на счет того, что придется API мучить...


 
Набережных С. ©   (2003-07-26 13:54) [9]

1) Через VirtualAlloc выделить страницу с аттрибутами PAGE_EXECUTE_READWRITE.
2) С помощью Move скопировать в нее процедуру.
3) Скорректировать адреса переходов.

Можно запускать


 
dima_matrix ©   (2003-07-26 16:10) [10]

Да, спасибо, я уже сделал...



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

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

Наверх




Память: 0.49 MB
Время: 0.012 c
3-20455
captive
2003-07-15 18:48
2003.08.07
Что с транзакциями делать?


1-20559
Alexxxx
2003-07-23 17:24
2003.08.07
Как сделать оброботчик события MouseEnter на Image


7-20824
Intell
2003-04-06 12:02
2003.08.07
Как создавать горячие клавиши?


4-20844
deadfrog
2003-06-05 11:42
2003.08.07
ShellExecute


14-20724
CD
2003-07-19 17:54
2003.08.07
Геометрия...