1. Наш канал codeby в telegram. Пишем об информационной безопасности, методах защиты информации, о программирован. Не пропускай новости с кодебай, будь в тренде ! Подробнее ...

    Скрыть объявление
  2. Чат codeby в telegram перезагрузка. Обсуждаем вопросы информационной безопасности и методы защиты информации, программирование. Задавайте свои вопросы и комментируйте чужие. Подробнее ...

    Скрыть объявление

Защита программ

Тема в разделе "С и С++", создана пользователем Guest_, 11 фев 2006.

Статус темы:
Закрыта.
  1. Guest_

    Guest_ Гость

    Репутация:
    0
    Подскажите, как защитмть программу от перезаписи.
    Это должно быть чтото типа кода активации.
     
  2. grigsoft

    grigsoft Well-Known Member

    Репутация:
    0
    Регистрация:
    15 ноя 2005
    Сообщения:
    735
    Симпатии:
    0
    От чего защитить? От перезаписи? Это как?
    Вообще рекомендую воспользоваться чем-либо готовым - HardKey, Armadillo, AsProtect.
     
  3. zubr

    zubr Гость

    Репутация:
    0
    Привязывай прогу к оборудованию, к примеру к номеру логического диска.
     
  4. Guest

    Guest Гость

    Репутация:
    0
    А если сменят диск?
    И второе а как самому написать код?
     
  5. zubr

    zubr Гость

    Репутация:
    0
    А если сменят компьютер? В любом случае, чтобы защитить прогу от перезаписи нужно привязываться к конкретной машине, а если пользователь захочет сменить машину или железо в машине, то придется обращаться к автору проги.
    Ну можно еще прогу распространять на CD, а CD защищать от перезаписи, но тут свои сложности :ph34r:.
    Еще вариант хасп-ключ - запрограммированный микроконтроллер, втыкающийся в какой нибудь порт компьютера и выполняющий часть функций программы.
    Для определения номера логического диска юзай функцию GetVolumeInformation.
    Короче если сам не сможешь, могу помочь, естественно за умеренную плату.
     
  6. Guest_

    Guest_ Гость

    Репутация:
    0
    Подскажите, скачал AsProtect зашифровал .exe а он открываться нехочес пишет ,что" не могу открыть".Как быть?
     
  7. grigsoft

    grigsoft Well-Known Member

    Репутация:
    0
    Регистрация:
    15 ноя 2005
    Сообщения:
    735
    Симпатии:
    0
    ну если лень связываться с саппортом, то забить, и пробовать следующий.
     
  8. Barmutik

    Barmutik Гость

    Репутация:
    0
    Для: Guest_сергей_*

    Конечно не хочет ... ему же ключ надо для расшифровки закриптованных кусков...
     
  9. grigsoft

    grigsoft Well-Known Member

    Репутация:
    0
    Регистрация:
    15 ноя 2005
    Сообщения:
    735
    Симпатии:
    0
    Для: Barmutik: ну привет, а триал как работать будет? Тем более простая обертка в триале Аспа код не шифрует, если мне не изменяет склероз - там надо в исходники маркеры ставить.
    Тут явно проблема с совместимостью.
     
  10. Barmutik

    Barmutik Гость

    Репутация:
    0
    Как не шифрует .. шифрует ..

    У нас например Триал активируется через инет ... ну в смысле ключ для раскриптовки из инета получает ...

    А если что бы совсем без ключа .. так мы просто включаем ключ (универсальный не зависящий от конфигурации) в тело программы и при первом запуске пишем его в реестр и потом уже запускаемся полностью что бы Солодлвников мог себя расшифровать...

    Хотя всех возможностей его(АСПРА) мы не используем ...
     
  11. grigsoft

    grigsoft Well-Known Member

    Репутация:
    0
    Регистрация:
    15 ноя 2005
    Сообщения:
    735
    Симпатии:
    0
    не, я о другом - у человека есть триал Аспра. Он этим триалом оборачивает программу без каких-либо других действий. Программа не запускается. Надо, конечно, посмотреть на сообщение - оно системное или Аспра (может он такие настройки сам дал), но если это системное сообщение - налицо несовместимость. Что с не-свежими версиями не редкость, кстати. А свежие - только после покупки :P

    И кстати, без использования шифрования кода - т.е. разделения из исходников что работает всегда, а что только в зарегистр. версии, обертка Аспра отламывается на раз. Может в SKE что и поменяли.
     
  12. Barmutik

    Barmutik Гость

    Репутация:
    0
    Ааа... значит я не понял вопроса ...

    Ну по мне (как не крупному специалисту) кажется что АСПР достаточно нормальная защита .. сломать конечно можно всё .. но .. тут хоть повозится надо ...
     
  13. Guest_

    Guest_ Гость

    Репутация:
    0
    Судя по окну ошибка исходит из самой программы. Я уже запарился с ней бится, всё вроде бы нормально, доходиш до раздела ЗАШИФРОВАТЬ нажимаеш кнопку, пишет, что всё зашифровано, а открываеш программу пишет банан. Может криво стоит может ещё что? Незнаю.
     
  14. TSnake

    TSnake Гость

    Репутация:
    0
    <!--QuoteBegin-zubr+12:02:2006, 10:11 -->
    <span class="vbquote">(zubr @ 12:02:2006, 10:11 )</span><!--QuoteEBegin-->Для определения номера логического диска юзай функцию GetVolumeInformation.
    [snapback]30494" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    Как-то она у меня странно работает: пишу её в начале процедуры - возвращает одно, помещаю перед ней ещё пару строк кода - уже совсем другой результат.
     
  15. zubr

    zubr Гость

    Репутация:
    0
    Код в студию.
     
  16. TSnake

    TSnake Гость

    Репутация:
    0
  17. TSnake

    TSnake Гость

    Репутация:
    0
  18. TSnake

    TSnake Гость

    Репутация:
    0
    Код:
     GetVolumeInformation(PChar('C:\'), nil, 0, P, a, a, nil, 0);
    f := IntToStr(P^);
    вызывает ошибку класса EAccessViolation, в то время как
    Код:
     GetVolumeInformation(PChar('C:\'), nil, 0, P, a, a, nil, 0);
    Label1.Caption := IntToStr(P^);
    работает. Почему? И как тогда присвоить серийник переменной
     
  19. zubr

    zubr Гость

    Репутация:
    0
    Вот работающий код на Delphi:
    Код:
    procedure TForm1.Button1Click(Sender: TObject);
    var
     VolumeName,
       FileSystemName: array[0..MAX_PATH - 1] of Char;
     VolumeSerialNo: DWord;
     MaxComponentLength,
       FileSystemFlags: cardinal;
     s:string;
    begin
    s:=Edit1.Text+':\';//Сюда вводим букву диска
    GetVolumeInformation(PChar(s), VolumeName, MAX_PATH, @VolumeSerialNo,
       MaxComponentLength, FileSystemFlags,
       FileSystemName, MAX_PATH);
     Memo1.Lines.Add('VName = ' + VolumeName);
     Memo1.Lines.Add('SerialNo = $' + IntToHex(VolumeSerialNo, 8));
     Memo1.Lines.Add('CompLen = ' + IntToStr(MaxComponentLength));
     Memo1.Lines.Add('Flags = $' + IntToHex(FileSystemFlags, 4));
     Memo1.Lines.Add('FSName = ' + FileSystemName);
    end;
     
  20. DrAF

    DrAF Гость

    Репутация:
    0
    <!--QuoteBegin-Guest_сергей_*+11:02:2006, 15:30 -->
    <span class="vbquote">(Guest_сергей_* @ 11:02:2006, 15:30 )</span><!--QuoteEBegin-->Подскажите, как защитмть программу от перезаписи.
    Это должно быть чтото типа кода активации.
    [snapback]30479" rel="nofollow" target="_blank[/snapback]​
    [/quote]

    Есть система защиты программ с привязкой и без к аппаратному номеру HDD через ключевой файл + легкая мутация защиты по желанию + привязка к дате. Написано на С++ и С#.

    Примечание: пригодна только для защиты ваших проектов, т.к. компилируется вместе с кодом.

    Поменяю её исходные тексты на исходные тексты модуля сырого чтения CD/DVD в файл-образ, написанного на C++ или С#. В случае положительного ответа: draf@mail.ru или +7 921 2500 412 (можно SMS).
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей