Добрый день!
6. Воспользуйтесь алгоритмом цифровой подписи. Алгоритм ECC160 позволяет подписывать произвольные данные с помощью функции GrdSign. Лучше всего, чтобы это были данные, которые возникают в приложении естественным образом (так называемая естественная энтропия): данные, которые пользователь вводит в программу с клавиатуры, движения мышки, значения из баз данных, полученные по запросу пользователя.
Схематичный пример, как подписывать данные и проверять подпись есть в Уроке 3.3 обучающих материалов. В нем используется естественный источник энтропии - пользовательский ввод с клавиатуры.
По аналогии можно встроить процедуры генерации подписи / ее проверки в свое приложение, используя любой другой источник случайных данных для подписи (часто удобно использовать текущие значения каких-либо переменных при обработке данных или сами эти данные).
Обращаю внимание на то, что в примере для проверки подписи использована функция GrdVerifySignSource(), представляющая собой аналог библиотечной функции GrdVerifySign(), но доступная в исходном коде. Это позволяет встроить ее код в собственное приложение, перемешав дополнительно с кодом "полезного" функционала (для усложнения анализа и исключения "вырезания" кода проверки подписи).
9. Подсчитывайте хэш важных участков кода приложения. Это мощное средство защиты от модификации хакером кода приложения. Предварительно вы подсчитываете хэш тех мест в программе, в которых производятся вызовы функций API, анализируются выходные данные функций и принимаются решения о дальнейшей работе приложения.
Чуть позже набросаю пример. Отмечу, однако, сразу, что сравнение хеша кода с образцом можно использовать только когда исполняемый код не преобразуется никак после компиляции. Проще говоря, не используются всякого рода пакеры и протекторы (к примеру, наша Автозащита).
Тем не менее, теоретически, можно считать хеш критических участков кода во время исполнения и следить за тем, чтобы он не менялся. Хотя такой подход и не даст 100%-ной защиты от модификации, но может оказаться эффективным в ряде случаев.