Не любит народ пользоваться тегами. Хитрые ссылки криво определяются phpbb3.
Как рассчитать контрольную сумму .exe файла программы
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
- Admin
- Администратор
- Сообщения: 3924
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 14 раз
- Поблагодарили: 14 раз
- Контактная информация:
Как рассчитать контрольную сумму .exe файла программы
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
- Игорь Столяров
- Ветеран движения
- Сообщения: 6753
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 5 раз
- Поблагодарили: 26 раз
Как рассчитать контрольную сумму .exe файла программы
Нет ! Это всего лишь говорит о том, информация о внесении изменений в код программы есть.
Средства Windows - дают об этом информацию. Они достаточны для запрета запуска таких программ на "своих" компьютерах через права пользователя. Далее, если мы хотим использовать информацию о модификации кода для защиты программы от пиратского копирования, то должны анализировать ее в коде программы и уже принимать какие-то решения (запрещать запуск и т.д.). Разве я не прав ?
Вот ссылка в виде текста.
Код: Выделить всё
https://technet.microsoft.com/ru-ru/library/dd835564(v=ws.10).aspx
Совершенство достигается не когда нечего добавить, а когда нечего отнять !
Как рассчитать контрольную сумму .exe файла программы
Так для этого достаточно проверять его контрольную сумму, с чего и началась эта дискуссия.
Один будет проверять контрольную сумму файла, другой считывать серийный номер процессора, ты будешь проверять достоверность сертификата во всех этих случаях достаточно отключить процедуру проверки.
Clarion начиная с 7 версии защищен платной системой защиты с ключами и жуткой криптоматематикой в суть которой я даже не стал вникать (что то из области векторных вычислений) – отключается изменением 3 байт.
в стране слепых правит одноглазый король (c) ...
- Игорь Столяров
- Ветеран движения
- Сообщения: 6753
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 5 раз
- Поблагодарили: 26 раз
Как рассчитать контрольную сумму .exe файла программы
Ну это классика.
Слабое место в любой навороченной системе защиты - это пистолет к голове человека, который знает пароль.
Безусловно речь не идет о том, что проверка целостности файла даст какую-либо защиту от нелегального копирования.
Мы можем самостоятельно изобретать расчет и проверку хеша файла, или можем воспользоваться подписью сертификатом.
Далее уже вопрос использования этой информации - если она явно проверятся в одном месте, то просто отключается и все
(при наличии соответствующих навыков и знаний). Если она будет проверяться в 20 местах программы и не приводить к
явным сообщения и отказу в запуске - отключение такой примитивной защиты долгий процесс, и как ты правильно заметил,
имеет смысл только для дорогих и востребованных приложений.

Слабое место в любой навороченной системе защиты - это пистолет к голове человека, который знает пароль.

Безусловно речь не идет о том, что проверка целостности файла даст какую-либо защиту от нелегального копирования.
Мы можем самостоятельно изобретать расчет и проверку хеша файла, или можем воспользоваться подписью сертификатом.
Далее уже вопрос использования этой информации - если она явно проверятся в одном месте, то просто отключается и все
(при наличии соответствующих навыков и знаний). Если она будет проверяться в 20 местах программы и не приводить к
явным сообщения и отказу в запуске - отключение такой примитивной защиты долгий процесс, и как ты правильно заметил,
имеет смысл только для дорогих и востребованных приложений.
Совершенство достигается не когда нечего добавить, а когда нечего отнять !
- Игорь Столяров
- Ветеран движения
- Сообщения: 6753
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 5 раз
- Поблагодарили: 26 раз
Как рассчитать контрольную сумму .exe файла программы
Оставлю здесь, вдруг пригодится. 
Вот такой гибрид варианта Юрия и описания на ClarionHub выполняет расчёт
CRC32 полностью совместимый со стороними программами и сервисами:
Ну или напрямую (медленней, цикл в цикле):

Вот такой гибрид варианта Юрия и описания на ClarionHub выполняет расчёт
CRC32 полностью совместимый со стороними программами и сервисами:
Код: Выделить всё
Module('ClarionRTL')
TSC::CRC32(UNSIGNED pBuffer, ULong cbBuffer, ULong InitalCRC=0),ULong,Name('CLA$CRC32')
end
! --- Расчёт CRC32 by Internal Clarion
TSC::IntCRC32 Procedure(String pStr) !,ULONG
uCRC ULong(0FFFFFFFFh)
Code
uCRC = TSC::CRC32(Address(pStr), Size(pStr), uCRC)
Return BXOR(uCRC,0FFFFFFFFh)
Код: Выделить всё
! --- Расчёт CRC32 by Geoff Robinson -> https://clarionhub.com/t/crc32-document/4485/8
TSC::RobCRC32 Procedure(String pStr) !,ULONG
lCount Long,Auto
uCRC ULong(0FFFFFFFFh)
Code
Loop lCount = 1 to Size(pStr)
uCRC = BXOR(uCRC,Val(pStr[lCount]))
Loop 8 Times
uCRC = BXOR(BSHIFT(uCRC, -1), BAND(0EDB88320h, -(BAND(uCRC,1))))
end
end
Return BXOR(uCRC,0FFFFFFFFh)
Совершенство достигается не когда нечего добавить, а когда нечего отнять !