Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Технологии
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 16.06.2009, 10:16
Аватар для march
march march вне форума
Начинающий
 
Регистрация: 04.05.2009
Сообщения: 110
Репутация: 18
По умолчанию Перекомпиляция программы самой себя

В общем, звиняйте если не в этот раздел, через поиск ниче не нашел, google, yandex, тоже ничевразумительного
Собственно вопрос:
Как можно сделать так, чтобы программа сама изменила свой исходный код(при том по-разному, в зависимости от определенных условий)?
З.Ы. рад любой информации(дополнительный компонент, ссылка на статью ит.п.)
Заранее благодарен.
Ответить с цитированием
  #2  
Старый 16.06.2009, 11:39
Аватар для PhoeniX
PhoeniX PhoeniX вне форума
Always hardcore!
 
Регистрация: 04.03.2009
Адрес: СПб
Сообщения: 3,239
Версия Delphi: GCC/FPC/FASM
Репутация: 62149
По умолчанию

Неее... если только компилятор в саму прогу зашить, а это такой гемор... не проще "в зависимости от определённых условий" выполнять разные варианты кода? А какой вариант определять при запуске.
Просто и логично.
__________________
Оставайтесь хорошими людьми...
VK id2634397, ds [at] phoenix [dot] dj
Ответить с цитированием
  #3  
Старый 16.06.2009, 12:01
Аватар для march
march march вне форума
Начинающий
 
Регистрация: 04.05.2009
Сообщения: 110
Репутация: 18
По умолчанию

Цитата:
Сообщение от DJ PhoeniX
не проще "в зависимости от определённых условий" выполнять разные варианты кода? А какой вариант определять при запуске.
Просто и логично.
до определнного момента так и делал, но обстоятельства и цели немного изменились, так что это уже не проходит
Цитата:
Сообщение от DJ PhoeniX
Неее... если только компилятор в саму прогу зашить, а это такой гемор...
вот поподробней на счет этого гемора и хотелось бы узнать
Ответить с цитированием
  #4  
Старый 16.06.2009, 14:53
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,096
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

1. Если интересует именно изменение логики работы, то тут тебе помогут скрипты. Есть много компонентов PASCAL-скриптов.
2. Если надо просто менять сам код, не меняя его сути (как полиморфные вирусы), то тут надо очень хорошо предсталять себе как устроен исполняемый файл изнутри. в принципе, есть заменяемые операторы (по смыслу). Например, mov ax,0 можно заменить на xor ax,ax смысл тот же, но код другой.
Ответить с цитированием
  #5  
Старый 16.06.2009, 15:09
Аватар для march
march march вне форума
Начинающий
 
Регистрация: 04.05.2009
Сообщения: 110
Репутация: 18
По умолчанию

надо поменять именно код, вот только проблема со знанием ассемблера(точнее с незнанием сего), вот и интересно нет никаких компонентов, упрощающих это дело?
Ответить с цитированием
  #6  
Старый 16.06.2009, 15:29
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,096
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Нет, таких компонентов нету. Вообще-то, полиморфный код используется всего в 2х видах программ: вирусы и протекторы. Сомневаюсь, что ты пишешь протектор...
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 21:44.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025