![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
![]() Добрый день.
Вопрос такой. Можно реализовать вставку кода из "мемо" в процедуру MyCod и выполнить его по нажатию кнопки. Код будет в виде ассемблерной вставки т.к откомпилированая программ не будет компилировать написаный код в "мемо". Для примера написал MessageBox. Код:
Procedure MyCod; begin MessageBox(0,'Hello!','Windows',MB_OK); //Эту строчку взять из Memo1 end; procedure TForm1.Button1Click(Sender: TObject); begin MyCod; end; Вид программы: вид проги.JPG |
#2
|
||||
|
||||
![]() а значение константы MB_OK откуда должно браться?)
|
#3
|
||||
|
||||
![]() Т.е. фактически вам надо встроить в вашу программу интерпретатор комманд, который понимает синтаксис Дельфи? Сам не пользовался, но тут проскакивала темка, что есть такакя штука типа Скрипт-Паскаль или как-то так.
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#4
|
||||
|
||||
![]() Я собираюсь писать в "Memo" чистый ассемблер и его вставлять в процедуру. MessageBox - неудачный пример, надо было написать:
Код:
xor eax, eax mov eax, $45 push eax и.т.д Программа что я делаю - это чтото типа FASM только с возможностью создания и настройти исполняемых файлов. Сам указуеш сколько секций, их флаги, заполняеш заголовок, и записуеш код в секйии. записуеш код в секйии - это я пытаюсь сделать через "Memo". |
#5
|
|||
|
|||
![]() По сути - частный случай вируса.
И методика должна быть та же (внедрение кода в исполняемый модуль). |
#6
|
||||
|
||||
![]() Я думаю сделать парсер асм кода и таблицу соотведсвия команд, типа:
Код:
mov eax, X = B8 00 00 00 00 и.т.д Просто думал может есть простой способ. На щёт вирусов, то они дописуют уже готовый код (откомпилированый). А я незнаю что за код будет дописываться, потому этот метод неподходит. Нашёл исходник компилятора на асм буду разбираться. Спасибо за советы. |