Тема: image address
Показать сообщение отдельно
  #4  
Старый 25.09.2015, 19:58
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,029
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

На сколько я знаю, ASProtect, например, работает (работал по крайней мере, давно не анализировал) примерно так:
1. Программист в начале и конце интересующего его метода расставляет метки. Компилит программу.
2. Запускается ASProtect. Он находит помеченные куски кода, вырезает их, забивает старое место NOP'ами, сам код шифрует и складывает в ресурсы. В начало заNOPоеных кусков ставит переход на свои функции.
3. В самом конце он прописывает свой лоадер.
4. При работе программы при достижении такого места происходит переход в функцию ASProtect'а, которая берет нужный ресурс, расшифровывает его в память и выполняет, потом стирает из памяти и делает переход на конец заNOPленного блока.
Ответить с цитированием