Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.06.14;
Скачать: [xml.tar.bz2];

Вниз

Шифрование функций   Найти похожие ветки 

 
Strech   (2005-05-25 03:37) [0]

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


 
Digitman ©   (2005-05-25 09:09) [1]


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


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


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


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


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


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


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

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


 
Jeer ©   (2005-05-25 09:59) [3]

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


 
Digitman ©   (2005-05-25 10:15) [4]


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


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


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


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


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


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


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

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


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

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


 
Digitman ©   (2005-05-25 11:02) [7]


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


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


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


не факт.


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


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


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


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


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


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


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

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


 
Defunct ©   (2005-05-26 04:20) [9]

Strech   (26.05.05 01:50) [8]

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


 
Alex Konshin ©   (2005-05-26 04:32) [10]

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

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


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

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



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2005.06.14;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.036 c
14-1117126429
Uncle Archi
2005-05-26 20:53
2005.06.14
Глюк в МФ 1.2


3-1115275908
sergg
2005-05-05 10:51
2005.06.14
Установка фильтра в TADOTable


6-1111426437
Nes
2005-03-21 20:33
2005.06.14
IdTCPClient&IdTCPServer + косячный пример


3-1115363296
dmitry501
2005-05-06 11:08
2005.06.14
Запрос к MSSQL через ADOQuery c параметрами


6-1111871698
Raider
2005-03-27 00:14
2005.06.14
Описание ошибок TClientSocket&TServerSocket (ErrorCode)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский