Страница: 1 | 2 | 3 |
Вопрос: Как защитить прогу от редактирования ресурсов?
Добавлено: 06.01.06 21:34
Автор вопроса: Pantalone
Ответы
Всего ответов: 36
Номер ответа: 16
Автор ответа:
AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #16
Добавлено: 11.01.06 00:02
ребят, не парьтесь... если ЗАХОТЕТЬ, можно поломать даже многомиллиардный алгоритм шифровки текста, как это сделал 9-летний мальчик в каком-то фильме, причем от балды...
Номер ответа: 17
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #17
Добавлено: 11.01.06 00:04
в фильме - да...
Номер ответа: 18
Автор ответа:
Pantalone
Вопросов: 32
Ответов: 104
Профиль | | #18
Добавлено: 20.01.06 15:21
Сказки это все, а вот прогу переделают и выдадут за свою, вот что обидно на самом деле.
Номер ответа: 19
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #19
Добавлено: 20.01.06 16:15
Странное вообще желание... Ну, раз так уж хотца - кидай ресурсы как бинарщину и пакуй их раром с паролем. Правда, такого у меня контрола нету для распаковки в памяти, только для зип...
А насчет хеша логики не понял. Он на то и хеш чтобы иметь только одностороннее преобразование. То есть, тот же LM можно довольно просто перебрать по словарю, но для ресурсов проги этот метод, ИМХО, не примелем.
Или я чего-то не понял?
Номер ответа: 20
Автор ответа:
Andr
Вопросов: 3
Ответов: 7
Профиль | | #20
Добавлено: 20.01.06 22:20
crc32 или md5 хеша у файликов
а по этому вопросу можно что-то где-то прочитать?
кс. с binary Write & Read разобрался .
Номер ответа: 21
Автор ответа:
Andr
Вопросов: 3
Ответов: 7
Профиль | | #21
Добавлено: 20.01.06 22:27
А что это, хэшь?!
vb(НОвечек)
Номер ответа: 22
Автор ответа:
Tsar
Вопросов: 4
Ответов: 14
Профиль | | #22
Добавлено: 21.01.06 00:27
Мое мнение - нужна большая флэшка - храни все там, имей копию на СД диске и периодически обновляй, а старую в утиль...
Номер ответа: 23
Автор ответа:
Pantalone
Вопросов: 32
Ответов: 104
Профиль | | #23
Добавлено: 21.01.06 01:05
Это ты к чему свое мнение привел?
Номер ответа: 24
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #24
Добавлено: 21.01.06 20:48
2 Andr
http://www.vb.kiev.ua/
Номер ответа: 25
Автор ответа:
mc-black
ICQ: 308-534-060
Вопросов: 20
Ответов: 1860
Web-сайт:
Профиль | | #25
Добавлено: 25.01.06 17:47
В книжке одной по асм автор писал, что простенькую защиту ресурсов в программках делает xor кодированием ключом.
Очень просто и удобно, быстро работает. От ламеров с редактором ресурсов поможет. А про очень серьёзную защиту вроде автор не говорит.
Номер ответа: 26
Автор ответа:
Pantalone
Вопросов: 32
Ответов: 104
Профиль | | #26
Добавлено: 25.01.06 18:03
Теперь бы разобраться как это к бейсику применить
Номер ответа: 27
Автор ответа:
Sergey
ICQ: 283551900
Вопросов: 1
Ответов: 74
Профиль | | #27
Добавлено: 25.01.06 18:53
Хэш – использовать нет смысла всегда могут поманят условие на проверку!
Защищать нужно не только ресурсы но и код программа работающий с этими ресурсами (хотя бы проверку)! Один из надежных вариантов создаешь виртуальный язык и на нем пишешь проверку и генерацию части выполняющего кода из ресурсов и ключа!
Номер ответа: 28
Автор ответа:
mc-black
ICQ: 308-534-060
Вопросов: 20
Ответов: 1860
Web-сайт:
Профиль | | #28
Добавлено: 26.01.06 08:01
XOR-кодирование с ключом - это очень просто. Операция XOR обратима, т.е. берем 1 байт кодируемой информации, один байт от ключа, делаем побитную операцию XOR, имеем закодированный байт. Раскодирукем точно так же: один байт закодированного бинарного ресурса, один байт ключа, побитное XOR и результат. С цепочками байт поступают так: в цикле пробегаются по кодируемой строке, при этом ключ (пароль из нескольки символов) циклически повторяют столько раз, сколько нужно, чтобы получилась длинна шифруемой информации.
Номер ответа: 29
Автор ответа:
mc-black
ICQ: 308-534-060
Вопросов: 20
Ответов: 1860
Web-сайт:
Профиль | | #29
Добавлено: 26.01.06 09:08
На скорую руку функция по кодированию строк, не самая оптимальная. В идеале лучше кодировать массив байтов.
Dim i As Long
Dim j As Long
Dim Res As Byte
Dim Tmp As String
j = 1
Tmp = ""
For i = 1 To Len(Source)
If j > Len(Key) Then j = 1
Res = CByte(Asc(Mid(Source, i, 1))) Xor CByte(Asc(Mid(Key, j, 1)))
Tmp = Tmp & Chr(Res)
'Debug.Print Mid(Source, i, 1), Mid(Key, j, 1)
j = j + 1
Next
XORCode = Tmp
End Function
Работающий примерчик выкладываю здесь:
http://mc-black.narod.ru/xor.zip
Номер ответа: 30
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #30
Добавлено: 26.01.06 10:42
Продержится до первого дизассемблирования.
Про SoftIce молчу