Не подходит?можно вшивать эту инфу в функции _InjectUniqueID() (вопросы к Yashied)
Клиент при старте связывается с сервером который представляет из себя PHP скрипт принимающий сигнатуру компа на котором стоит клиент. Сигнатуре может генериться различными способами, в любом случае пересылка туда и обратно должна делаться с динамичной шифровкой. Далее сервер смотрит ini файлик в котором указано до какого времени работает программа. Время истекло - плати снова абонентку. Сменил железку - изъявляй об этом разработчика и тебе перезапишут старую сигнатуру на новую. Не хочешь - покупай программу заново.
Проверка при старте и далее каждые несколько минут
сервером который представляет из себя PHP скрипт принимающий сигнатуру компа на котором стоит клиент
#Include <WinAPIEx.au3>
If Not _ValidateScript() Then
MsgBox(16, ':-(', 'The program has not been installed on this computer.')
Exit
EndIf
MsgBox(0, ':-)', 'OK')
Func _ValidateScript()
Local $sID = _WinAPI_UniqueHardwareID(BitOR($UHID_MB, $UHID_BIOS))
If Not $sID Then
Return 0
EndIf
Local $hFile = _WinAPI_CreateFile(@ScriptFullPath, 2, 2)
If Not $hFile Then
Return 0
EndIf
Local $tData = DllStructCreate($tagGUID), $pData = DllStructGetPtr($tData)
Local $sData, $iByte, $Result = 0
Do
If Not _WinAPI_SetFilePointer($hFile, -16, 2) Then
ExitLoop
EndIf
If (Not _WinAPI_ReadFile($hFile, $pData, 16, $iByte)) Or ($iByte <> 16) Then
ExitLoop
EndIf
$sData = _WinAPI_StringFromGUID($pData)
If (Not $sData) Or ($sData <> $sID) Then
ExitLoop
EndIf
$Result = 1
Until 1
_WinAPI_CloseHandle($hFile)
Return $Result
EndFunc ;==>_ValidateScript
>"C:\Program Files (x86)\AutoIt3\SciTE\..\autoit3.exe" /ErrorStdOut "C:\Users\Dias\Desktop\Кликер\test\MyProg.au3"
C:\Program Files (x86)\AutoIt3\Include\WinAPIEx.au3 (8108) : ==> Duplicate function name.:
Func _WinAPI_DuplicateHandle($hProcess, $hSource, $hTarget, $iAccess = 0, $iOptions = 2, $fInherit = 0)
Ты хоть за перенаправляйся, если львиная доля логики лежит на сервере, а каждый запрос шифруется динамическим ключом, время расшифровки которого в тысячи раз превышает срок его валидности, ты хоть в "сырцы" разбери программу, толку от пустого клиента не будет.falcon92 сказал(а):ничто не мешает перенаправить запросы на свой сервер.
>"C:\Program Files (x86)\AutoIt3\SciTE\..\autoit3.exe" /ErrorStdOut "C:\Users\Dias\Desktop\MyProg.au3"
C:\Users\Dias\Desktop\MyProg.au3 (24) : ==> Variable used without being declared.:
Local $sID = _WinAPI_UniqueHardwareID(BitOR($UHID_MB, $UHID_BIOS))
Local $sID = _WinAPI_UniqueHardwareID(BitOR(^ ERROR
>Exit code: 1 Time: 0.316
Это где такое написано?ведь ясно написано, что не объявлена переменная
(24) : ==> Variable used without being declared