#Region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_Icon=ProjectExporter\Old Versions\ProtectedExporterOfflineProtection\Oxygen-Icons.org-Oxygen-Status-dialog-password.ico #AutoIt3Wrapper_Run_Au3Stripper=y #Au3Stripper_Parameters=/mi #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI **** $RegExists = RegRead("HKEY_CURRENT_USER\Software\Protector", "license") If $RegExists = @Error Then RegDelete("HKEY_CURRENT_USER\Software\Protector", "license") MsgBox(0,"REG","License deleted sucessfully") Exit Else EndIf #include #include #include Global $ks[11], $key, $Actual_Key, $prekey, $preseed $preseed = _GetHardwareID($UHID_All) $seed = StringMid(_Crypt_HashData($preseed, $CALG_SHA1), 3, 6) ConsoleWrite($seed & @CRLF) $ks[1] = '2f9u24h9gg7j' $ks[2] = 'rgh76i433t' $ks[3] = 'NUB%F$Wt6j9' $ks[4] = 'asjU*&6e3s' $ks[5] = 'll[064e23FFj' $ks[6] = 'JKo74532EŁ""7' $ks[7] = 'Jh897%$bfeyu7)(' $ks[8] = ')8yrgT4R$%[HI' $ks[9] = 'G57^sd&90=kl%' $ks[10] = '{--08ygb2a=-l 6 Then $b -= 6 Switch $a Case 1 $ks[$a] = StringMid(_Crypt_HashData($ks[$a] & StringMid($seed, $b, 1), $CALG_SHA1), 3, 2) Case 2 $ks[$a] = StringMid(_Crypt_HashData($ks[$a] & StringMid($seed, $b, 1), $CALG_SHA1), 3, 2) Case 3 $ks[$a] = StringMid(_Crypt_HashData($ks[$a] & StringMid($seed, $b, 1), $CALG_SHA1), 3, 2) Case 4 $ks[$a] = StringMid(_Crypt_HashData($ks[$a] & StringMid($seed, $b, 1), $CALG_SHA1), 3, 2) Case 5 $ks[$a] = StringMid(_Crypt_HashData($ks[$a] & StringMid($seed, $b, 1), $CALG_SHA1), 3, 2) Case 6 $ks[$a] = StringMid(_Crypt_HashData($ks[$a] & StringMid($seed, $b, 1), $CALG_SHA1), 3, 2) Case 7 $ks[$a] = StringMid(_Crypt_HashData($ks[$a] & StringMid($seed, $b, 1), $CALG_SHA1), 3, 2) Case 8 $ks[$a] = StringMid(_Crypt_HashData($ks[$a] & StringMid($seed, $b, 1), $CALG_SHA1), 3, 2) Case 9 $ks[$a] = StringMid(_Crypt_HashData($ks[$a] & StringMid($seed, $b, 1), $CALG_SHA1), 3, 2) Case 10 $ks[$a] = StringMid(_Crypt_HashData($ks[$a] & StringMid($seed, $b, 1), $CALG_SHA1), 3, 2) EndSwitch Next For $a = 1 To 10 $key &= $ks[$a] Next $check = StringMid(_Crypt_HashData($seed & $key & 'Test program v1.000', $CALG_SHA1), 3, 4) $prekey = Encode($seed & $key & $check, 1) For $a = 1 To 30 Step +5 ConsoleWrite($a & @CRLF) If $a <> 1 Then $Actual_Key &= '-' $Actual_Key &= StringMid($prekey, $a, 5) Next ConsoleWrite($Actual_Key & @CRLF) ClipPut($Actual_Key) Func RawEncode($input = '', $mode = 0) Local $list[27], $num, $result For $a = 0 To 25 $list[$a] = Chr(65 + $a) Next $num = Asc($input) If $mode Then $num = Number('0x' & $input) $r = Floor(($num / 26)) If $num < 26 Then $result = 'A' & $list[$num] Else $result = $list[$r] $num -= (26 * $r) $result &= $list[$num] EndIf Return $result EndFunc ;==>RawEncode Func RawDecode($input = '', $mode = 0) Local $list[27], $num[3], $num, $result For $a = 0 To 25 $list[$a] = Chr(65 + $a) Next $num[1] = StringMid($input, 1, 1) $num[2] = StringMid($input, 2, 1) For $a = 1 To 2 For $b = 0 To 25 $location = StringInStr($list[$b], $num[$a]) If $location Then If $a = 1 Then $result += 26 * $b Else $result += $b If $mode = 0 Then $result = Chr($result) Else $result = Hex(String($result), 2) EndIf Return $result EndIf EndIf Next Next EndFunc ;==>RawDecode Func Encode($input = '', $mode = 0) For $a = 1 To StringLen($input) Local $result If $mode = 0 Then $result &= RawEncode(StringMid($input, $a, 1), 0) ElseIf $mode = 1 Then $result &= RawEncode(StringMid($input, $a, 2), 1) $a += 1 EndIf Next Return $result EndFunc ;==>Encode Func Decode($input = '', $mode = 0) Local $result For $a = 1 To StringLen($input) Step +2 $result &= RawDecode(StringMid($input, $a, 2), $mode) Next Return $result EndFunc ;==>Decode Func _GetHardwareID($iFlags = Default, $fIs64Bit = Default) Local $sBit = '' If @AutoItX64 Then $sBit = '64' EndIf If Not ($fIs64Bit = Default) Then $sBit = '' ; Reset to 32-bit. If $fIs64Bit And @AutoItX64 Then $sBit = '64' ; Use 64-bit if $fIs64Bit is True and AutoIt is a 64-bit process. EndIf EndIf If $iFlags = Default Then $iFlags = $UHID_MB EndIf Local $aSystem = ['Identifier', 'VideoBiosDate', 'VideoBiosVersion'], _ $iResult = 0, _ $sHKLM = 'HKEY_LOCAL_MACHINE' & $sBit, $sOutput = '', $sText = '' For $i = 0 To UBound($aSystem) - 1 $sOutput &= RegRead($sHKLM & '\HARDWARE\DESCRIPTION\System\', $aSystem[$i]) Next $sOutput &= @CPUArch $sOutput = StringStripWS($sOutput, $STR_STRIPALL) If BitAND($iFlags, $UHID_BIOS) Then Local $aBIOS = ['BaseBoardManufacturer', 'BaseBoardProduct', 'BaseBoardVersion', 'BIOSVendor', 'BIOSReleaseDate'] $sText = '' For $i = 0 To UBound($aBIOS) - 1 $sText &= RegRead($sHKLM & '\HARDWARE\DESCRIPTION\System\BIOS\', $aBIOS[$i]) Next $sText = StringStripWS($sText, $STR_STRIPALL) If $sText Then $iResult += $UHID_BIOS $sOutput &= $sText EndIf EndIf If BitAND($iFlags, $UHID_CPU) Then Local $aProcessor = ['ProcessorNameString', '~MHz', 'Identifier', 'VendorIdentifier'] $sText = '' For $i = 0 To UBound($aProcessor) - 1 $sText &= RegRead($sHKLM & '\HARDWARE\DESCRIPTION\System\CentralProcessor\0\', $aProcessor[$i]) Next For $i = 0 To UBound($aProcessor) - 1 $sText &= RegRead($sHKLM & '\HARDWARE\DESCRIPTION\System\CentralProcessor\1\', $aProcessor[$i]) Next $sText = StringStripWS($sText, $STR_STRIPALL) If $sText Then $iResult += $UHID_CPU $sOutput &= $sText EndIf EndIf If BitAND($iFlags, $UHID_HDD) Then $sText = '' Local $aDrives = DriveGetDrive('FIXED') If @error = 0 Then For $i = 1 To $aDrives[0] $sText &= DriveGetSerial($aDrives[$i]) Next EndIf $sText = StringStripWS($sText, $STR_STRIPALL) If $sText Then $iResult += $UHID_HDD $sOutput &= $sText EndIf EndIf Local $sHash = StringTrimLeft(_Crypt_HashData($sOutput, $CALG_MD5), StringLen('0x')) If $sHash = '' Then Return SetError(4, 0, '') EndIf Return SetExtended($iResult, StringRegExpReplace($sHash, '([[:xdigit:]]{8})([[:xdigit:]]{4})([[:xdigit:]]{4})([[:xdigit:]]{4})([[:xdigit:]]{12})', '{\1-\2-\3-\4-\5}')) EndFunc ;==>_GetHardwareID Local $sUniqueID = _GetHardwareID($UHID_All) ConsoleWrite($sUniqueID) $sUID =StringReplace($sUniqueID,"{","") $UID = StringReplace($sUID,"}","") $sfile = $Actual_Key & "-" & $UID $file_input = $sfile $text = "" For $i = 1 To StringLen($file_input) $asc = Asc(StringMid($file_input, $i, 1)) $chr = Chr($asc + 128) ; shift to the extended char set $text = $text & $chr Next RegWrite("HKEY_CURRENT_USER\Software\Protector", "license","REG_SZ",$text) MsgBox(0,"REG","Registered sucessfully")