Форум: "Основная";
Текущий архив: 2003.08.07;
Скачать: [xml.tar.bz2];
ВнизЗапуск копии функции Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.009 c