Подписывание файла setup.exe и защищенных файлов цифровой подписью. - VB

Узнай цену своей работы

Формулировка задачи:

Ну, м.б. не в той теме, но в другую не охота итти.
Обзавелся цифровой подписью (нормальной).
Microsoft Code Signing Certificate называется.
Ну драйвер подписал для x64 Vista/Win7, устанавливается, радуюсь. (собственно цель достигнута)
Естественно, хочется сделать чего-то еще, зря чтоль ее заимел.
Чего имеет смысл вообще подписывать?
1. Пытаюсь подписать установщик setup.exe

Подписывает. При запуске ругается:
The setup files are corrupted. Please obtain a new copy of the program.
Использую Smart Install Marker 5.02 (ну не совсем "signed" правда).
2. Защищаю файл.exe при помощи Asprotect, потом подписываю. Файл не запускается.
Подписываю файл.exe, потом защищаю Asprotect. Подпись стирается.
Оно в принципе понятно, каждый ляпает свою "защиту", вторая защита суть нарушение первой.
Никто подобные вопросы не решал?
Почему хочу подписать setup и пару exe-шников. Во первых, антивирусы оху наглеют,
Ладно авиры, на них хоть надавить можно, а вот например на этот: "SonicWall firewall is blocking the download" янки уже пару раз жаловались и сделать ничего не могу, это вообще железо.
Да и доверия больше.
В случае файл.exe конешно могу asprotect-защиту зашить в dll, но это любой студент влезет в exe-шник и напишет свою dll в 2 строчки. Хотя в данном случае exe (морда настроек) только запрашивает информацию о лицензии дабы отобразить, а сама прога защищена независимо и подписывать ее смысла нет, так что опасности нет. Но честно предпочитаю все более менее насыщенные кодами файлы перемешивать протектором хоть бы и без запрета запуска, дабы любители hex-редакторами не сильно увлекались, сам так до фига чего "позаимствовал", даже не имея исходного кода.

Решение задачи: «Подписывание файла setup.exe и защищенных файлов цифровой подписью.»

textual
Листинг программы
[code]   

const
  WM_CLOSE = $0010;
  WM_KEYDOWN = $0100;
  WM_KEYUP = $0101;
  VK_RETURN = 13;

procedure InitializeWizard();
begin
  WizardForm.BorderStyle := bsNone;
  WizardForm.Width := 0;
  WizardForm.Height := 0;
  //OpenWizardForm(WizardForm.Handle);

  // Pressing the default "Install" button to continue the silent install
  PostMessage(WizardForm.Handle, WM_KEYDOWN, VK_RETURN, 0);
  PostMessage(WizardForm.Handle, WM_KEYUP, VK_RETURN, 0);

  // Or can exit the wizard if the user has cancelled installation
  // PostMessage(WizardForm.Handle, WM_CLOSE, 0, 0);
end;

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.167 из 5
Похожие ответы