Защита программы, супер способ.

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Джеффи
Бывалый
Бывалый
 
Сообщения: 256
Зарегистрирован: 06.03.2005 (Вс) 0:26

Защита программы, супер способ.

Сообщение Джеффи » 13.04.2005 (Ср) 13:49

Решил создать новую тему к http://bbs.vbstreets.ru/viewtopic.php?t=14998 чтобы увидели все....

Итак начну, хакеры ломают проги с помощью перевода программы в ассемблерный код, и работой с ним... А что если сделать так чтобы кода обрабатывающего ключ вообще в программе не было, и хранилось бы так чтобы дезассемблер не смог преобразовать файл в ассемблерный(бинарный код)...

Как же это сделать?
Очень просто! :wink:

Создаём систему шифрования
1.Зашифровка: каждое n-ое количество символов меняем местами, т.е. менять символы в промежутке от 0 до 19, от 20 до 39, от 40 до 59 и т.д.
XOR каждого промежутка с ключём вычесляемым из главного ключа (на основе которого стоится система перестановки символов) причём ключ к каждому промежутку должен быть свой.
Общий XOR с ключём также вычесляемым из главного ключа.

Пример главного ключа: 1п34в5ончш68ашы90, а шифровщик поймёт это как ("1п") меняем местами символы с номером 1 и 9 + № символа п(от а) т.е. 17 + 9 = 26.

Расшифровка делается полностью наоборот.
Это всего лишь пример можно делать по другому, и в этом будет плюс ващей защиты...
Далее расшифровав мы получаем чистый VB код(шифровать надо именно код проверки ключа /сравнивания ключа с серийником).
Теперь с лёгкостью пререводим код в машинный с помощью EbExecuteLine.

В результате получится что кода выполняющего проверку в программе нет, а значит всё сводится к глюмлением над злополучным хрен знает как защифрованным :wink: :D

Благодаря моей идеи можно забыть про мусор и ложные операции обработки файлов из вне...
Остаётся только позаковырестей придумать шифровку файла, его рассширение :wink: , и спокойно заниматься функцией проверки ключа...

Если есть вопросы поясню задавайте!!!

HACKERS MUST DIE!!!!

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 13.04.2005 (Ср) 13:54

Такой вопрос.

Ты знаешь, что EbExecuteLine не работает в скомпилированном файле?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 13.04.2005 (Ср) 13:55

он будет свою прогу распрострянять со своим дистрибутивом VS :lol:

Джеффи
Бывалый
Бывалый
 
Сообщения: 256
Зарегистрирован: 06.03.2005 (Вс) 0:26

Сообщение Джеффи » 13.04.2005 (Ср) 13:57

:oops: Мдя...

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 13.04.2005 (Ср) 13:58

И ышшо :)
Защищённость от статического анализа вовсе не означает защищённость от динамического :) Поверь мне, совсем несложно прервать работу программы именно в тот момент, когда расшифрованная строка передаётся в EbExecuteLine :) И посмотреть её :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Шурик
Самогонщик
Самогонщик
Аватара пользователя
 
Сообщения: 1657
Зарегистрирован: 30.06.2003 (Пн) 13:27
Откуда: из запоя :))))) Матных сообщений: 972

Сообщение Шурик » 13.04.2005 (Ср) 13:59

мдя... вот и облом
хакеры форева 8)

Джеффи
Бывалый
Бывалый
 
Сообщения: 256
Зарегистрирован: 06.03.2005 (Вс) 0:26

Сообщение Джеффи » 13.04.2005 (Ср) 14:02

Тогда будем писать вирус :lol: Чёж ешо делать :cry:

Джеффи
Бывалый
Бывалый
 
Сообщения: 256
Зарегистрирован: 06.03.2005 (Вс) 0:26

Сообщение Джеффи » 13.04.2005 (Ср) 14:09

Я думаю что есть всего 2 реальных способа: убить всех хакеров из снайперский винтовок, или же застрелиться :lol:

Ruslan Demidow
Мужчина!
Мужчина!
Аватара пользователя
 
Сообщения: 987
Зарегистрирован: 25.03.2004 (Чт) 13:39
Откуда: N.Novgorod

Сообщение Ruslan Demidow » 13.04.2005 (Ср) 16:57

Джеффи писал(а):Я думаю что есть всего 2 реальных способа: убить всех хакеров из снайперский винтовок, или же застрелиться :lol:

Экономней будет второе. :)
Это Ж-ж-ж-ж неспроста (с) Винни-Пух

vvs_adm
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1492
Зарегистрирован: 03.02.2005 (Чт) 3:45
Откуда: оттуда ;)

Сообщение vvs_adm » 13.04.2005 (Ср) 18:15

Джеффи писал(а):Я думаю что есть всего 2 реальных способа: убить всех хакеров из снайперский винтовок, или же застрелиться :lol:
Ну почему же, есть еще третий : не писать программы, а ломать самому :) Только тогда тебе надо будет прятаться, чтобы не застрелили твои же единомышленники :)

Джеффи
Бывалый
Бывалый
 
Сообщения: 256
Зарегистрирован: 06.03.2005 (Вс) 0:26

Сообщение Джеффи » 13.04.2005 (Ср) 18:28

А если серьёзно скрипт контрол нормально работает??? По типу EbExecuteLine ???

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 13.04.2005 (Ср) 19:46

Против лома нет приёма! :)

Всё равно взломают.

Джеффи
Бывалый
Бывалый
 
Сообщения: 256
Зарегистрирован: 06.03.2005 (Вс) 0:26

Сообщение Джеффи » 14.04.2005 (Чт) 9:50

Самое интересное что я тебя не очень понял... :roll:

Alexander N. Samarin
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 397
Зарегистрирован: 05.03.2005 (Сб) 20:59
Откуда: Интернат 18 (СУНЦ МГУ), комната 214А, кровать посередине

Сообщение Alexander N. Samarin » 14.04.2005 (Чт) 14:03

А нельзя ли ломать при запуске из памяти(если я все правильно понял)
На это не смотрите! Это не подпись!!!!!!

Cryonyx
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 292
Зарегистрирован: 12.11.2004 (Пт) 15:40
Откуда: Net_SubStream

Сообщение Cryonyx » 14.04.2005 (Чт) 16:13

Объясните начинающему ламеру, что такое EbExecuteLine и что она экзекутит :D
Кста, хакеры - это спецы по компьютерной безопасности, а те, о ком вы говорите, зовутся крэкерами (от crack). Так что поаккуратнее с выражениями :lol:
Если тебе не по сердцу мой путь,
Выбери сам или выбери с кем,
А мне по барабану вся эта муть -
Я не червонец, чтобы нравиться всем!
© К.Кинчев
--
Мой блог: щёлкай сюда

marvan
Бывалый
Бывалый
 
Сообщения: 269
Зарегистрирован: 22.06.2004 (Вт) 13:26
Откуда: Москва

Сообщение marvan » 14.04.2005 (Чт) 18:01

Cryonyx писал(а):Объясните начинающему ламеру, что такое EbExecuteLine и что она экзекутит :D
Кста, хакеры - это спецы по компьютерной безопасности, а те, о ком вы говорите, зовутся крэкерами (от crack). Так что поаккуратнее с выражениями :lol:

EbExecuteLine - многократно обсуждалась, юзай поиск
а на счёт 'поаккуратнее с выражениями' - так 'хакеры' это, мягко выражаясь, понятие не имеющее чёткого определения.
Выдержки из словаря, который составил 'Иванов Иван Иванович' не предлагать. :D

По поводу темы - мелкомягкие это давно слелали. Называется сие чудо - файл mde. Дизассемблировать действительно нечего. Всё хранится в p-Code. И ходя анализаторы p-Code для VB встречаются, для mde ни одной реализации нет.

xenomorph
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 508
Зарегистрирован: 18.04.2004 (Вс) 11:41
Откуда: это не важно - на сегодня у меня есть алиби ...

Re ...

Сообщение xenomorph » 14.04.2005 (Чт) 18:42

А я бы _ПРОСТО_ по ушам надавал ...
за всё хорошее ...
... Dpkjvfnm dc`xnj itdtkbnmcz, f tckb yt itdtkbnmcz hfcitdtkbnm b dpkjvfnm !!! ...

hCORe
VB - Экстремал
VB - Экстремал
Аватара пользователя
 
Сообщения: 2332
Зарегистрирован: 22.02.2003 (Сб) 15:21
Откуда: parent directory

Сообщение hCORe » 14.04.2005 (Чт) 20:56

Джеффи:
Не самая плохая идея, если ее развить в нужном направлении. Например, написать собственный парсер инструкций (свою "виртуальную машину", так сказать) и вынести его в отдельную библиотеку. А ключевые функции программы (а не только шифрование/дешифрование) передавать в виде кодов инструкций тобой же созданной VM. Тогда кракеру придется долго разбираться в запутанной логике работы виртуальной машины, если ты постараешься, конечно. И, разумеется, ни в коем случае не надо пренебрегать установкой приманок для злобного кракера. Ну там, функции с "говорящими" именами, переменные разные вредные, запутанные условные переходы в ключевых функциях. С большой вероятностью он это дело бросит на полпути и будет ломать другую прогу - попроще. Или нет... В любом случае, у тебя остается снайперская винтовка, чтобы застрелиться со стыда и позора :twisted:
Моду создают модоки, а распространяют модозвоны.

Cryonyx
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 292
Зарегистрирован: 12.11.2004 (Пт) 15:40
Откуда: Net_SubStream

Сообщение Cryonyx » 15.04.2005 (Пт) 14:20

А вообще самый лучший способ зашиты от взлома программы -- писать её OpenSource :D
Если тебе не по сердцу мой путь,
Выбери сам или выбери с кем,
А мне по барабану вся эта муть -
Я не червонец, чтобы нравиться всем!
© К.Кинчев
--
Мой блог: щёлкай сюда

FaKk2
El rebelde gurú
El rebelde gurú
Аватара пользователя
 
Сообщения: 2031
Зарегистрирован: 09.03.2003 (Вс) 22:10
Откуда: Los Angeles

Сообщение FaKk2 » 15.04.2005 (Пт) 17:41

Cryonyx
Совсем не обязательно. Примером тому является коммерческий CherryOS слизанный по данным, с open source PearPC.
Для получения ответа надо продемонстрировать качества, позволяющие стать компетентным — внимательность, вдумчивость, наблюдательность, желание активно участвовать в выработке решения.

Cryonyx
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 292
Зарегистрирован: 12.11.2004 (Пт) 15:40
Откуда: Net_SubStream

Сообщение Cryonyx » 15.04.2005 (Пт) 19:46

Так то по данным - сейчас же суды по поводу тырения кода из опенсорсного софта вовсю идут, так что... gpl работает!
Если тебе не по сердцу мой путь,
Выбери сам или выбери с кем,
А мне по барабану вся эта муть -
Я не червонец, чтобы нравиться всем!
© К.Кинчев
--
Мой блог: щёлкай сюда

FaKk2
El rebelde gurú
El rebelde gurú
Аватара пользователя
 
Сообщения: 2031
Зарегистрирован: 09.03.2003 (Вс) 22:10
Откуда: Los Angeles

Сообщение FaKk2 » 15.04.2005 (Пт) 19:48

Cryonyx
Покажи протокол суда, где этот процесс описывается :)
Для получения ответа надо продемонстрировать качества, позволяющие стать компетентным — внимательность, вдумчивость, наблюдательность, желание активно участвовать в выработке решения.

Шурик
Самогонщик
Самогонщик
Аватара пользователя
 
Сообщения: 1657
Зарегистрирован: 30.06.2003 (Пн) 13:27
Откуда: из запоя :))))) Матных сообщений: 972

Сообщение Шурик » 15.04.2005 (Пт) 21:19

И фсе фамилии участникофффф))))))))))
Свидетелей - убирают)))

Cryonyx
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 292
Зарегистрирован: 12.11.2004 (Пт) 15:40
Откуда: Net_SubStream

Сообщение Cryonyx » 15.04.2005 (Пт) 22:09

http://www.computerra.ru/print/offline/2005/585/38283/ - "GPL на четырёх колёсах"
Это как пример, а так пошарьтесь по сайту "КТ" - там подобных новостей много, я просто номера не помню...
Если тебе не по сердцу мой путь,
Выбери сам или выбери с кем,
А мне по барабану вся эта муть -
Я не червонец, чтобы нравиться всем!
© К.Кинчев
--
Мой блог: щёлкай сюда

Джеффи
Бывалый
Бывалый
 
Сообщения: 256
Зарегистрирован: 06.03.2005 (Вс) 0:26

Сообщение Джеффи » 16.04.2005 (Сб) 9:12

hCORe писал(а):Джеффи:
Не самая плохая идея, если ее развить в нужном направлении. Например, написать собственный парсер инструкций (свою "виртуальную машину", так сказать) и вынести его в отдельную библиотеку. А ключевые функции программы (а не только шифрование/дешифрование) передавать в виде кодов инструкций тобой же созданной VM. Тогда кракеру придется долго разбираться в запутанной логике работы виртуальной машины, если ты постараешься, конечно. И, разумеется, ни в коем случае не надо пренебрегать установкой приманок для злобного кракера. Ну там, функции с "говорящими" именами, переменные разные вредные, запутанные условные переходы в ключевых функциях. С большой вероятностью он это дело бросит на полпути и будет ломать другую прогу - попроще. Или нет... В любом случае, у тебя остается снайперская винтовка, чтобы застрелиться со стыда и позора :twisted:


Кароче, я понял суть...
Я думаю есть 2 пути:
Работать с Script Contol используя уже предложенную мною задумку...
Или же написать свой динамический компилятор, кстати я на досуге подумал, это вполне осуществимо, при вашей помощи всё можно сделать.
К примеру игры, если ворледитор, делает карты, а сама игра на основе карт генерирует код...
Вот я к чему=)

З.Ы. ХРЕН ХАКЕРАМ, НЕ ЗАСТРЕЛЮСЬ! Кстати если сделаю такой динамический компилятор дам всем, и буду крут=)


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 25

    TopList