реклама на сайте
подробности

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> Защита ресурсов EXE-файла
XVR
сообщение Nov 12 2012, 09:15
Сообщение #16


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Шифруйте свои ресурсы, только не 'xorом', а нормальным несимметричным алгоритмом (можно задействовать CryptoAPI). Тогда никакие хакеры не смогут поменять в вашей программе никаких ресурсов, т.к. для этого им понадобится приватный ключ, которого у них просто не будет.
Если у вас Builder, то дешифровку можно врезать прямо в VCL
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Nov 12 2012, 09:39
Сообщение #17


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(aaarrr @ Nov 11 2012, 00:10) *
Если это сумма, то ничего не помешает. А вот если это CRC32 с неизвестным полиномом и стартовым значением, то пионера отвадит.

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


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Nov 12 2012, 12:16
Сообщение #18


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(MrYuran @ Nov 12 2012, 13:39) *
CRC вообще не вариант, независимо от полинома. Ломается на раз тупым (тупейшим) перебором в пределах одного кодового слова. Причем, диапазон перебора не так уж и велик - в пределах кодового расстояния.

Пусть дан произвольный файл объемом 200кБайт, в котором где-то вшит CRC. Что и как перебирать будем?
Go to the top of the page
 
+Quote Post
toweroff
сообщение Nov 12 2012, 13:07
Сообщение #19


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Цитата(XVR @ Nov 12 2012, 13:15) *
Шифруйте свои ресурсы, только не 'xorом', а нормальным несимметричным алгоритмом (можно задействовать CryptoAPI). Тогда никакие хакеры не смогут поменять в вашей программе никаких ресурсов, т.к. для этого им понадобится приватный ключ, которого у них просто не будет.
Если у вас Builder, то дешифровку можно врезать прямо в VCL

а каким образом это врезается в Builder?
Go to the top of the page
 
+Quote Post
XVR
сообщение Nov 12 2012, 14:33
Сообщение #20


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Цитата(toweroff @ Nov 12 2012, 17:07) *
а каким образом это врезается в Builder?

Берете сорцы VCL, находите там место, где происходит чтение форм и добавляете дешифровку. Потом модифицированные исходники VCL добавляете к себе в проект
Go to the top of the page
 
+Quote Post
Flood
сообщение Nov 13 2012, 05:49
Сообщение #21


Знающий
****

Группа: Свой
Сообщений: 702
Регистрация: 8-06-06
Пользователь №: 17 871



Цитата(XVR @ Nov 12 2012, 13:15) *
Шифруйте свои ресурсы, только не 'xorом', а нормальным несимметричным алгоритмом (можно задействовать CryptoAPI). Тогда никакие хакеры не смогут поменять в вашей программе никаких ресурсов, т.к. для этого им понадобится приватный ключ, которого у них просто не будет.


Сначала заменяется открытый ключ, затем подменяются ресурсы.
Go to the top of the page
 
+Quote Post
vvs157
сообщение Nov 13 2012, 06:46
Сообщение #22


Профессионал
*****

Группа: Свой
Сообщений: 1 526
Регистрация: 8-04-05
Пользователь №: 3 960



Цитата(XVR @ Nov 12 2012, 13:15) *
Шифруйте свои ресурсы, только не 'xorом', а нормальным несимметричным алгоритмом
Вообще-то RSA, ECC и иже с ними крайне вычислительно накладны. Поэтому ими обычно шифруется симметричный ключ или их используют для проверки правильности хеша, который считается по той части программы, которая дожна контролироваться. Про то, что можно подменить открытый ключ уже написали
Go to the top of the page
 
+Quote Post
XVR
сообщение Nov 13 2012, 08:44
Сообщение #23


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Цитата(Flood @ Nov 13 2012, 09:49) *
Сначала заменяется открытый ключ, затем подменяются ресурсы.
Ключ должен быть вшит в программу, а не лежать в ресурсах. Однако, если взломщик обладает достаточной квалификацией, то ему и ключ подменять не надо будет - он просто врежется в программу после дешифровки ресурсов, снимет их расшифрованный образ, потом положит его (с любыми своими правками) обратно в ресурсы и отломает дешифровку вообще.
От этого защиты нет, но такие действия требуют немалой квалификации rolleyes.gif
Go to the top of the page
 
+Quote Post
vvs157
сообщение Nov 13 2012, 11:27
Сообщение #24


Профессионал
*****

Группа: Свой
Сообщений: 1 526
Регистрация: 8-04-05
Пользователь №: 3 960



Цитата(XVR @ Nov 13 2012, 12:44) *
Ключ должен быть вшит в программу, а не лежать в ресурсах.
На самом деле подмена ключа методически правильнее, чем лопатить программу в поисках всех точек дешифровки, так как их может быть несколько.
Go to the top of the page
 
+Quote Post

2 страниц V  < 1 2
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 00:24
Рейтинг@Mail.ru


Страница сгенерированна за 0.01438 секунд с 7
ELECTRONIX ©2004-2016