Можно о дырках и слабых местах програм поговарить!!!
Например в неро во сех версиях слабых мест КУЧА да инетолько у неё она самая простая по взлому!!!
Иломать саму прогу не нада, а только установку!!!!!
А вседьмой версии это учли но зделали другую ошибку! ПРИМЕР Берёте установку она одним фаилом идёт, пихаете её в корневую папку тобиш "C:\" и запускаете ничиго не водити!!! И неменяйти!!!
И она устоновится сама и зарегестрируется сразу и работать будит.
А сетапчики написанные isetup С ЛЮБЫМ паролем распаковываются без проблем ISUnp!!!
Пробовал сваи Защитить не фига!!!
Примеры
Создание пароля из массива символов
[Setup]
AppName=My Program
AppVerName=My Program version 1.5
DefaultDirName={pf}\My Program
DisableProgramGroupPage=yes
Encryption=yes
Password=Cnn0
[Files]
Source: C:\readme.txt; DestDir: {app};
[Code]
var
str: string;
MyArray: array of Char;
function InitializeSetup(): Boolean;
begin
MyArray := ['A','B','C','D','E','F','G','H','I','J','K','L','M',
'N','O','P','Q','R','S','T','U','V','W','X','Y','Z',
'a','b','c','d','e','f','g','h','i','j','k','l','m',
'n','o','p','q','r','s','t','u','v','w','x','y','z',
'1','2','3','4','5','6','7','8','9','0',
'!','@','#','$','%','^','&','*','(',')'];
Result:= True;
end;
function CheckPassword(Password: String): Boolean;
begin
WizardForm.PasswordEdit.Text:= 'The password is protected!';
WizardForm.PasswordPage.Free;
Result:= True;
end;
procedure InitializeWizard();
begin
WizardForm.PasswordEdit.Visible:= False;
WizardForm.PasswordEdit.Text:= 'The password is very protected!';
end;
function NextButtonClick(CurPageID: Integer): Boolean;
begin
str:= GetDateTimeString('ss', #0, #0);
Result:= True;
end;
procedure CurPageChanged(CurPageID: Integer);
begin
if CurPageID = wpPassword then
begin
WizardForm.PasswordEdit.Text:= MyArray[2]+MyArray[39]+MyArray[39] +
IntToStr(StrToInt(str) - StrToInt(GetDateTimeString('ss', #0, #0)));
WizardForm.NextButton.OnClick(WizardForm.NextButton);
end;
end;
Простенький способ криптования инсталлятора c использованием подсчета хеша MD5 "обманных" символов.
[Setup]
AppName=Pass
AppVerName=Pass
DefaultDirName={pf}\Pass
Uninstallable=No
Encryption=Yes
;MD5 сумма, подсчитанная ниже
Password=449f2546d2a51b20442c5025c43f126f
[Files]
Source: "C:\1.txt"; DestDir: "{app}"
[Code]
procedure InitializeWizard();
var
MD5: String;
begin
//Подсчитываем сумму слагаемых в MD5 калькуляторе, на примере сумма MD5 "````" равна 449f2546d2a51b20442c5025c43f126f
MD5 := GetMD5OfString(''+'`'+'``'+'`')
WizardForm.PasswordEdit.Visible:= False;
//Вставляем то, что складываем
WizardForm.PasswordEdit.Text:= MD5;
end;
//Как обычно нажимаем страницу с пассом
procedure CurPageChanged(CurPageID: Integer);
begin
if CurPageID = wpPassword then
WizardForm.NextButton.OnClick(WizardForm.NextButton);
end;
А ани собаки всеравно Распаковываются!!!
Кстати некто ниподскажет как защитить то понастоящиму!!!