Модераторы: Akina

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Путь к файлу, ? 
:(
    Опции темы
СВА
Дата 23.2.2006, 04:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 9.1.2006

Репутация: нет
Всего: нет



Вся эта защита будет обсолютно бесполезна если при выводе сообщения, о том что программа не заегистрирована, текст этого сообщения будет хранится в программе, лучше всего их загружать из отдельного файла, или из ресурса. Дело в том что при взломе программы ищутся как раз эти тесктовые сообщения, потом на них ставяться стоп-точки и т.д. всю технику взлома не помню.
PM MAIL   Вверх
ArtNeoX
Дата 23.2.2006, 11:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 125
Регистрация: 23.10.2005

Репутация: нет
Всего: нет



Вопрос в том, как програмно определить системную папку, (програмкой Crack) создать там какой нибудь файл (например 123.txt)
А при запуске основной программы, она определяла системную папку, проверяла там наличие созданного програмкой crack файла 123.txt и при его наличии программа запускалась, а при отсутствии выдавалось какое либо сообщение, типа программа не зарегистрирована или что то типа того и завершала работу.
PM MAIL   Вверх
Тутанхамец
Дата 23.2.2006, 11:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 612
Регистрация: 10.10.2005
Где: в пирамидЕ!

Репутация: 4
Всего: 6



Хех, дружище, а мы тут по твоему о чём рядим?.. smile Посмотри самое начало темы - там же есть коды!
PM MAIL   Вверх
kulibin
Дата 23.2.2006, 14:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 229
Регистрация: 9.5.2005
Где: Украина, Запорожь е

Репутация: 2
Всего: 3



Вобщем загрузили парня smile.
Думаю ему лучше будет начать защищать свои программы с такого способа:

Код

Sub CheckRegistration()
Dim fso As FileSystemObject 'todo: добавить к проекту референс на
'Microsoft Scripting Runtime. В сетуп её включать думаю не обязательно -
'по идее она у всех должна быть
Dim DriveNumber As String
Set fso = New FileSystemObject
Dim dr As Drive
Set dr = fso.GetDrive("C")
' был правда у меня один случай, когда на клиентской машине такого
' диска не было :) - один только раз в жизни такой прикол видел :)

DriveNumber = dr.SerialNumber
' при переустановке винды будет он меняться - но ничего - это не часто бывает :)
' хотя попадаются иногда любители ежедневно винду переустанавливать :)
Dim strPSV As String
Dim x As Long
For x = 1 To Len(drN)
    strPSV = strPSV & Asc(Right(drN, x))
Next x
' очень тупой метод шифрования :) - можеш заменить чем то получше - однако
' не советую заменять тем, чего сам не понимаеш - чревато :) - сам так не
' раз попадал :)
Dim k As Long 'количество запусков программы
k = CLng(GetSetting("SYS_SETTINGS", "KEY1", "VAL2", 0))
If strPSV = GetSetting("SYS_SETTINGS", "KEY1", "VAL1") Then
    frmMainForm.Show
ElseIf k < 50 Then
' на 50 запусков программы демка :)
    k = k + 1
    SaveSetting "SYS_SETTINGS", "KEY1", "VAL2", CStr(k)
    frmMainForm.Show
Else
    frmReg.Show 1
End If
'ну регистрация так же - токо программа показывает номер диска (frmReg)- ты его шифруеш и
'присылаеш его как ключик. Они его пишут - программа его проверяет и если подходит
'он - то пишет в реестр - так же как и здесь при проверке
End Sub



Простенько - но от чайников с накипью вполне нормально защитит. Если программа не дорогая - то на этом можно и остановиться.
Наслаждайся smile. Как говорят некоторые буржуи - фил фрии ту юз зис коуд smile smile smile
ой - ой - ой - сам себя насмешил smile - не обращайте внимания - я дома сам работаю - и сам с собой начал разговаривать в последнее время smile - одичал совсем smile
PM MAIL WWW ICQ   Вверх
ArtNeoX
Дата 23.2.2006, 21:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 125
Регистрация: 23.10.2005

Репутация: нет
Всего: нет



как определить системную папку, создать там файл, проверить его наличие там и удалить - я разобрался.
а вот как сделать что бы после 10 запуска программы удалился созданный файл из системной папки.
PM MAIL   Вверх
kulibin
Дата 23.2.2006, 21:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 229
Регистрация: 9.5.2005
Где: Украина, Запорожь е

Репутация: 2
Всего: 3



ну ты даёш, дружище! я тебе готовую защиту выложил - с комментариями, всё рабочее. С количеством запусков тоже. Ничем не хуже твоей что ты щас паришся. Думаю лучше всё же - реестр менее доступен для ламеров чем папка эта.
пиши, блин в файл другой количество запусков - или в реестр - а как же ещё?
PM MAIL WWW ICQ   Вверх
ArtNeoX
Дата 24.2.2006, 08:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 125
Регистрация: 23.10.2005

Репутация: нет
Всего: нет



kulibin, ты крут... а куда сохраняется количество оставшихся запусков?
Как можно сделать чтобы программа перестала работать, например после 01.05.2006 года.

PM MAIL   Вверх
kulibin
Дата 24.2.2006, 11:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 229
Регистрация: 9.5.2005
Где: Украина, Запорожь е

Репутация: 2
Всего: 3



Цитата(ArtNeoX @ 24.2.2006, 08:57 Найти цитируемый пост)
kulibin, ты крут

тут я с тобой согласен smile

Цитата(ArtNeoX @ 24.2.2006, 08:57 Найти цитируемый пост)
а куда сохраняется количество оставшихся запусков?

Ну батенька, это уж куда сделаеш - туда и будет сохраняться. Или ещё файл один или в реестр. Не понимаю вообще что не ясно. Не знаеш чтоли как в файл писать/читать? Читай книжку и не борзей: лень ему видите ли с книги две строчки кода переписать.
А теперь самое интересное - про дату. Сложность в том, что дату можно на машине менять - и для того, чтобы программа об этом узнала (а это единственное что можно узнать - если дата менялась - то настоящую определить никак нельзя) нужно писать куда-то дату последнего запуска. Т.е. программа при запуске должна сравнивать текущую дату с датой прошлого запуска - и если дата прошлого запуска больше текущей - значит текущая левая (переведены часы). А что дальше делать - сам решай. Или заканчивать демо-версию или считать её уже не по датам а по запускам. Я делаю так: если часы не переведены - то пишется дата текущая(которая при следующем запуске программы будет датой прошлого запуска). А если часы отводились - то пишется прошлая дата+1 день.
Есть ещё вариант попроще: писать только запуски - и смотреть время непосредственно по часам. Т.е. в этом случае если часы переведут - то всёравно когда будет превышен лимит по запускам программа работать перестанет. Ну может немного продлят демку.
И ещё одно: если ориентироваться на количество запусков и дату - надо подстраховать себя от удаления этой информации. Я делаю так: допустим демка ограничена 100 запусками. На 20-м запуске я пишу ещё файлик один - или в него что-то левое сую или вообще пустой. Т.е. если программа смотрит что нет данных о запусках - или они меньше 20-ти - проверяем наличие этого файла. Если он есть - значит нас пытаются нагреть. Если нету - всё ок.

Ну вобщем то на этом всё - не люблю помогать людям, которые ещё и ехидничать пытаются когда делаеш им добро. Как говорится - kulibin сделал своё дело - kulibin должен уходить smile. Будь здоров.


PM MAIL WWW ICQ   Вверх
Voldemar2004
Дата 24.2.2006, 11:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1650
Регистрация: 25.12.2004

Репутация: 7
Всего: 23



Цитата(ArtNeoX @ 24.2.2006, 08:57 Найти цитируемый пост)
куда сохраняется количество оставшихся запусков?
Код
ElseIf k < 50 Then    
' на 50 запусков программы демка :)    
    k = k + 1    
    SaveSetting "SYS_SETTINGS", "KEY1", "VAL2", CStr(k)    
    frmMainForm.Show    
Else
Цитата(ArtNeoX @ 23.2.2006, 21:08 Найти цитируемый пост)
а вот как сделать что бы после 10 запуска программы удалился созданный файл из системной папки.
Системная папка:
Код
environ("windir")
Удалить файл:
Код
Dim fso As New FileSystemObject
fso.DeleteFile ("путь к системной папке\твой_файл")

ArtNeoX, думаю, ты догадался, как удалить файл после 10-го запуска?


--------------------
i_i 
(';') 
(V)

user posted image
PM MAIL   Вверх
Страницы: (3) Все 1 2 [3] 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0653 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.