Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
3-20427
Spawn
2003-07-17 10:17
2003.08.07
DBGrid


6-20645
Ivl
2003-06-01 18:09
2003.08.07
Сканер IP адресов


1-20628
NetKnight
2003-07-21 21:42
2003.08.07
Сишный kbhit() или паскалевский ReadKey в дельфях?


14-20788
Прохожий
2003-07-22 09:52
2003.08.07
Вопросы о мейлах


6-20656
LOX
2003-05-31 20:24
2003.08.07
Компрнент TEmbeddedWB.





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский