![]() |
|
|
![]()
|
|
| Rapalex |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 732 Регистрация: 20.1.2006 Где: Украина -> Ник олаев Репутация: нет Всего: 8 |
У меня в мозгу при подсказке окружающих родилась идея защиты программы таким способом.
Пишу прогу и учю её расшифровывать данные. После пишу утилитку которая берёт exe файл находит те функции которые отделяют демо версию от купленной и криптует из прямо там и сохраняет результат. Сама прога перед вызовом этих самых запрещённых функций их расшифровует и выполняет. На мой взляд эта идея хороша тем что при дизасемблере получаем код декриптора а не функии! Я понимаю что эта идея не нова, но меня останавливают: (я пишу на VC++ 2005) 1 - имея указатель на функцию я не знаю её длинну 2 - как найти код нужной мне функции в exe файле. Как я буду шифровать и где хранить ключи, это всё вторично и сам не знаю как это сделаю. Заранее благодарен за высказывания... -------------------- In vitium ducit culpae fuga. Желание избежать ошибки вовлекает в другую. (Horatius) |
|||
|
||||
| ConstantinXXX |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 246 Регистрация: 27.5.2006 Где: U.S.A. :-) Репутация: нет Всего: 0 |
Преврати в масив по байтно записанный. Потом распоковывай определенный кусок.
--------------------
Как вы относитесь к девушкам, которые курят сигареты?Как не ослепнуть за компьютером© ORENCODE.info |
|||
|
||||
| Rapalex |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 732 Регистрация: 20.1.2006 Где: Украина -> Ник олаев Репутация: нет Всего: 8 |
ConstantinXXX, проблема не в криптовании, с этим справлюсь, как кусок искать?
-------------------- In vitium ducit culpae fuga. Желание избежать ошибки вовлекает в другую. (Horatius) |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: нет Всего: 183 |
Попробуй от адреса шифруемой функции до адреса следующей (в том же модуле) функции. Только нужно убедиться, что компилятор не вставил между ними временные вспомогалтельные функции. Это можно проверить, сгенерировав map-файл и посмотреть туда.
Это сообщение отредактировал(а) Earnest - 22.6.2006, 18:29 -------------------- ... |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: нет Всего: 454 |
1) Оттрассировать твой дизассемблер или просто поставить брейкпойнт в конце дешифровщика - и все твои труды насмарку.
2) Вот так прям тебе и дала Винда править файл на диске. Методика шифрования-дешифрования исполняемого кода на лету, миграции в памяти, самомодификации кода и пр. - известна давно. Но если ее не защищать "бешеным кодом" - толку от такой защиты немного. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Технологии защиты программного обеспечения | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |