Перейти к содержанию
    

Защита ресурсов EXE-файла

Шифруйте свои ресурсы, только не 'xorом', а нормальным несимметричным алгоритмом (можно задействовать CryptoAPI). Тогда никакие хакеры не смогут поменять в вашей программе никаких ресурсов, т.к. для этого им понадобится приватный ключ, которого у них просто не будет.

Если у вас Builder, то дешифровку можно врезать прямо в VCL

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если это сумма, то ничего не помешает. А вот если это CRC32 с неизвестным полиномом и стартовым значением, то пионера отвадит.

CRC вообще не вариант, независимо от полинома. Ломается на раз тупым (тупейшим) перебором в пределах одного кодового слова. Причем, диапазон перебора не так уж и велик - в пределах кодового расстояния.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

CRC вообще не вариант, независимо от полинома. Ломается на раз тупым (тупейшим) перебором в пределах одного кодового слова. Причем, диапазон перебора не так уж и велик - в пределах кодового расстояния.

Пусть дан произвольный файл объемом 200кБайт, в котором где-то вшит CRC. Что и как перебирать будем?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Шифруйте свои ресурсы, только не 'xorом', а нормальным несимметричным алгоритмом (можно задействовать CryptoAPI). Тогда никакие хакеры не смогут поменять в вашей программе никаких ресурсов, т.к. для этого им понадобится приватный ключ, которого у них просто не будет.

Если у вас Builder, то дешифровку можно врезать прямо в VCL

а каким образом это врезается в Builder?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а каким образом это врезается в Builder?

Берете сорцы VCL, находите там место, где происходит чтение форм и добавляете дешифровку. Потом модифицированные исходники VCL добавляете к себе в проект

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Шифруйте свои ресурсы, только не 'xorом', а нормальным несимметричным алгоритмом (можно задействовать CryptoAPI). Тогда никакие хакеры не смогут поменять в вашей программе никаких ресурсов, т.к. для этого им понадобится приватный ключ, которого у них просто не будет.

 

Сначала заменяется открытый ключ, затем подменяются ресурсы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Шифруйте свои ресурсы, только не 'xorом', а нормальным несимметричным алгоритмом
Вообще-то RSA, ECC и иже с ними крайне вычислительно накладны. Поэтому ими обычно шифруется симметричный ключ или их используют для проверки правильности хеша, который считается по той части программы, которая дожна контролироваться. Про то, что можно подменить открытый ключ уже написали

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сначала заменяется открытый ключ, затем подменяются ресурсы.
Ключ должен быть вшит в программу, а не лежать в ресурсах. Однако, если взломщик обладает достаточной квалификацией, то ему и ключ подменять не надо будет - он просто врежется в программу после дешифровки ресурсов, снимет их расшифрованный образ, потом положит его (с любыми своими правками) обратно в ресурсы и отломает дешифровку вообще.

От этого защиты нет, но такие действия требуют немалой квалификации :rolleyes:

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ключ должен быть вшит в программу, а не лежать в ресурсах.
На самом деле подмена ключа методически правильнее, чем лопатить программу в поисках всех точек дешифровки, так как их может быть несколько.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...