Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Шифрование функций


Strech ©   (2005-05-25 03:37:00) 

Есть функция выполняющая сложные матем. расчеты. Можно ли зашифровать эту функцию во время компиляции программы или шифровать придется участок уже готового exe-шника?
Еще один вопрос: используемый метод шифрования увеличивает длину кода функции. Как гарантировано при шифровании не затереть последующую (нужную) часть программы?


Strech   (2005-05-26 07:53:00) [1]

>Defunct ©
ничего не мешает, кроме того, что в расшифрованном виде функция находится слишком мало времени
хотя если задуматься над тем, зачем вообще людям нужна шифрация, то такие вопросы сами отпадут


Alex Konshin   (2005-05-26 04:32:00) [2]

На мой взгляд гораздо проще создать "группу проектов" и исправить полученный bpg файл: вставить туда запуск твоего шифровальщика. Этот файл на самом деле обычный makefile для борландовского make. И никаких экспертов писать не надо. К тому же будет нормально работать сборка из коммандной строки.

По поводу расшифровки: действительно будут проблемы, если код непереместимый. Чтобы уж знать наверняка, что код переместимый, желательно его написать на асме, ну или по крайней мере проверить, что компилятор там нагенерил.


Defunct   (2005-05-26 04:20:00) [3]

Strech   (26.05.05 01:50) [8]

Зы, а что мешает засвопить ваш процесс в файл, и оттуда выковырять уже расшифрованную функцию?


Strech   (2005-05-26 01:50:00) [4]

OnAfterCompile -  а вот это уже по делу, Спасибо!


Digitman   (2005-05-25 11:02:00) [5]


> всего лишь спросил, есть ли такая возможность в компиляторе


в задачи компилятора входит генерация объектного кода, не более того


> как работает загрузчик я представляю и, видимо, лучше


не факт.


> в моей программе функция расшифровывается и выполняется


как только та самая функция будет реализована не в теле exe-модуля, а в теле dll, проблема позиционной зависимости кода встанет во весь рост


> мне нет необходимости задумываться позиционно-зависимый
> это код или нет


опять же - только лишь пока речь идет об ехе)


> это не удобно, поскольку шифрацию приходится выполнять после
> каждой перекомпиляции


сделай чтобы было "удобно" : напиши соотв.эксперт, подключи его к IDE - он будет обрабатывать событие OnAfterCompile, в котором тобой будут предусмотрен запуск внешних инструментальных средств, осуществляющих шифрацию


Strech   (2005-05-25 10:45:00) [6]

Просьба ко всем, кому нечего сказать по делу обратиться к ветке "Портепаться"


Strech   (2005-05-25 10:42:00) [7]

>Digitman ©
- мне философия не нужна, я всего лишь спросил, есть ли такая возможность в компиляторе или нет;
- как работает загрузчик я представляю и, видимо, лучше, чем Вы, тотому что в моей программе функция расшифровывается и выполняется (позволю себе заметить, что при этом мне нет необходимости задумываться позиционно-зависимый это код или нет, а также я не задумываюсь о смысле жизни и прочему, что к делу не имеет никакого отношения). Только шифровать функцию мне приходится внешними средствами в exe-файле, но это не удобно, поскольку шифрацию приходится выполнять после каждой перекомпиляции.


Digitman   (2005-05-25 10:15:00) [8]


> Strech   (25.05.05 09:17) [2]
> а)Я думаю, что для разработчиков компилятора совсем не проблема
> встроить в него шифрацию


т.е. достаточно трех зеленых свистков - и Борланд сразу бросится переделывать свой компилятор, чтобы удовлетворить твой каприз ?)


> в)что в твоем тексте понимать под "настройкой"


ты разницу между позиционно-зависимым и позиционно-независимым кодом понимаешь ? как работает станд.загрузчик PE-модулей, представляешь ?


> помоему не проблема вызвать расшифрованную функцию без настройки


да, в целом не проблема ... если только исп.код ф-ции позиционно независим


Jeer   (2005-05-25 09:59:00) [9]

Делай интерпретатор для вычисления функции записанной строкой.
Строку шифруй и в ресурс.
Только зачем такие сложности ?


Strech   (2005-05-25 09:17:00) [10]

>Digitman ©
а)Я думаю, что для разработчиков компилятора совсем не проблема встроить в него шифрацию, поэтому и спросил
б)функция естественно известна
в)что в твоем тексте понимать под "настройкой" я не понял, но помоему не проблема вызвать расшифрованную функцию без настройки


Digitman   (2005-05-25 09:09:00) [11]


> Можно ли зашифровать эту функцию во время компиляции программы


а как ты собрался заставить компилятор заниматься "шифрацией" чего-то ? т.е. выполнять совершенно несвойственные ему действия ?


> используемый метод шифрования увеличивает длину кода функции


во сколько раз - заранее известно ?
т.е. известна ли функция нависимости размера зашифрованных данных от размера шифруемых ?


> Как гарантировано при шифровании не затереть последующую
> (нужную) часть программы?


это не самое страшное, это решаемо.
а вот как ты собрался использовать расшифрованный позиционно-зависимый код без"настройки" ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо