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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 05.03.2008, 17:04
Аватар для moo2k
moo2k moo2k вне форума
Активный
 
Регистрация: 05.12.2006
Адрес: где-то там...
Сообщения: 321
Репутация: 35
По умолчанию Антидампинг

Вот распаковываю программу в память. Мне нужно, что во время ее работы с памяти не сняли дамп. Как можно реализовать антидампинг (если можно, то с кодом). Я знаю, что абсолютной защиты от дампа не бывает, но как можно усложнить жизнь взломщику пытающегося это сделать? Рылся в WWW, но все методы которые там есть уже неактуальны.
__________________
Программирование - это искусство и наш смысл жизни.

Последний раз редактировалось moo2k, 05.03.2008 в 17:06.
Ответить с цитированием
  #2  
Старый 11.03.2008, 15:09
Аватар для Thrasher
Thrasher Thrasher вне форума
Illuminati
 
Регистрация: 06.03.2008
Адрес: Крым, г. Симферополь
Сообщения: 348
Репутация: 8808
По умолчанию Антидампинг

Сразу вопрос - ты свой пакер пишешь либо используешь какой-нибудь сторонний?

Если свой - то можно воровать первых 15-20 байт (в зависимости от инструкций), потом исполнять в секции распаковщика, а только потом возвращать управление в основную программу. В идеале разбор должна вести ВМ. Недостаток - нужно писать дизассемблер длин.

Если пакер сторонний, то можно перенести первых 30 команд в секцию распаковщика руками и подправить переход на OEP. Ну а чтобы враги не догадались разбавить команды мусором. Недостаток - невозможность автоматизации.

Как вариант использовать технологию CopyMem, что реализована в Armadillo. Суть ее в том, что происходить динамическая шифровка/дешифровка кода. Для этого используется DebugAPI.
Недостаток - медленннооо..

И еще.. Дамп можно снять в любом случае. Даже если в программе есть как-будто бы антидамповые технологии. Дамп можно снять при помощи функции ReadProcessMemory. А сколько байт считывать об этом скажет РЕ-заголовок.

Мой тебе совет - критические участки кода выполняй в виртуальной машине или используй скрипты. Есть очень хороший компонент FastScript 1.92 (скачать отсюда http://www.fast-report.com/pbc_download/fsd7.exe
)
Если что пиши в личку.
__________________
Хорошо написанная программа не требует документации
ICQ 9-184-668.
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter