|
Почетный модератор
23251 / 9163 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
|
|
Защищаем свое приложение от нечистоплотного заказчика06.07.2011, 22:22. Показов 5151. Ответов 34
Метки нет (Все метки)
Не по теме: Я никогда не писал программ на заказ, и пока не планирую Как-то теплым летним вечером Вася видел в кресле, потягивал пиво и хрустел сухарями, смотря по телевизору Петросяна. И тут видит краем уха, что кто-то написал ему в ICQ. Ему написал его знакомый, студент Петя, которого уже дважды хотели отчислить за хорошую неуспеваемость. Этот "звонок" в середине ночи, а именно в 20:36 пробудил в полутрезвом сознании Васи воспоминания, как этот же самый Петя как-то обращался к нему с просьбой написать программу для препода, но получив желаемое сначала отнекивался, что денег пока нет и как только появятся, сразу произойдет оплата, а потом и вовсе сказал, что он все равно завалил экзамены и программа ему мало чем помогла. "Что за люди, - думал Вася, - наколпачил в тот раз и еще хватает наглости писать и просить помощи!" Петя был очень вежлив и начал издалека, мол препод нехороший, материал как пища из макдоналдс - не усваивается и как сложно жить в этом несправедливом мире... Вася под шафе был добрейшей души человек и грубо отказывать не стал, когда тот уже напрямую попросил помочь написать программу. Помочь... Часто приходилось Васе слышать это слово, но всегда это "Помочь" означало лишь "Сделай за меня". На том и порешили - Вася пишет программу, Петя платит деньги. Наутро Вася написал программу, но сделал это немного по-другому. Он снабдил форму информацией, смертельной для заказчика, ограничил функционал, добавил багов и глюков и ограничил работу приложения по времени. Скомпилировал, выслал Пете. В этой программе находился архив полноценного приложения, то есть его проект. На форме соблазнительно красовалась кнопка, обещающая дать этот архив. Program.rar Сама программа выеденного яйца не стоила - ввести список учеников в ListBox, контролируя длину фамилии и ее уникальность (как будто не могут встречаться люди с одинаковыми фамилиями ) и сортировка списка, а так же сохранение списка в текстовый файл.Петя получил программу, но не было времени ее смотреть, он поверил Васе и снова сказал, что денег пока нет. Вася злостно посмеялся и написал : "Отдашь, когда сможешь" Осталась пара дней до судного часа, когда на монитор с открытой программой отразится свет лампочек в классной комнате от очков преподавателя. Петя решил поразбираться в программе. Его ждал неприятный сюрприз - прога мотала нервы, ездила по монитору, удаляла информацию, идиотично требовала ввести фамилию не менее 20 символов (О_о), в файл сохраняла только 5 фамилий и еще писала в нем же всякие непристойности, которых и на форме хоть отбавляй, особенно Петю обидела шапка формы. Кнопка об исходнике была нажата первой, но Петя был послан вежливо, но убедительно. В итоге программа грозно ругнулась, вежливо попрощалась и закрылась. Петя вырвал волосы, но немного, потому что больно. Больно и сердцу, ведь над ним посмеялись... Написал в Асю Васе. Вася сказал, что у него есть Кряк к этой программе, и что за саму программу Петя не должен ничего, пусть пользуется на здоровье, а вот кряк стоит денежку и без этой денежки будет программа кататься по монитору и мотать нервы. Еще Вася сказал, что сейчас уходит, и если утром у него будет обещанная сумма, маленький кряк полетит на электронный ящик Пети вершить добрые дела. В противном случае полетит Петя из своей шараги. Петя еще вырвал чуток волос, но уже у кошки, а что она довольная сидит, мурлычет, тут горе, а ей хоть трава не расти. Понял Петя, что благотворительный фонд дебилам закрыт и придется раскошелиться. Утром деньги были высланы, Вася выслал Кряк: Crack.rar Петя крякнул приложение и было ему счастье. Сессию правда он все равно завалил, но это уже его проблемы. ==================================== Файлы и исходники представлены лишь в ознакомительных целях, прогеры, будьте бдительны, таких, как Петя - сплошь и рядом. Исходный код программ: Program(Code).rar Crack(Code).rar
12
|
|
| 06.07.2011, 22:22 | |
|
Ответы с готовыми решениями:
34
Запустить одно свое приложение через другое свое приложение Как подключать приложение к MySQL - свое подключение для каждой формы, или одно на всё приложение?
|
|
70 / 63 / 1
Регистрация: 25.04.2011
Сообщений: 181
|
|
| 07.07.2011, 01:47 | |
|
что сказать? Вася молодец)
0
|
|
|
Почетный модератор
23251 / 9163 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
|
|
| 07.07.2011, 06:01 [ТС] | |
|
В данном примере нет никакой привязки к компьютеру.
Ведь, например, делают ввод ключа и программа работает на целевом компьютере, а на других- уже нет. Привязывают к железу и прочее. Здесь задачей было - демо-версия, в которой как бы патчится сам экзешник, после чего превращается в полнофункциональное приложение, куда его не унеси, как раз для заказчика-студенты. Во многих других случая защиты своего софта этот пример - малоподходящий. А здесь программа никуда и ничего не пишет, ни в реестр, ни в папки, можно дома пробовать, а можно нести преподу
0
|
|
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
||
| 07.07.2011, 08:04 | ||
|
0
|
||
|
Почетный модератор
23251 / 9163 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
|
|
| 07.07.2011, 08:05 [ТС] | |
|
taras atavin, не думал, что выдуманная мной балалайка будет вполне имеющей право быть О_о
0
|
|
|
12 / 12 / 1
Регистрация: 18.06.2011
Сообщений: 435
|
|
| 07.07.2011, 08:57 | |
|
а нельзя ли это добро на си шарп перевести??
0
|
|
|
Почетный модератор
23251 / 9163 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
|
|
| 07.07.2011, 09:27 [ТС] | |
|
Radzhab, к сожалению, не силен в C#
0
|
|
|
Заблокирован
|
|||||||||||
| 07.07.2011, 10:39 | |||||||||||
|
Памирыч, тема полезная, думаю нужно ее закрепить вверху раздела чтобы не затерялась.
Возможно она будет дополняться другими методами защиты. Памирыч, я как-то не могу понять принцип вот пишу я
в то время как
Как оно работает и куда пишется?
0
|
|||||||||||
|
Почетный модератор
23251 / 9163 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
|
|
| 07.07.2011, 10:47 [ТС] | |
|
Dzhej-Dzhej, программа при запуске считывает все свои байты, и некоторые из них (находящиеся почти в начале файла, ибо в середине их ковырять чревато)
Сверяет их и если хоть один не совпал - работаем в демо-режиме. Кряк переписывает эти байты (их там штук 5 вроде всего) как надо. Таким образом экзешник - один и тот же, а поведение разное без сторонних файлов, реестра и привязки вообще к чему-либо
2
|
|
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
| 07.07.2011, 10:54 | |
|
0
|
|
|
105 / 33 / 1
Регистрация: 01.10.2010
Сообщений: 310
|
|
| 07.07.2011, 23:25 | |
|
Посылаем экзешник заказчику, внедрив в него зловреда (хотя нет, даже не зловреда, т.к к вирусам всё таки это не относится), смысл его в том, что поселившись у заказчика на компьютере он, если не ввести в специальное место код, будет постоянно надоедать пользователю при запуске программы(например через каждые 10 сек) такими сообщениями:"Жадина, жадина-солёный огурец...!" или "ах ты ..... а кто платить-то будет? В кидалово решил поиграть?". короче как-то так. Но если код введён (в текстовый файл в каком-нибудь далёком каталоге) злой модуль отключается. Вот так вот.
Способ в принципе не сильно отличается от предложенного Памирычем. Но выгоден тем, что: 1) не надо посылать файл, достаточно просто сообщить ключ, хоть послать по sms, если срочно нужен 2)программа пишется немножко легче, чем у Памирыча (Ставим таймер, вешаем на него msgbox с нужным сообщением и проверяем введённость ключа. Информацию о ключе желательно хранить в нескольких местах реестра и в шифрованном виде, вот в принципе и весь защитный модуль)
0
|
|
|
559 / 436 / 21
Регистрация: 16.12.2010
Сообщений: 953
|
|
| 07.07.2011, 23:48 | |
|
Provaider, и такую программу чуть легче взломать через ....(не буду говорить. Почему? Читаем правила форума!)
0
|
|
|
Почетный модератор
23251 / 9163 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
|
|
| 08.07.2011, 06:31 [ТС] | |
|
Provaider, принципиально, чтобы програ стала "Валидной" один раз, и на разных машинах.
Твой метод разве не предполагает введение кодов на каждой новой машине?
0
|
|
|
105 / 33 / 1
Регистрация: 01.10.2010
Сообщений: 310
|
|
| 08.07.2011, 17:08 | |
|
да, предполагает, но если ты знаешь код, то ввести его не проблема. Тем более мы вводим его не в программу, а в текстовый файл, который можно будет таскать с собой вместе с программой=)
0
|
|
|
Почетный модератор
23251 / 9163 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
|
||||||
| 08.07.2011, 21:38 [ТС] | ||||||
Сообщение было отмечено как решение
Решение
Еще один вариант, похуже:
Вася создал простенький сайт без ничего, пока курил у монитора. Петя отслужил в армии, потому что не поступил и сидел в "Моем мире", слушал Надежду Кадышеву онлайн. Долго искал Петя, как же скачать эти песни на компьютер, но так и ничего не придумал. И так, между делом написал Васе, мол, так и так - не можешь ли катануть софтинку для скачивания песен с "мыла". Вася сказал, что есть такая прога у него, это была вторая после Hello, World! Вася закрыл в асе вкладку с Биллом Гейтсом, спрашивающем как лучше организовать Windows 8 и пояснил Пете, что эта софтина будет стоить денег. Петя снова обещал расплатиться, ему нужен был лишь экзешник, потому как проку от исходника - нет, ибо Петя так и не выучил, как правильно пишется
Программа при старте читает файлик, если в нем написано 0 или ничего, программа закрывается. Если 1 - работает как ни в чем не бывало Если 2 - скачивает себя любимую, но без проверки файла, то есть, стопудовую. Если 3 - ищет на диске все файлы с расширением... Впрочем, это грязно, и не будем о следующих 58796633 цифрах Петя получил программу и удивился, что Вася опять повелся. Платить чего-то перехотелось Ночью прога сказала, что Кадышева - неактуально и закрылась. И так до утра Утром все заработало, а Петя чесал репу и думал - как же так прога знает все... Просто контент для мессаджбокса хранился у Васи на том же сайте при цифре 0 И Вася высылал свежие новости для быдло. Петя понял, что так и не скачает новый альбом. Пришлось раскошелиться. Как здорово, что не пригодились пункты 3 - 58796633
4
|
||||||
|
105 / 33 / 1
Регистрация: 01.10.2010
Сообщений: 310
|
||
| 08.07.2011, 23:32 | ||
|
Памирыч, зачётный вариант. Спасибо за наглядное представление онлайн защиты. Особенно меня прикололо
0
|
||
|
49 / 49 / 4
Регистрация: 14.06.2011
Сообщений: 92
|
|
| 11.07.2011, 16:12 | |
Сообщение было отмечено как решение
Решение
Архивы в ресурсы лучше не пихать, вытаскиваются на раз, просто переименуем Program.exe в zip и откроем.
3
|
|
|
105 / 33 / 1
Регистрация: 01.10.2010
Сообщений: 310
|
|
| 11.07.2011, 16:17 | |
|
Qgreg, согласен на 100%
0
|
|
|
Почетный модератор
23251 / 9163 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
|
||||||
| 11.07.2011, 16:45 [ТС] | ||||||
|
Да уж, не знал про эту фишку.
Теперь становится понятной фраза Винрара "Архивы не найдены". Таки ищет, негодник... Добавлено через 5 минут Навскидку 3 варианта, пока дебильные:
![]() Добавлено через 19 минут Обрабатываем архив таким кодом:
Блокнотом тоже бесполезно - кому придет в голову, что вторая буква "а" в заголовке - русская... При распаковке - обещаем все вернуть на место...
2
|
||||||
|
105 / 33 / 1
Регистрация: 01.10.2010
Сообщений: 310
|
|
| 11.07.2011, 19:12 | |
|
мне больше нравится идея запаролить архив шифром, который будет зашит в программу, тем же Rijdarev или как он там называется. Вот тогда уж точно архив никто не откроет, а если откроет, то никто не поймёт=)
0
|
|
| 11.07.2011, 19:12 | |
|
Помогаю со студенческими работами здесь
20
Зачем подписывать свое приложение? Как встроить IE в свое приложение? Не иогу найти свое приложение Как защитить свое приложение (Активация) Управление программой через свое приложение Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
|
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
|
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
|
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора
Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если. . .
|
|
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
|
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
|
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
|
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
|