Jump to content

Ask for help to fix the code - (Moved)


AndSoW
 Share

Recommended Posts

This is the code I reprinted, it is estimated that there are mistakes, please fix the need yourself, by the way, the error posted, thank!

#RequireAdmin 
#Region 
#AutoIt3Wrapper_icon=D:\tools\11.ico 
#AutoIt3Wrapper_outfile=au3confusedexe 
#EndRegion 
#Region 
#EndRegion 
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <Array.au3>
#include <String.au3>
#Include <WinAPI.au3>
#include <ComboConstants.au3>
#include <GUIConstantsEx.au3>
#include <GUIListBox.au3>
#include <GuiComboBoxEx.au3>
#include <Constants.au3>
#include <File.au3>
#Region ### START Koda GUI section ### Form= 

$FORM1 = GUICREATE ( "AU3 code is confused" , 569 , 267 , 253 , 183 , DEFAULT , $WS_EX_ACCEPTFILES ) 
GUISETBKCOLOR ( 10336747 ) 
$SCHLUSSEL_BUTTON = GUICTRLCREATEBUTTON ( "new key" , 416 , 40 , 145 , 25 , $WS_GROUP ) 
$SCHLUSSEL_INPUT = GUICTRLCREATEINPUT ( "" , 8 , 40 , 401 , 21 ) 
$DATEI_INPUT = GUICTRLCREATEINPUT ( "" , 8 , 8 , 353 , 21 ) 
GUICTRLSETSTATE ( $DATEI_INPUT , $GUI_DROPACCEPTED ) 
$DATEI_BUTTON = GUICTRLCREATEBUTTON ( "Select an AU3 file that you want to obfuscat" , 368 , 8 , 193 , 25 , $WS_GROUP ) 
$LABEL1 = GUICTRLCREATELABEL ( "" , 8 , 88 , 259 , 113 ) 
$VARIBLEN_CHECKBOX = GUICTRLCREATECHECKBOX ( "Variable name confusion" , 288 , 80 , 193 , 20 ) 
GUICTRLSETFONT ( - 1 , 10 , 400 , 0 , "MS Sans Serif" ) 
$FUNKTIONEN_CHECKBOX = GUICTRLCREATECHECKBOX ( "custom function is confused" , 288 , 120 , 201 , 20 ) 
GUICTRLSETFONT ( - 1 , 10 , 400 , 0 , "MS Sans Serif" ) 
$AUTOITBEFEHLEOBFUSCATEN_CHECKBOX = GUICTRLCREATECHECKBOX ( "AutoIt command is confused" , 288 , 160 , 185 , 20 ) 
GUICTRLSETFONT ( - 1 , 10 , 400 , 0 , "MS Sans Serif" ) 
$HASH_COMBOBOX = GUICTRLCREATECOMBO ( "Shadowhash" , 8 , 208 , 265 , 25 ) 
GUICTRLSETDATA ( $HASH_COMBOBOX , "RC4|CRC32|MD5|MD5 & RC4|MD5 & CRC32|Shadowhash & RC4|CRC32 & RC4|CRC32 & Shadowhash & RC4 & MD5 " ) 
GUICTRLSETSTATE ( $HASH_COMBOBOX , $GUI_DISABLE ) 
$AUTOITSTARKOBFUSCATE_CHECKBOX = GUICTRLCREATECHECKBOX ( "AutoIt command reinforces the confusion" , 312 , 184 , 209 , 25 ) 
GUICTRLSETFONT ( - 1 , 10 , 400 , 0 , "MS Sans Serif" ) 
GUICTRLSETSTATE ( $AUTOITSTARKOBFUSCATE_CHECKBOX , $GUI_DISABLE ) 
$GROUP1 = GUICTRLCREATEGROUP ( "" , 280 , 144 , 281 , 73 ) 
GUICTRLCREATEGROUP ( "" , - 99 , - 99 , 1 , 1 ) 
$GROUP2 = GUICTRLCREATEGROUP ( "" , 280 , 104 , 281 , 41 ) 
GUICTRLCREATEGROUP ( "" , - 99 , - 99 , 1 , 1 ) 
$GROUP3 = GUICTRLCREATEGROUP ( "" , 280 , 64 , 281 , 41 ) 
GUICTRLCREATEGROUP ( "" , - 99 , - 99 , 1 , 1 ) 
$GROUP4 = GUICTRLCREATEGROUP ( "" , 280 , 216 , 281 , 41 ) 
GUICTRLCREATEGROUP ( "" , - 99 , - 99 , 1 , 1 ) 
$INCLUDES_CHECKBOX = GUICTRLCREATECHECKBOX ( "Include integrated (to reduce the number of errors)" , 288 , 232 , 271 , 20 ) 
$KOMMENTAR_CHECKBOX = $GUI_UNCHECKED 
GUICTRLSETFONT ( - 1 , 10 , 400 , 0 , "MS Sans Serif" ) 
$START = GUICTRLCREATEBUTTON ( "start" , 8 , 232 , 265 , 25 , $WS_GROUP ) 
$LABEL2 = GUICTRLCREATELABEL ( "By none " , 76 , 64 , 124 , 24 ) 
GUICTRLSETFONT ( - 1 , 12 , 400 , 0 , "MS Sans Serif" ) 
GUICTRLSETCOLOR ( - 1 , 16711680 ) 
GUISETSTATE ( @SW_SHOW ) 
#EndRegion ### END Koda GUI section ### 
$RANDT = "" 
FOR $K = 0 TO RANDOM ( 20 , 50 , 1 ) 
IF RANDOM ( 0 , 1 , 1 ) = 1 THEN 
$RANDT = $RANDT & CHR ( RANDOM ( 65 , 90 , 1 ) ) 
ELSE 
$RANDT = $RANDT & CHR ( RANDOM ( 97 , 122 , 1 ) ) 
ENDIF 
NEXT 
GUICTRLSETDATA ( $SCHLUSSEL_INPUT , $RANDT ) 
$ZAHL = 1 
$FILE = "" 
$WRITE = "" 
$SALT = RANDOM ( 65 , 90 , 1 ) 
$SALT2 = RANDOM ( 1 , 999 , 1 ) 
DIM $KOMMENTAR [ 1 ] 
DIM $ARRAYS [ 1 ] 
$ZAHL2 = 0 
$KEY = 0 
$FILE2 = 0 
$HASH = 0 
$READ = 0 
_GUICTRLCOMBOBOX_SETCURSEL ( $HASH_COMBOBOX , 3 ) 
HOTKEYSET ( "{F6}" , "Ende" ) 
#Region Hashfunctions made by Ward (http://www.autoitscript.com/forum) 
GLOBAL $_MD5OPCODE = "0xC85800005356576A006A006A008D45A850E8280000006A00FF750CFF75088D45A850E8440000006A006A008D45A850FF7510E8710700005F5E5BC9C210005589E58B4D0831C0894114894110C70101234567C7410489ABCDEFC74108FEDCBA98C7410C765432105DC21000C80C0000538B5D088B4310C1E80383E03F8945F88B4510C1E0030143103943107303FF43148B4510C1E81D0143146A40582B45F88945F4394510724550FF750C8B45F88D44031850E8A00700008D43185053E84E0000008B45F48945FC8B45FC83C03F39451076138B450C0345FC5053E8300000008345FC40EBE28365F800EB048365FC008B45102B45FC508B450C0345FC508B45F88D44031850E84D0700005BC9C21000C84000005356576A40FF750C8D45C050E8330700008B45088B088B50048B70088B780C89D021F089D3F7D321FB09D801C1034DC081C178A46AD7C1C10701D189C821D089CBF7D321F309D801C7037DC481C756B7C7E8C1C70C01CF89F821C889FBF7D321D309D801C60375C881C6DB702024C1C61101FE89F021F889F3F7D321CB09D801C20355CC81C2EECEBDC1C1C21601F289D021F089D3F7D321FB09D801C1034DD081C1AF0F7CF5C1C10701D189C821D089CBF7D321F309D801C7037DD481C72AC68747C1C70C01CF89F821C889FBF7D321D309D801C60375D881C6134630A8C1C61101FE89F021F889F3F7D321CB09D801C20355DC81C2019546FDC1C21601F289D021F089D3F7D321FB09D801C1034DE081C1D8988069C1C10701D189C821D089CBF7D321F309D801C7037DE481C7AFF7448BC1C70C01CF89F821C889FBF7D321D309D801C60375E881C6B15BFFFFC1C61101FE89F021F889F3F7D321CB09D801C20355EC81C2BED75C89C1C21601F289D021F089D3F7D321FB09D801C1034DF081C12211906BC1C10701D189C821D089CBF7D321F309D801C7037DF481C7937198FDC1C70C01CF89F821C889FBF7D321D309D801C60375F881C68E4379A6C1C61101FE89F021F889F3F7D321CB09D801C20355FC81C22108B449C1C21601F289D021F889FBF7D321F309D801C1034DC481C162251EF6C1C10501D189C821F089F3F7D321D309D801C7037DD881C740B340C0C1C70901CF89F821D089D3F7D321CB09D801C60375EC81C6515A5E26C1C60E01FE89F021C889CBF7D321FB09D801C20355C081C2AAC7B6E9C1C21401F289D021F889FBF7D321F309D801C1034DD481C15D102FD6C1C10501D189C821F089F3F7D321D309D801C7037DE881C753144402C1C70901CF89F821D089D3F7D321CB09D801C60375FC81C681E6A1D8C1C60E01FE89F021C889CBF7D321FB09D801C20355D081C2C8FBD3E7C1C21401F289D021F889FBF7D321F309D801C1034DE481C1E6CDE121C1C10501D189C821F089F3F7D321D309D801C7037D" 
$_MD5OPCODE &= "F881C7D60737C3C1C70901CF89F821D089D3F7D321CB09D801C60375CC81C6870DD5F4C1C60E01FE89F021C889CBF7D321FB09D801C20355E081C2ED145A45C1C21401F289D021F889FBF7D321F309D801C1034DF481C105E9E3A9C1C10501D189C821F089F3F7D321D309D801C7037DC881C7F8A3EFFCC1C70901CF89F821D089D3F7D321CB09D801C60375DC81C6D9026F67C1C60E01FE89F021C889CBF7D321FB09D801C20355F081C28A4C2A8DC1C21401F289D031F031F801C1034DD481C14239FAFFC1C10401D189C831D031F001C7037DE081C781F67187C1C70B01CF89F831C831D001C60375EC81C622619D6DC1C61001FE89F031F831C801C20355F881C20C38E5FDC1C21701F289D031F031F801C1034DC481C144EABEA4C1C10401D189C831D031F001C7037DD081C7A9CFDE4BC1C70B01CF89F831C831D001C60375DC81C6604BBBF6C1C61001FE89F031F831C801C20355E881C270BCBFBEC1C21701F289D031F031F801C1034DF481C1C67E9B28C1C10401D189C831D031F001C7037DC081C7FA27A1EAC1C70B01CF89F831C831D001C60375CC81C68530EFD4C1C61001FE89F031F831C801C20355D881C2051D8804C1C21701F289D031F031F801C1034DE481C139D0D4D9C1C10401D189C831D031F001C7037DF081C7E599DBE6C1C70B01CF89F831C831D001C60375FC81C6F87CA21FC1C61001FE89F031F831C801C20355C881C26556ACC4C1C21701F289F8F7D009D031F001C1034DC081C1442229F4C1C10601D189F0F7D009C831D001C7037DDC81C797FF2A43C1C70A01CF89D0F7D009F831C801C60375F881C6A72394ABC1C60F01FE89C8F7D009F031F801C20355D481C239A093FCC1C21501F289F8F7D009D031F001C1034DF081C1C3595B65C1C10601D189F0F7D009C831D001C7037DCC81C792CC0C8FC1C70A01CF89D0F7D009F831C801C60375E881C67DF4EFFFC1C60F01FE89C8F7D009F031F801C20355C481C2D15D8485C1C21501F289F8F7D009D031F001C1034DE081C14F7EA86FC1C10601D189F0F7D009C831D001C7037DFC81C7E0E62CFEC1C70A01CF89D0F7D009F831C801C60375D881C6144301A3C1C60F01FE89C8F7D009F031F801C20355F481C2A111084EC1C21501F289F8F7D009D031F001C1034DD081C1827E53F7C1C10601D189F0F7D009C831D001C7037DEC81C735F23ABDC1C70A01CF89D0F7D009F831C801C60375C881C6BBD2D72AC1C60F01FE89C8F7D009F031F801C20355E481C291D386EBC1C21501F28B4508010801500401700801780C5F5E5BC9C20800C814000053E840000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008F45EC8B5D0C6A088D4310508D" 
$_MD5OPCODE &= "45F850E8510000008B4310C1E80383E03F8945F483F838730B6A38582B45F48945F0EB096A78582B45F48945F0FF75F0FF75ECFF750CE831F8FFFF6A088D45F850FF750CE823F8FFFF6A1053FF7508E8050000005BC9C210005589E55156578B7D088B750C8B4D10FCF3A45F5E595DC20C00" 
#EndRegion 
WHILE 1 
IF $ZAHL2 = 0 THEN 
IF ( BITAND ( GUICTRLREAD ( $FUNKTIONEN_CHECKBOX ) , $GUI_CHECKED ) = 1 OR BITAND ( GUICTRLREAD ( $VARIBLEN_CHECKBOX ) , $GUI_CHECKED ) = 1 ) THEN 
GUICTRLSETSTATE ( $HASH_COMBOBOX , $GUI_ENABLE ) 
$ZAHL2 = 1 
ELSE 
GUICTRLSETSTATE ( $HASH_COMBOBOX , $GUI_DISABLE ) 
$ZAHL2 = 1 
ENDIF 
ENDIF 
$NMSG = GUIGETMSG ( ) 
SWITCH $NMSG 
CASE $GUI_EVENT_CLOSE 
EXIT 
CASE $SCHLUSSEL_BUTTON 
$RANDT = "" 
FOR $K = 0 TO RANDOM ( 20 , 50 , 1 ) 
IF RANDOM ( 0 , 1 , 1 ) = 1 THEN 
$RANDT = $RANDT & CHR ( RANDOM ( 65 , 90 , 1 ) ) 
ELSE 
$RANDT = $RANDT & CHR ( RANDOM ( 97 , 122 , 1 ) ) 
ENDIF 
NEXT 
GUICTRLSETDATA ( $SCHLUSSEL_INPUT , $RANDT ) 
CASE $SCHLUSSEL_INPUT 
CASE $DATEI_INPUT 
CASE $DATEI_BUTTON 
$FILE = FILEOPENDIALOG ( "Select File for confusion" , "" , "(*.au3)" , 1 ) 
GUICTRLSETDATA ( $DATEI_INPUT , $FILE ) 
IF FILEEXISTS ( GUICTRLREAD ( $DATEI_INPUT ) ) THEN 
GUICTRLSETDATA ( $LABEL1 , "Line of code : " & _FILECOUNTLINES ( GUICTRLREAD ( $DATEI_INPUT ) ) & @CRLF & @CRLF & "size : " & FILEGETSIZE ( GUICTRLREAD ( $DATEI_INPUT ) ) & " B" & @CRLF & @CRLF & "Estimated size " & @CRLF & "Through confusion: " & @CRLF & ROUND ( ( FILEGETSIZE ( GUICTRLREAD ( $DATEI_INPUT ) ) * 5 ) / 1024 , 1 ) & " KB" ) 
ENDIF 
CASE $VARIBLEN_CHECKBOX 
$ZAHL2 = 0 
CASE $FUNKTIONEN_CHECKBOX 
$ZAHL2 = 0 
CASE $AUTOITBEFEHLEOBFUSCATEN_CHECKBOX 
IF $ZAHL = 1 THEN 
GUICTRLSETSTATE ( $AUTOITSTARKOBFUSCATE_CHECKBOX , $GUI_ENABLE ) 
$ZAHL = 2 
ELSE 
GUICTRLSETSTATE ( $AUTOITSTARKOBFUSCATE_CHECKBOX , $GUI_DISABLE ) 
GUICTRLSETSTATE ( $AUTOITSTARKOBFUSCATE_CHECKBOX , $GUI_UNCHECKED ) 
$ZAHL = 1 
ENDIF 
CASE $HASH_COMBOBOX 
CASE $AUTOITSTARKOBFUSCATE_CHECKBOX 
CASE $KOMMENTAR_CHECKBOX 
CASE $START 
IF GUICTRLREAD ( $SCHLUSSEL_INPUT ) <> "" AND GUICTRLREAD ( $SCHLUSSEL_INPUT ) <> " " THEN 
IF FILEEXISTS ( GUICTRLREAD ( $DATEI_INPUT ) ) AND _FILECOUNTLINES ( GUICTRLREAD ( $DATEI_INPUT ) ) <> 0 AND FILEREAD ( GUICTRLREAD ( $DATEI_INPUT ) ) <> "" THEN 
$FILE = GUICTRLREAD ( $DATEI_INPUT ) 
OBFUSCATE ( ) 
ELSE 
MSGBOX ( 0 , "prompt" , "Invalid or incorrect file detected" ) 
ENDIF 
ELSE 
IF _GUICTRLCOMBOBOX_GETCURSEL ( $HASH_COMBOBOX ) = 3 OR _GUICTRLCOMBOBOX_GETCURSEL ( $HASH_COMBOBOX ) = 5 OR _GUICTRLCOMBOBOX_GETCURSEL ( $HASH_COMBOBOX ) = 2 THEN 
IF FILEEXISTS ( GUICTRLREAD ( $DATEI_INPUT ) ) AND _FILECOUNTLINES ( GUICTRLREAD ( $DATEI_INPUT ) ) <> 0 AND FILEREAD ( GUICTRLREAD ( $DATEI_INPUT ) ) <> "" THEN 
$FILE = GUICTRLREAD ( $DATEI_INPUT ) 
OBFUSCATE ( ) 
ELSE 
MSGBOX ( 0 , "prompt" , "Invalid or incorrect file detected" ) 
ENDIF 
ELSE 
IF ( BITAND ( GUICTRLREAD ( $FUNKTIONEN_CHECKBOX ) , $GUI_CHECKED ) = 0 AND BITAND ( GUICTRLREAD ( $VARIBLEN_CHECKBOX ) , $GUI_CHECKED ) = 0 ) THEN 
IF FILEEXISTS ( GUICTRLREAD ( $DATEI_INPUT ) ) AND _FILECOUNTLINES ( GUICTRLREAD ( $DATEI_INPUT ) ) <> 0 AND FILEREAD ( GUICTRLREAD ( $DATEI_INPUT ) ) <> "" THEN 
$FILE = GUICTRLREAD ( $DATEI_INPUT ) 
OBFUSCATE ( ) 
ELSE 
MSGBOX ( 0 , "prompt" , "Invalid or incorrect file detected" ) 
ENDIF 
ELSE 
MSGBOX ( 0 , "prompt" , "Note that keys can only be composed of letters" ) 
ENDIF 
ENDIF 
ENDIF 
ENDSWITCH 
WEND 
FUNC ARRAYOBFUSCATE ( ) 
_FILEREADTOARRAY ( $FILE2 , $ARRAYS ) 
$GROS = UBOUND ( $ARRAYS ) - 1 
IF BITAND ( GUICTRLREAD ( $FUNKTIONEN_CHECKBOX ) , $GUI_CHECKED ) = 1 THEN 
_ARRAYADD ( $ARRAYS , "Func _" & HASH ( CHR ( $SALT ) & "_Arrays_Definition_Fuction" & CHR ( $SALT ) , $KEY , $HASH ) & CHR ( $SALT ) & "()" ) 
_ARRAYINSERT ( $ARRAYS , 2 , "_" & HASH ( CHR ( $SALT ) & "_Arrays_Definition_Fuction" & CHR ( $SALT ) , $KEY , $HASH ) & CHR ( $SALT ) & "()" ) 
ELSE 
_ARRAYADD ( $ARRAYS , "Func _" & CHR ( $SALT ) & "_Arrays_Definition_Fuction" & CHR ( $SALT ) & "()" ) 
_ARRAYINSERT ( $ARRAYS , 2 , "_" & CHR ( $SALT ) & "_Arrays_Definition_Fuction" & CHR ( $SALT ) & "()" ) 
ENDIF 
FOR $I = 1 TO $GROS 
IF STRINGINSTR ( $ARRAYS [ $I ] , "$" ) <> 0 AND STRINGINSTR ( $ARRAYS [ $I ] , "[" ) <> 0 AND STRINGINSTR ( $ARRAYS [ $I ] , "]" ) <> 0 THEN 
$OK = 1 
$RIGHTARRAY = _STRINGBETWEEN ( $ARRAYS [ $I ] , "'" , "'" ) 
IF ISARRAY ( $RIGHTARRAY ) THEN 
FOR $G = 0 TO UBOUND ( $RIGHTARRAY ) - 1 
IF STRINGINSTR ( $RIGHTARRAY [ $G ] , "$" ) <> 0 AND STRINGINSTR ( $RIGHTARRAY [ $G ] , "[" ) <> 0 AND STRINGINSTR ( $RIGHTARRAY [ $G ] , "]" ) <> 0 THEN 
$OK = 1 
ELSE 
$OK = 0 
ENDIF 
NEXT 
ENDIF 
$RIGHTARRAY = _STRINGBETWEEN ( $ARRAYS [ $I ] , """ , """ ) 
IF ISARRAY ( $RIGHTARRAY ) THEN 
FOR $G = 0 TO UBOUND ( $RIGHTARRAY ) - 1 
IF STRINGINSTR ( $RIGHTARRAY [ $G ] , "$" ) <> 0 AND STRINGINSTR ( $RIGHTARRAY [ $G ] , "[" ) <> 0 AND STRINGINSTR ( $RIGHTARRAY [ $G ] , "]" ) <> 0 THEN 
$OK = 1 
ELSE 
$OK = 0 
ENDIF 
NEXT 
ENDIF 
$ARRA = _STRINGBETWEEN ( $ARRAYS [ $I ] , "[" , "]" ) 
IF ISARRAY ( $ARRA ) AND STRINGREGEXP ( $ARRA [ 0 ] , "(\d*)" ) AND STRINGINSTR ( $ARRA [ 0 ] , "$" ) = 0 AND $OK = 1 THEN 
IF STRINGREGEXP ( $ARRAYS [ $I ] , "[" & $ARRA [ 0 ] & "]" ) THEN 
IF BITAND ( GUICTRLREAD ( $VARIBLEN_CHECKBOX ) , $GUI_CHECKED ) = 1 THEN 
$OBFUS = CHR ( $SALT ) & "_" & CHR ( $SALT ) & HASH ( $ARRA [ 0 ] , $KEY , $HASH ) 
ELSE 
$OBFUS = "_" & CHR ( $SALT ) & $ARRA [ 0 ] & CHR ( $SALT ) 
ENDIF 
$ARRAYS [ $I ] = STRINGREPLACE ( $ARRAYS [ $I ] , "[" & $ARRA [ 0 ] & "]" , "[" & "$" & $OBFUS & "]" , 1 ) 
IF BITAND ( GUICTRLREAD ( $VARIBLEN_CHECKBOX ) , $GUI_CHECKED ) = 1 THEN 
_ARRAYADD ( $ARRAYS , "Global $" & $OBFUS ) 
_ARRAYADD ( $ARRAYS , "Assign('" & $OBFUS & "', '" & $ARRA [ 0 ] & "')" ) 
ELSE 
_ARRAYADD ( $ARRAYS , "Global $" & $OBFUS ) 
_ARRAYADD ( $ARRAYS , "Assign('" & $OBFUS & "', '" & $ARRA [ 0 ] & "')" ) 
ENDIF 
ENDIF 
ENDIF 
ENDIF 
$PROZENT = $I / UBOUND ( $ARRAYS ) * 100 
PROGRESSSET ( $PROZENT , "Arrays werden obfuscatet" ) 
NEXT 
_ARRAYADD ( $ARRAYS , "Endfunc" ) 
_FILEWRITEFROMARRAY ( $FILE2 , $ARRAYS ) 
ENDFUNC 
FUNC INCLUDESEINBINDEN ( ) 
$I = 0 
$INCLUDES = "" 
$PROZENT = 0 
$STRING = "" 
FOR $HIU = 0 TO 1 
$I = 0 
$READ = FILEREAD ( $FILE ) 
$READ = STRINGSTRIPWS ( $READ , 8 ) 
WHILE STRINGREGEXP ( $READ , "#include<(\w+)" ) = 1 OR STRINGREGEXP ( $READ , "#include"(\w+)" ) = 1 
$STRING = "" 
$READ = FILEREAD ( $FILE ) 
$READ = STRINGSTRIPWS ( $READ , 8 ) 
IF STRINGINSTR ( $READ , "#include" ) <> 0 THEN 
$SPLITDATEI = STRINGSPLIT ( $FILE , "\" ) 
FOR $A = 1 TO $SPLITDATEI [ 0 ] - 1 
$STRING = $STRING & $SPLITDATEI [ $A ] & "\" 
NEXT 
$READ = STRINGSTRIPWS ( $READ , 8 ) 
IF STRINGREGEXP ( $READ , "#include<" ) = 1 THEN 
$BETWEEN = _STRINGBETWEEN ( $READ , "#include<" , ">" ) 
ELSE 
$BETWEEN = _STRINGBETWEEN ( $READ , "#include"" , """ ) 
ENDIF 
IF ISARRAY ( $BETWEEN ) THEN 
$STRING = $STRING & $BETWEEN [ 0 ] 
$STRING = STRINGREPLACE ( $STRING , ">" , "" ) 
$STRING = STRINGREPLACE ( $STRING , """ , "" ) 
IF FILEEXISTS ( $STRING ) THEN 
$READ = STRINGREPLACE ( $READ , $BETWEEN [ 0 ] , FILEREAD ( $STRING ) ) 
ELSE 
IF FILEEXISTS ( REGREAD ( "HKEY_LOCAL_MACHINE\SOFTWARE\AutoIt v3\AutoIt" , "InstallDir" ) & "\Include\String.au3" ) THEN 
$READ = STRINGSTRIPWS ( $READ , 8 ) 
$STRING = STRINGREPLACE ( $STRING , "<" , "" ) 
$FILE3 = REGREAD ( "HKEY_LOCAL_MACHINE\SOFTWARE\AutoIt v3\AutoIt" , "InstallDir" ) & "\Include\" & $BETWEEN [ 0 ] 
IF FILEEXISTS ( $FILE3 ) = 0 THEN 
$FILE3 = REGREAD ( "HKEY_LOCAL_MACHINE\SOFTWARE\AutoIt v3\AutoIt" , "InstallDir" ) & "\Include\" & _STRINGPROPER ( $BETWEEN [ 0 ] ) 
ELSE 
$READ = STRINGSTRIPWS ( $READ , 8 ) 
$BETWEEN [ 0 ] = STRINGSTRIPWS ( $BETWEEN [ 0 ] , 8 ) 
IF FILEEXISTS ( $FILE3 ) THEN 
IF STRINGINSTR ( $INCLUDES , $BETWEEN [ 0 ] ) = 0 THEN 
$INCLUDES = $INCLUDES & " " & $BETWEEN [ 0 ] 
_REPLACESTRINGINFILE ( $FILE , "#include<" & $BETWEEN [ 0 ] & ">" , FILEREAD ( $FILE3 ) , 0 , 0 ) 
_REPLACESTRINGINFILE ( $FILE , "#include <" & $BETWEEN [ 0 ] & ">" , FILEREAD ( $FILE3 ) , 0 , 0 ) 
_REPLACESTRINGINFILE ( $FILE , "#include  <" & $BETWEEN [ 0 ] & ">" , FILEREAD ( $FILE3 ) , 0 , 0 ) 
_REPLACESTRINGINFILE ( $FILE , "#include"" & $BETWEEN [ 0 ] & """ , FILEREAD ( $FILE3 ) , 0 , 0 ) 
_REPLACESTRINGINFILE ( $FILE , "#include "" & $BETWEEN [ 0 ] & """ , FILEREAD ( $FILE3 ) , 0 , 0 ) 
_REPLACESTRINGINFILE ( $FILE , "#include  "" & $BETWEEN [ 0 ] & """ , FILEREAD ( $FILE3 ) , 0 , 0 ) 
_REPLACESTRINGINFILE ( $FILE , "#include-once" , "" ) 
$I = $I + 1 
ELSE 
_REPLACESTRINGINFILE ( $FILE , "#include<" & $BETWEEN [ 0 ] & ">" , "" ) 
_REPLACESTRINGINFILE ( $FILE , "#include <" & $BETWEEN [ 0 ] & ">" , "" ) 
_REPLACESTRINGINFILE ( $FILE , "#include  <" & $BETWEEN [ 0 ] & ">" , "" ) 
_REPLACESTRINGINFILE ( $FILE , "#include"" & $BETWEEN [ 0 ] & """ , "" ) 
_REPLACESTRINGINFILE ( $FILE , "#include "" & $BETWEEN [ 0 ] & """ , "" ) 
_REPLACESTRINGINFILE ( $FILE , "#include  "" & $BETWEEN [ 0 ] & """ , "" ) 
_REPLACESTRINGINFILE ( $FILE , "#include-once" , "" ) 
$I = $I + 1 
ENDIF 
ENDIF 
_ARRAYDELETE ( $BETWEEN , 0 ) 
ENDIF 
ENDIF 
ENDIF 
ENDIF 
ELSE 
$READ2 = $READ 
ENDIF 
$COUNTER = STRINGREGEXP ( $READ , "#include<(\w+)" , 3 ) 
$COUNTER2 = STRINGREGEXP ( $READ , "#include"(\w+)" , 3 ) 
$GESAMT = $I + UBOUND ( $COUNTER ) + UBOUND ( $COUNTER2 ) 
$PROZENT = ( $I / $GESAMT ) * 100 
PROGRESSSET ( $PROZENT , "Including integration" & @CRLF & " Includes " & UBOUND ( $COUNTER ) ) 
WEND 
NEXT 
$READ = FILEREAD ( $FILE ) 
_FILECREATE ( $FILE ) 
FILECLOSE ( $FILE ) 
FILEWRITE ( $FILE , $READ ) 
ENDFUNC 
FUNC KOMMENTAREENTFERNEN ( ) 
_FILEREADTOARRAY ( $FILE , $KOMMENTAR ) 
$GROSE = UBOUND ( $KOMMENTAR ) - 1 
FOR $I = 1 TO $GROSE 
$PROZENT = $I / $GROSE * 100 
PROGRESSSET ( $PROZENT , "release will be deleted " & @CRLF & "Current line: " & $I & " von " & $GROSE ) 
IF $GROSE <> $I THEN 
IF $KOMMENTAR [ $I ] = "" OR $KOMMENTAR [ $I ] = " " THEN 
_ARRAYDELETE ( $KOMMENTAR , $I ) 
$GROSE = $GROSE - 1 
$I = $I - 1 
ENDIF 
IF STRINGINSTR ( STRINGSTRIPWS ( $KOMMENTAR [ $I ] , 8 ) , ";" ) = 1 THEN 
_ARRAYDELETE ( $KOMMENTAR , $I ) 
$GROSE = $GROSE - 1 
$I = $I - 1 
ELSE 
IF STRINGINSTR ( STRINGSTRIPWS ( $KOMMENTAR [ $I ] , 8 ) , ";~" ) = 1 THEN 
_ARRAYDELETE ( $KOMMENTAR , $I ) 
$GROSE = $GROSE - 1 
$I = $I - 1 
ENDIF 
ENDIF 
IF STRINGINSTR ( $KOMMENTAR [ $I ] , "#cs" , 1 ) = 1 THEN 
DO 
_ARRAYDELETE ( $KOMMENTAR , $I ) 
$GROSE = $GROSE - 1 
UNTIL $I = $GROSE - 2 OR STRINGREGEXP ( $KOMMENTAR [ $I ] , "#ce" ) 
IF STRINGREGEXP ( $KOMMENTAR [ $I ] , "#ce" ) THEN 
_ARRAYDELETE ( $KOMMENTAR , $I ) 
$I = $I - 1 
$GROSE = $GROSE - 1 
ENDIF 
ENDIF 
IF STRINGINSTR ( $KOMMENTAR [ $I ] , ";" ) <> 0 THEN 
$KOMM2 = STRINGSTRIPWS ( $KOMMENTAR [ $I ] , 8 ) 
$AAAA = 0 
$LEN = STRINGLEN ( $KOMMENTAR [ $I ] ) 
DO 
$AAAA += 1 
$KOMM3 = STRINGRIGHT ( $KOMM2 , $AAAA ) 
IF $LEN <= $AAAA THEN EXITLOOP 
UNTIL STRINGINSTR ( STRINGSTRIPWS ( $KOMM3 , 8 ) , "";" ) = 2 OR STRINGINSTR ( STRINGSTRIPWS ( $KOMM3 , 8 ) , ");" ) = 2 OR STRINGINSTR ( STRINGSTRIPWS ( $KOMM3 , 8 ) , "';" ) = 2 
IF $LEN > $AAAA THEN 
$KOMMENTAR [ $I ] = STRINGTRIMRIGHT ( $KOMMENTAR [ $I ] , $AAAA ) 
ENDIF 
ENDIF 
IF STRINGINSTR ( STRINGSTRIPWS ( $KOMMENTAR [ $I ] , 8 ) , "EndFunc;" , 2 ) = 1 THEN 
$KOMMENTAR [ $I ] = "EndFunc" 
ENDIF 
ELSE 
EXITLOOP 
ENDIF 
NEXT 
_FILECREATE ( $FILE ) 
FILECLOSE ( $FILE ) 
_FILEWRITEFROMARRAY ( $FILE , $KOMMENTAR , 1 ) 
ENDFUNC 
FUNC OBFUSCATE ( ) 
PROGRESSON ( "confusion" , "progress :" ) 
$SAVE = FILEREAD ( $FILE ) 
$FILE4 = STRINGTRIMRIGHT ( $FILE , 4 ) & "-Sicherheitskopie.au3" 
_FILECREATE ( $FILE4 ) 
FILECLOSE ( $FILE4 ) 
FILEWRITE ( $FILE4 , $SAVE ) 
KOMMENTAREENTFERNEN ( ) 
$PROZENT = 0 
PROGRESSSET ( $PROZENT ) 
IF BITAND ( GUICTRLREAD ( $INCLUDES_CHECKBOX ) , $GUI_CHECKED ) = 1 THEN 
INCLUDESEINBINDEN ( ) 
ENDIF 
$HASH = _GUICTRLCOMBOBOX_GETCURSEL ( $HASH_COMBOBOX ) 
#Region FileOpen 
DIM $FUNCTIONS [ 1 ] 
IF $FILE = "" OR $FILE = 1 THEN 
EXIT 
ENDIF 
$SCHLUSSEL = GUICTRLREAD ( $SCHLUSSEL_INPUT ) 
#EndRegion 
#Region File erstellen 
$FILE2 = STRINGTRIMRIGHT ( $FILE , 4 ) 
$FILE2 = $FILE2 & "-obfuscated.au3" 
_FILECREATE ( $FILE2 ) 
FILECLOSE ( $FILE2 ) 
#EndRegion 
IF BITAND ( GUICTRLREAD ( $AUTOITSTARKOBFUSCATE_CHECKBOX ) , $GUI_CHECKED ) = 1 THEN 
IF STRINGINSTR ( FILEREAD ( $FILE ) , "Func Quersumme($zahl)" & @CRLF & "local $split" ) = 0 THEN 
$BEFEHL = @CRLF & "Func Quersumme($zahl)" & @CRLF & "local $split=StringSplit($zahl,"")" & @CRLF & "$zahl=0" & @CRLF & "For $i=1 To UBound($split)-1" & @CRLF & "$zahl=$zahl+$split[$i]" & @CRLF & "Next" & @CRLF & "return $zahl" & @CRLF & "EndFunc" 
FILEWRITE ( $FILE , $BEFEHL ) 
ENDIF 
ENDIF 
#Region Suchen nach Funktionen und hinzuf   zum Array $functions (wird  gebraucht) 
KOMMENTAREENTFERNEN ( ) 
FOR $I = 0 TO _FILECOUNTLINES ( $FILE ) 
$PROZENT = ( $I / _FILECOUNTLINES ( $FILE ) ) * 100 
PROGRESSSET ( $PROZENT , "Funktionen werden gesucht" ) 
$PROZENT = 0 
$READ = FILEREADLINE ( $FILE , $I ) 
$READ = STRINGSTRIPWS ( $READ , 1 ) 
IF ISARRAY ( _STRINGBETWEEN ( $READ , "func" & CHR ( 32 ) , "(" ) ) THEN 
$TEMP = _STRINGBETWEEN ( $READ , "func" & CHR ( 32 ) , "(" ) 
$TEMP [ 0 ] = STRINGSTRIPWS ( $TEMP [ 0 ] , 8 ) 
_ARRAYADD ( $FUNCTIONS , $TEMP [ 0 ] & "(" ) 
IF ISARRAY ( $FUNCTIONS ) THEN 
IF $FUNCTIONS [ 0 ] = "" OR $FUNCTIONS [ 0 ] = " " THEN 
_ARRAYDELETE ( $FUNCTIONS , 0 ) 
ENDIF 
ENDIF 
ENDIF 
#EndRegion 
#Region Variablen werden mit Hash ersetzt 
$BEFEHL = $READ 
$READ = $READ & ";" 
IF STRINGREGEXP ( $READ , "(.*\x24\w+.*)" ) == 1 THEN 
$TEMP = STRINGREGEXP ( $READ , "(\x24\w*)" , 3 ) 
IF BITAND ( GUICTRLREAD ( $VARIBLEN_CHECKBOX ) , $GUI_CHECKED ) = 1 THEN 
FOR $A = 0 TO UBOUND ( $TEMP ) - 1 STEP 1 
$TEMP [ $A ] = STRINGTRIMLEFT ( $TEMP [ $A ] , 1 ) 
$READ = STRINGREGEXPREPLACE ( $READ , "\x24" & $TEMP [ $A ] & "(\W)" , "$_" & HASH ( $TEMP [ $A ] , $SCHLUSSEL , $HASH ) & "\1" , $HASH ) 
$PROZENT = ( $A / UBOUND ( $TEMP ) ) * 100 - 1 
PROGRESSSET ( $PROZENT , "Hash of variables" ) 
NEXT 
ENDIF 
ENDIF 
$READ = STRINGTRIMRIGHT ( $READ , 1 ) 
FILEWRITE ( $FILE2 , $READ & @CRLF ) 
NEXT 
#EndRegion 
#Region Funktionen im ganzen Skript , die im Array $functions sind , werden nun im ganzen Skript durch Hashes ersetzt 
FILEOPEN ( $FILE2 , 1 ) 
$READ = FILEREAD ( $FILE2 ) 
$READ = STRINGSTRIPWS ( $READ , 2 ) 
_FILECREATE ( $FILE2 ) 
FILECLOSE ( $FILE2 ) 
IF BITAND ( GUICTRLREAD ( $FUNKTIONEN_CHECKBOX ) , $GUI_CHECKED ) = 1 THEN 
FOR $HJ = 0 TO UBOUND ( $FUNCTIONS ) - 1 STEP 1 
$PROZENT = INT ( ( $HJ / UBOUND ( $FUNCTIONS ) ) * 100 ) 
PROGRESSSET ( $PROZENT , "Function replaced by hash value" ) 
IF $FUNCTIONS [ 0 ] <> "" AND $FUNCTIONS [ 0 ] <> " " THEN 
$READ = STRINGREPLACE ( $READ , " (" , "(" ) 
$READ = STRINGREPLACE ( $READ , $FUNCTIONS [ $HJ ] , "_" & HASH ( $FUNCTIONS [ $HJ ] , $SCHLUSSEL , $HASH ) & "(" ) 
$READ = STRINGREPLACE ( $READ , "'" & STRINGTRIMRIGHT ( $FUNCTIONS [ $HJ ] , 1 ) & "'" , "'" & "_" & HASH ( $FUNCTIONS [ $HJ ] , $SCHLUSSEL , $HASH ) & "'" ) 
$READ = STRINGREPLACE ( $READ , """ & STRINGTRIMRIGHT ( $FUNCTIONS [ $HJ ] , 1 ) & """ , """ & "_" & HASH ( $FUNCTIONS [ $HJ ] , $SCHLUSSEL , $HASH ) & """ ) 
ENDIF 
NEXT 
ENDIF 
FILEWRITE ( $FILE2 , $READ ) 
#EndRegion 
#Region Die restlichen AutoIT Befehle werden ersetzt 
DIM $READ [ _FILECOUNTLINES ( $FILE2 ) + 3 ] 
FOR $I = 0 TO _FILECOUNTLINES ( $FILE2 ) 
$READ [ $I ] = FILEREADLINE ( $FILE2 , $I ) 
NEXT 
$COUNT = _FILECOUNTLINES ( $FILE2 ) 
$SPLITSTRING = "" 
$WRITE = "" 
$READ4 = FILEREAD ( $FILE2 ) 
#Region Strings werden durch Variablen ersetzt 
IF BITAND ( GUICTRLREAD ( $AUTOITSTARKOBFUSCATE_CHECKBOX ) , $GUI_CHECKED ) = 1 THEN 
IF BITAND ( GUICTRLREAD ( $FUNKTIONEN_CHECKBOX ) , $GUI_CHECKED ) = 1 THEN 
_ARRAYADD ( $READ , "Func _" & CHR ( $SALT ) & HASH ( CHR ( $SALT ) & "_Variable1Definition2Function3" , $SCHLUSSEL , $HASH ) & "()" ) 
ELSE 
_ARRAYADD ( $READ , "Func _" & CHR ( $SALT ) & "_" & CHR ( $SALT ) & "_Variable_Definition_Function" & "()" ) 
ENDIF 
$COUNT = _FILECOUNTLINES ( $FILE2 ) 
FOR $I = 0 TO $COUNT 
$SPLITSTRING = "" 
$PROZENT = INT ( ( $I / $COUNT ) * 100 ) 
PROGRESSSET ( $PROZENT , "Replace a string with a variable" ) 
FOR $IIII = 0 TO 1 
$TEMP3 = STRINGINSTR ( $READ [ $I ] , "'" ) 
$TEMP4 = STRINGINSTR ( $READ [ $I ] , """ ) 
IF $TEMP4 < $TEMP3 OR $TEMP3 = 0 THEN 
$BETW = _STRINGBETWEEN ( $READ [ $I ] , """ , """ ) 
ELSEIF $TEMP3 < $TEMP4 OR $TEMP4 = 0 THEN 
$BETW = _STRINGBETWEEN ( $READ [ $I ] , "'" , "'" ) 
ENDIF 
IF ISARRAY ( $BETW ) THEN 
IF $BETW [ 0 ] <> "" AND STRINGLEN ( $BETW [ 0 ] ) < 250 THEN 
$BETW2 = STRINGSTRIPWS ( $BETW [ 0 ] , 8 ) 
$BETW2 = STRINGREGEXPREPLACE ( $BETW2 , "(\W)" , $I & CHR ( $SALT ) ) 
$VAR4 = "$" & CHR ( $SALT ) & "_" & HASH ( CHR ( $SALT ) & $BETW2 & "_constZeichenString1" , $SCHLUSSEL , 3 ) 
_ARRAYADD ( $READ , "Global " & $VAR4 ) 
IF $TEMP4 < $TEMP3 THEN 
_ARRAYADD ( $READ , "Assign("" & STRINGTRIMLEFT ( $VAR4 , 1 ) & "", "" & $BETW [ 0 ] & "")" ) 
ELSE 
_ARRAYADD ( $READ , "Assign('" & STRINGTRIMLEFT ( $VAR4 , 1 ) & "', '" & $BETW [ 0 ] & "')" ) 
ENDIF 
IF $TEMP4 < $TEMP3 OR $TEMP3 = 0 THEN 
$READ [ $I ] = STRINGREPLACE ( $READ [ $I ] , """ & $BETW [ 0 ] & """ , " " & $VAR4 & " " ) 
ELSEIF $TEMP3 < $TEMP4 OR $TEMP4 = 0 THEN 
$READ [ $I ] = STRINGREPLACE ( $READ [ $I ] , "'" & $BETW [ 0 ] & "'" , " " & $VAR4 & " " ) 
ENDIF 
ENDIF 
ENDIF 
NEXT 
$COUNT = _FILECOUNTLINES ( $FILE2 ) 
NEXT 
IF BITAND ( GUICTRLREAD ( $FUNKTIONEN_CHECKBOX ) , $GUI_CHECKED ) = 1 THEN 
_ARRAYINSERT ( $READ , 2 , "_" & CHR ( $SALT ) & HASH ( CHR ( $SALT ) & "_Variable1Definition2Function3" , $SCHLUSSEL , $HASH ) & "()" ) 
ELSE 
_ARRAYINSERT ( $READ , 2 , "_" & CHR ( $SALT ) & "_" & CHR ( $SALT ) & "_Variable_Definition_Function" & "()" ) 
ENDIF 
_ARRAYADD ( $READ , "EndFunc" ) 
_FILEWRITEFROMARRAY ( $FILE2 , $READ , 1 ) 
ENDIF 
#EndRegion 
IF BITAND ( GUICTRLREAD ( $AUTOITSTARKOBFUSCATE_CHECKBOX ) , $GUI_CHECKED ) = 1 THEN 
ARRAYOBFUSCATE ( ) 
ENDIF 
REDIM $READ [ _FILECOUNTLINES ( $FILE2 ) + 3 ] 
FOR $I = 0 TO _FILECOUNTLINES ( $FILE2 ) 
$READ [ $I ] = FILEREADLINE ( $FILE2 , $I ) 
NEXT 
$PROZENT = $PROZENT + 10 
$COU = _FILECOUNTLINES ( $FILE2 ) 
_ARRAYDELETE ( $READ , 0 ) 
_ARRAYDELETE ( $READ , 0 ) 
_FILECREATE ( $FILE2 ) 
FILEOPEN ( $FILE2 , 1 ) 
FOR $I = 0 TO $COU 
$PROZENT = ( $I / $COU ) * 100 
PROGRESSSET ( $PROZENT , "commands for AutoIt are all confuseds" ) 
$READ [ $I ] = STRINGSTRIPWS ( $READ [ $I ] , 4 ) 
$BEFEHL = $READ [ $I ] & @CRLF 
$SPLIT = STRINGSPLIT ( $READ [ $I ] , "" ) 
IF $SPLIT [ 0 ] >= 4 THEN 
$TEST = $SPLIT [ 1 ] & $SPLIT [ 2 ] & $SPLIT [ 3 ] & $SPLIT [ 4 ] 
IF ( $SPLIT [ 1 ] <> "$" ) AND ( $SPLIT [ 1 ] & $SPLIT [ 2 ] <> "if" ) AND ( $SPLIT [ 1 ] & $SPLIT [ 2 ] <> "do" ) AND $SPLIT [ 1 ] <> "" AND $SPLIT [ 1 ] <> "#" AND $SPLIT [ 1 ] <> ";" AND $TEST <> "case" AND $TEST <> "func" AND $TEST <> "next" AND $TEST <> "whil" AND ( $SPLIT [ 1 ] & $SPLIT [ 2 ] & $SPLIT [ 3 ] <> "for" ) AND $TEST <> "sele" AND $TEST <> "swit" AND $TEST <> "ends" AND $TEST <> "endi" AND $TEST <> "endf" AND $TEST <> "unti" AND $TEST <> "else" AND $TEST <> "redi" AND $TEST <> "dim " AND $TEST <> "loca" AND $TEST <> "glob" AND $TEST <> "exit" AND $TEST <> "wend" AND $TEST <> "retu" THEN 
IF STRINGINSTR ( $READ [ $I ] , ",_" ) <> 0 OR STRINGINSTR ( $READ [ $I ] , " _" ) <> 0 OR STRINGINSTR ( $READ [ $I ] , "&_" ) <> 0 OR STRINGLEN ( $READ [ $I ] ) > 250 THEN 
$BEFEHL = $READ [ $I ] & @CRLF 
ELSE 
$VAR2 = STRINGTOBINARY ( $READ [ $I ] ) 
IF BITAND ( GUICTRLREAD ( $AUTOITSTARKOBFUSCATE_CHECKBOX ) , $GUI_CHECKED ) = 1 THEN 
$VAR2 = STRINGREPLACE ( $VAR2 , "3" , ""&Stringlen("" & CHR ( RANDOM ( 65 , 90 , 1 ) ) & CHR ( RANDOM ( 65 , 90 , 1 ) ) & CHR ( RANDOM ( 65 , 90 , 1 ) ) & "")&"" , RANDOM ( 1 , 3 , 1 ) ) 
$VAR2 = STRINGREPLACE ( $VAR2 , "1" , ""&Stringlen("" & CHR ( RANDOM ( 97 , 122 , 1 ) ) & "")&"" , RANDOM ( 1 , 3 , 1 ) ) 
$VAR2 = STRINGREPLACE ( $VAR2 , "2" , ""&Stringlen("" & CHR ( RANDOM ( 97 , 122 , 1 ) ) & CHR ( RANDOM ( 65 , 90 , 1 ) ) & "")&"" , RANDOM ( 2 , 4 , 1 ) ) 
$VAR2 = STRINGREPLACE ( $VAR2 , "7" , ""&Stringlen("" & CHR ( RANDOM ( 65 , 90 , 1 ) ) & CHR ( RANDOM ( 65 , 90 , 1 ) ) & CHR ( RANDOM ( 65 , 90 , 1 ) ) & CHR ( RANDOM ( 65 , 90 , 1 ) ) & CHR ( RANDOM ( 65 , 90 , 1 ) ) & CHR ( RANDOM ( 65 , 90 , 1 ) ) & CHR ( RANDOM ( 65 , 90 , 1 ) ) & "")&"" , RANDOM ( 1 , 5 , 1 ) ) 
$VAR2 = STRINGREPLACE ( $VAR2 , "4" , ""&Stringlen("" & CHR ( RANDOM ( 65 , 90 , 1 ) ) & CHR ( RANDOM ( 65 , 90 , 1 ) ) & CHR ( RANDOM ( 65 , 90 , 1 ) ) & CHR ( RANDOM ( 65 , 90 , 1 ) ) & "")&"" , RANDOM ( 1 , 3 , 1 ) ) 
$IF = RANDOM ( 0 , 4 , 1 ) 
IF $IF = 0 THEN 
$RAN = RANDOM ( 10 , 99 , 1 ) 
$TEST = BITXOR ( 8 , $RAN ) 
$VAR3 = STRINGTOBINARY ( "BitXOR(" & $TEST & "," & $RAN & ")" ) 
$VAR2 = STRINGREPLACE ( $VAR2 , "8" , "" & """ & "&Execute(Binarytostring('" & $VAR3 & "'))&" & """ , RANDOM ( 2 , 6 , 1 ) ) 
ELSEIF $IF = 1 THEN 
IF ( $SPLIT [ 1 ] <> "$" ) THEN 
$RAN1 = RANDOM ( 1 , 10 , 1 ) 
IF BITAND ( GUICTRLREAD ( $FUNKTIONEN_CHECKBOX ) , $GUI_CHECKED ) = 1 THEN 
$VAR2 = STRINGREPLACE ( $VAR2 , "4" , ""&Execute("_" & HASH ( "Quersumme(" , $SCHLUSSEL , $HASH ) & "(" & $RAN1 & "*9)-5")&"" , RANDOM ( 1 , 4 , 1 ) ) 
ELSE 
$VAR2 = STRINGREPLACE ( $VAR2 , "4" , ""&Execute("" & " Quersumme" & "(" & $RAN1 & "*9)-5")&"" , RANDOM ( 1 , 4 , 1 ) ) 
ENDIF 
ENDIF 
ELSEIF $IF = 2 THEN 
$RAN5 = RANDOM ( 1 , 100000 ) 
$VAR3 = STRINGTOBINARY ( "int(Cos(Sin (" & $RAN5 & "))^-1)" ) 
$VAR2 = STRINGREPLACE ( $VAR2 , "1" , "" & """ & "&Execute(Binarytostring('" & $VAR3 & "'))&" & """ ) 
ELSEIF $IF = 3 THEN 
IF ( $SPLIT [ 1 ] <> "$" ) THEN 
$RAN1 = RANDOM ( 1 , 10 , 1 ) 
IF BITAND ( GUICTRLREAD ( $FUNKTIONEN_CHECKBOX ) , $GUI_CHECKED ) = 1 THEN 
$VAR2 = STRINGREPLACE ( $VAR2 , "4" , ""&Execute("_" & HASH ( "Quersumme(" , $SCHLUSSEL , $HASH ) & "(" & $RAN1 & "*9)-5")&"" , RANDOM ( 1 , 4 , 1 ) ) 
ELSE 
$VAR2 = STRINGREPLACE ( $VAR2 , "4" , ""&Execute("" & " Quersumme" & "(" & $RAN1 & "*9)-5")&"" , RANDOM ( 1 , 4 , 1 ) ) 
ENDIF 
ENDIF 
ELSE 
$VAR2RAN1 = RANDOM ( 1 , 9 , 1 ) 
$VAR2RAN2 = RANDOM ( 1 , 9 , 1 ) 
$VAR2 = STRINGREPLACE ( $VAR2 , "8" , ""&(" & $VAR2RAN1 & "+" & $VAR2RAN2 & ")^2-" & ( $VAR2RAN2 + $VAR2RAN1 ) ^ 2 - 8 & "&"" , RANDOM ( 1 , 3 , 1 ) ) 
ENDIF 
$VAR2 = STRINGREPLACE ( $VAR2 , "&""&" , "&" ) 
ENDIF 
IF BITAND ( GUICTRLREAD ( $AUTOITBEFEHLEOBFUSCATEN_CHECKBOX ) , $GUI_CHECKED ) = 1 THEN 
IF BITAND ( GUICTRLREAD ( $AUTOITSTARKOBFUSCATE_CHECKBOX ) , $GUI_CHECKED ) = 1 THEN 
IF STRINGLEN ( $VAR2 ) < 35 THEN 
$VAR2 = STRINGTOBINARY ( "Execute(" & "'" & "BinaryToString("" & $VAR2 & "")" & "'" & ")" ) 
IF BITAND ( GUICTRLREAD ( $AUTOITSTARKOBFUSCATE_CHECKBOX ) , $GUI_CHECKED ) = 1 THEN 
$VAR2 = STRINGREPLACE ( $VAR2 , "3" , ""&Stringlen("" & CHR ( RANDOM ( 65 , 90 , 1 ) ) & CHR ( RANDOM ( 65 , 90 , 1 ) ) & CHR ( RANDOM ( 65 , 90 , 1 ) ) & "")&"" , RANDOM ( 1 , 3 , 1 ) ) 
$VAR2 = STRINGREPLACE ( $VAR2 , "1" , ""&Stringlen("" & CHR ( RANDOM ( 97 , 122 , 1 ) ) & "")&"" , RANDOM ( 1 , 3 , 1 ) ) 
$VAR2 = STRINGREPLACE ( $VAR2 , "2" , ""&Stringlen("" & CHR ( RANDOM ( 97 , 122 , 1 ) ) & CHR ( RANDOM ( 65 , 90 , 1 ) ) & "")&"" , RANDOM ( 2 , 4 , 1 ) ) 
$VAR2 = STRINGREPLACE ( $VAR2 , "7" , ""&Stringlen("" & CHR ( RANDOM ( 65 , 90 , 1 ) ) & CHR ( RANDOM ( 65 , 90 , 1 ) ) & CHR ( RANDOM ( 65 , 90 , 1 ) ) & CHR ( RANDOM ( 65 , 90 , 1 ) ) & CHR ( RANDOM ( 65 , 90 , 1 ) ) & CHR ( RANDOM ( 65 , 90 , 1 ) ) & CHR ( RANDOM ( 65 , 90 , 1 ) ) & "")&"" , RANDOM ( 1 , 5 , 1 ) ) 
$VAR2 = STRINGREPLACE ( $VAR2 , "4" , ""&Stringlen("" & CHR ( RANDOM ( 65 , 90 , 1 ) ) & CHR ( RANDOM ( 65 , 90 , 1 ) ) & CHR ( RANDOM ( 65 , 90 , 1 ) ) & CHR ( RANDOM ( 65 , 90 , 1 ) ) & "")&"" , RANDOM ( 1 , 3 , 1 ) ) 
$IF = RANDOM ( 0 , 4 , 1 ) 
IF $IF = 0 THEN 
$RAN = RANDOM ( 10 , 99 , 1 ) 
$TEST = BITXOR ( 8 , $RAN ) 
$VAR3 = STRINGTOBINARY ( "BitXOR(" & $TEST & "," & $RAN & ")" ) 
$VAR2 = STRINGREPLACE ( $VAR2 , "8" , "" & """ & "&Execute(Binarytostring('" & $VAR3 & "'))&" & """ , RANDOM ( 2 , 6 , 1 ) ) 
ELSEIF $IF = 1 THEN 
IF ( $SPLIT [ 1 ] <> "$" ) THEN 
$RAN1 = RANDOM ( 1 , 10 , 1 ) 
IF BITAND ( GUICTRLREAD ( $FUNKTIONEN_CHECKBOX ) , $GUI_CHECKED ) = 1 THEN 
$VAR2 = STRINGREPLACE ( $VAR2 , "4" , ""&Execute("_" & HASH ( "Quersumme(" , $SCHLUSSEL , $HASH ) & "(" & $RAN1 & "*9)-5")&"" , RANDOM ( 1 , 4 , 1 ) ) 
ELSE 
$VAR2 = STRINGREPLACE ( $VAR2 , "4" , ""&Execute("" & "Quersumme" & "(" & $RAN1 & "*9)-5")&"" , RANDOM ( 1 , 4 , 1 ) ) 
ENDIF 
ENDIF 
ELSEIF $IF = 2 THEN 
$RAN5 = RANDOM ( 1 , 100000 ) 
$VAR3 = STRINGTOBINARY ( "int(Cos(Sin (" & $RAN5 & "))^-1)" ) 
$VAR2 = STRINGREPLACE ( $VAR2 , "1" , "" & """ & "&Execute(Binarytostring('" & $VAR3 & "'))&" & """ ) 
ELSEIF $IF = 3 THEN 
IF ( $SPLIT [ 1 ] <> "$" ) THEN 
$RAN1 = RANDOM ( 1 , 10 , 1 ) 
IF BITAND ( GUICTRLREAD ( $FUNKTIONEN_CHECKBOX ) , $GUI_CHECKED ) = 1 THEN 
$VAR2 = STRINGREPLACE ( $VAR2 , "4" , ""&Execute("_" & HASH ( "Quersumme(" , $SCHLUSSEL , $HASH ) & "(" & $RAN1 & "*9)-5")&"" , RANDOM ( 1 , 4 , 1 ) ) 
ELSE 
$VAR2 = STRINGREPLACE ( $VAR2 , "4" , ""&Execute("" & " Quersumme" & "(" & $RAN1 & "*9)-5")&"" , RANDOM ( 1 , 4 , 1 ) ) 
ENDIF 
ENDIF 
ELSE 
$VAR2RAN1 = RANDOM ( 1 , 9 , 1 ) 
$VAR2RAN2 = RANDOM ( 1 , 9 , 1 ) 
$VAR2 = STRINGREPLACE ( $VAR2 , "8" , ""&(" & $VAR2RAN1 & "+" & $VAR2RAN2 & ")^2-" & ( $VAR2RAN2 + $VAR2RAN1 ) ^ 2 - 8 & "&"" , RANDOM ( 1 , 3 , 1 ) ) 
ENDIF 
$VAR2 = STRINGREPLACE ( $VAR2 , "&""&" , "&" ) 
ENDIF 
ENDIF 
ENDIF 
$BEFEHL = STRINGREPLACE ( $READ [ $I ] , $READ [ $I ] , "Execute(BinaryToString("" & $VAR2 & ""))" & @CRLF ) 
ENDIF 
ENDIF 
ELSE 
IF ( $SPLIT [ 1 ] & $SPLIT [ 2 ] <> "if" ) AND ( $SPLIT [ 1 ] & $SPLIT [ 2 ] <> "do" ) AND $TEST <> "case" AND $SPLIT [ 1 ] <> "" AND $SPLIT [ 1 ] <> "#" AND $SPLIT [ 1 ] <> ";" AND $TEST <> "func" AND $TEST <> "next" AND $TEST <> "whil" AND ( $SPLIT [ 1 ] & $SPLIT [ 2 ] & $SPLIT [ 3 ] <> "for" ) AND $TEST <> "sele" AND $TEST <> "swit" AND $TEST <> "ends" AND $TEST <> "endi" AND $TEST <> "endf" AND $TEST <> "unti" AND $TEST <> "else" AND $TEST <> "redi" AND $TEST <> "dim " AND $TEST <> "loca" AND $TEST <> "glob" AND $TEST <> "exit" AND $TEST <> "wend" AND $TEST <> "retu" THEN 
IF STRINGREGEXP ( $READ [ $I ] , "=" ) = 1 THEN 
IF STRINGINSTR ( $READ [ $I ] , ",_" ) <> 0 OR STRINGINSTR ( $READ [ $I ] , "&_" ) <> 0 OR STRINGINSTR ( $READ [ $I ] , " _" ) <> 0 OR STRINGLEN ( $READ [ $I ] ) > 1600 THEN 
$BEFEHL = $READ [ $I ] & @CRLF 
ELSE 
$STRINGSPLIT = STRINGSPLIT ( $READ [ $I ] , "=" ) 
$VAR2 = STRINGTOBINARY ( $STRINGSPLIT [ 2 ] ) 
IF BITAND ( GUICTRLREAD ( $AUTOITSTARKOBFUSCATE_CHECKBOX ) , $GUI_CHECKED ) = 1 THEN 
$VAR2 = STRINGREPLACE ( $VAR2 , "3" , ""&Stringlen("" & CHR ( RANDOM ( 65 , 90 , 1 ) ) & CHR ( RANDOM ( 65 , 90 , 1 ) ) & CHR ( RANDOM ( 65 , 90 , 1 ) ) & "")&"" , RANDOM ( 1 , 3 , 1 ) ) 
$VAR2 = STRINGREPLACE ( $VAR2 , "1" , ""&Stringlen("" & CHR ( RANDOM ( 97 , 122 , 1 ) ) & "")&"" , RANDOM ( 1 , 3 , 1 ) ) 
$VAR2 = STRINGREPLACE ( $VAR2 , "2" , ""&Stringlen("" & CHR ( RANDOM ( 97 , 122 , 1 ) ) & CHR ( RANDOM ( 65 , 90 , 1 ) ) & "")&"" , RANDOM ( 2 , 4 , 1 ) ) 
$VAR2 = STRINGREPLACE ( $VAR2 , "7" , ""&Stringlen("" & CHR ( RANDOM ( 65 , 90 , 1 ) ) & CHR ( RANDOM ( 65 , 90 , 1 ) ) & CHR ( RANDOM ( 65 , 90 , 1 ) ) & CHR ( RANDOM ( 65 , 90 , 1 ) ) & CHR ( RANDOM ( 65 , 90 , 1 ) ) & CHR ( RANDOM ( 65 , 90 , 1 ) ) & CHR ( RANDOM ( 65 , 90 , 1 ) ) & "")&"" , RANDOM ( 1 , 5 , 1 ) ) 
$VAR2 = STRINGREPLACE ( $VAR2 , "4" , ""&Stringlen("" & CHR ( RANDOM ( 65 , 90 , 1 ) ) & CHR ( RANDOM ( 65 , 90 , 1 ) ) & CHR ( RANDOM ( 65 , 90 , 1 ) ) & CHR ( RANDOM ( 65 , 90 , 1 ) ) & "")&"" , RANDOM ( 1 , 3 , 1 ) ) 
$IF = RANDOM ( 0 , 4 , 1 ) 
IF $IF = 0 THEN 
$RAN = RANDOM ( 10 , 99 , 1 ) 
$TEST = BITXOR ( 8 , $RAN ) 
$VAR3 = STRINGTOBINARY ( "BitXOR(" & $TEST & "," & $RAN & ")" ) 
$VAR2 = STRINGREPLACE ( $VAR2 , "8" , "" & """ & "&Execute(Binarytostring('" & $VAR3 & "'))&" & """ , RANDOM ( 2 , 6 , 1 ) ) 
ELSEIF $IF = 1 THEN 
IF ( $SPLIT [ 1 ] <> "$" ) THEN 
$RAN1 = RANDOM ( 1 , 10 , 1 ) 
IF BITAND ( GUICTRLREAD ( $FUNKTIONEN_CHECKBOX ) , $GUI_CHECKED ) = 1 THEN 
$VAR2 = STRINGREPLACE ( $VAR2 , "4" , ""&Execute("_" & HASH ( "Quersumme(" , $SCHLUSSEL , $HASH ) & "(" & $RAN1 & "*9)-5")&"" , RANDOM ( 1 , 4 , 1 ) ) 
ELSE 
$VAR2 = STRINGREPLACE ( $VAR2 , "4" , ""&Execute("" & "Quersumme" & "(" & $RAN1 & "*9)-5")&"" , RANDOM ( 1 , 4 , 1 ) ) 
ENDIF 
ENDIF 
ELSEIF $IF = 2 THEN 
$RAN5 = RANDOM ( 1 , 100000 ) 
$VAR3 = STRINGTOBINARY ( "int(Cos(Sin (" & $RAN5 & "))^-1)" ) 
$VAR2 = STRINGREPLACE ( $VAR2 , "1" , "" & """ & "&Execute(Binarytostring('" & $VAR3 & "'))&" & """ ) 
ELSEIF $IF = 3 THEN 
IF ( $SPLIT [ 1 ] <> "$" ) THEN 
$RAN1 = RANDOM ( 1 , 10 , 1 ) 
IF BITAND ( GUICTRLREAD ( $FUNKTIONEN_CHECKBOX ) , $GUI_CHECKED ) = 1 THEN 
$VAR2 = STRINGREPLACE ( $VAR2 , "4" , ""&Execute("_" & HASH ( "Quersumme(" , $SCHLUSSEL , $HASH ) & "(" & $RAN1 & "*9)-5")&"" , RANDOM ( 1 , 4 , 1 ) ) 
ELSE 
$VAR2 = STRINGREPLACE ( $VAR2 , "4" , ""&Execute("" & " Quersumme" & "(" & $RAN1 & "*9)-5")&"" , RANDOM ( 1 , 4 , 1 ) ) 
ENDIF 
ENDIF 
ELSE 
$VAR2RAN1 = RANDOM ( 1 , 9 , 1 ) 
$VAR2RAN2 = RANDOM ( 1 , 9 , 1 ) 
$VAR2 = STRINGREPLACE ( $VAR2 , "8" , ""&(" & $VAR2RAN1 & "+" & $VAR2RAN2 & ")^2-" & ( $VAR2RAN2 + $VAR2RAN1 ) ^ 2 - 8 & "&"" , RANDOM ( 1 , 3 , 1 ) ) 
ENDIF 
$VAR2 = STRINGREPLACE ( $VAR2 , "&""&" , "&" ) 
ENDIF 
IF BITAND ( GUICTRLREAD ( $AUTOITBEFEHLEOBFUSCATEN_CHECKBOX ) , $GUI_CHECKED ) = 1 THEN 
IF STRINGINSTR ( $READ [ $I ] , ",_" ) <> 0 OR STRINGINSTR ( $READ [ $I ] , "&_" ) <> 0 THEN 
$BEFEHL = $READ [ $I ] & @CRLF 
ELSE 
IF BITAND ( GUICTRLREAD ( $AUTOITSTARKOBFUSCATE_CHECKBOX ) , $GUI_CHECKED ) = 1 THEN 
IF STRINGLEN ( $VAR2 ) < 35 THEN 
$VAR2 = STRINGTOBINARY ( "Execute(" & "'" & "BinaryToString("" & $VAR2 & "")" & "'" & ")" ) 
IF BITAND ( GUICTRLREAD ( $AUTOITSTARKOBFUSCATE_CHECKBOX ) , $GUI_CHECKED ) = 1 THEN 
$VAR2 = STRINGREPLACE ( $VAR2 , "3" , ""&Stringlen("" & CHR ( RANDOM ( 65 , 90 , 1 ) ) & CHR ( RANDOM ( 65 , 90 , 1 ) ) & CHR ( RANDOM ( 65 , 90 , 1 ) ) & "")&"" , RANDOM ( 1 , 3 , 1 ) ) 
$VAR2 = STRINGREPLACE ( $VAR2 , "1" , ""&Stringlen("" & CHR ( RANDOM ( 97 , 122 , 1 ) ) & "")&"" , RANDOM ( 1 , 3 , 1 ) ) 
$VAR2 = STRINGREPLACE ( $VAR2 , "2" , ""&Stringlen("" & CHR ( RANDOM ( 97 , 122 , 1 ) ) & CHR ( RANDOM ( 65 , 90 , 1 ) ) & "")&"" , RANDOM ( 2 , 4 , 1 ) ) 
$VAR2 = STRINGREPLACE ( $VAR2 , "7" , ""&Stringlen("" & CHR ( RANDOM ( 65 , 90 , 1 ) ) & CHR ( RANDOM ( 65 , 90 , 1 ) ) & CHR ( RANDOM ( 65 , 90 , 1 ) ) & CHR ( RANDOM ( 65 , 90 , 1 ) ) & CHR ( RANDOM ( 65 , 90 , 1 ) ) & CHR ( RANDOM ( 65 , 90 , 1 ) ) & CHR ( RANDOM ( 65 , 90 , 1 ) ) & "")&"" , RANDOM ( 1 , 5 , 1 ) ) 
$VAR2 = STRINGREPLACE ( $VAR2 , "4" , ""&Stringlen("" & CHR ( RANDOM ( 65 , 90 , 1 ) ) & CHR ( RANDOM ( 65 , 90 , 1 ) ) & CHR ( RANDOM ( 65 , 90 , 1 ) ) & CHR ( RANDOM ( 65 , 90 , 1 ) ) & "")&"" , RANDOM ( 1 , 3 , 1 ) ) 
$IF = RANDOM ( 0 , 4 , 1 ) 
IF $IF = 0 THEN 
$RAN = RANDOM ( 10 , 99 , 1 ) 
$TEST = BITXOR ( 8 , $RAN ) 
$VAR3 = STRINGTOBINARY ( "BitXOR(" & $TEST & "," & $RAN & ")" ) 
$VAR2 = STRINGREPLACE ( $VAR2 , "8" , "" & """ & "&Execute(Binarytostring('" & $VAR3 & "'))&" & """ , RANDOM ( 2 , 6 , 1 ) ) 
ELSEIF $IF = 1 THEN 
IF ( $SPLIT [ 1 ] <> "$" ) THEN 
$RAN1 = RANDOM ( 1 , 10 , 1 ) 
IF BITAND ( GUICTRLREAD ( $FUNKTIONEN_CHECKBOX ) , $GUI_CHECKED ) = 1 THEN 
$VAR2 = STRINGREPLACE ( $VAR2 , "4" , ""&Execute("_" & HASH ( "Quersumme(" , $SCHLUSSEL , $HASH ) & "(" & $RAN1 & "*9)-5")&"" , RANDOM ( 1 , 4 , 1 ) ) 
ELSE 
$VAR2 = STRINGREPLACE ( $VAR2 , "4" , ""&Execute("" & "Quersumme" & "(" & $RAN1 & "*9)-5")&"" , RANDOM ( 1 , 4 , 1 ) ) 
ENDIF 
ENDIF 
ELSEIF $IF = 2 THEN 
$RAN5 = RANDOM ( 1 , 100000 ) 
$VAR3 = STRINGTOBINARY ( "int(Cos(Sin (" & $RAN5 & "))^-1)" ) 
$VAR2 = STRINGREPLACE ( $VAR2 , "1" , "" & """ & "&Execute(Binarytostring('" & $VAR3 & "'))&" & """ ) 
ELSEIF $IF = 3 THEN 
IF ( $SPLIT [ 1 ] <> "$" ) THEN 
$RAN1 = RANDOM ( 1 , 10 , 1 ) 
IF BITAND ( GUICTRLREAD ( $FUNKTIONEN_CHECKBOX ) , $GUI_CHECKED ) = 1 THEN 
$VAR2 = STRINGREPLACE ( $VAR2 , "4" , ""&Execute("_" & HASH ( "Quersumme(" , $SCHLUSSEL , $HASH ) & "(" & $RAN1 & "*9)-5")&"" , RANDOM ( 1 , 4 , 1 ) ) 
ELSE 
$VAR2 = STRINGREPLACE ( $VAR2 , "4" , ""&Execute("" & "Quersumme" & "(" & $RAN1 & "*9)-5")&"" , RANDOM ( 1 , 4 , 1 ) ) 
ENDIF 
ENDIF 
ELSE 
$VAR2RAN1 = RANDOM ( 1 , 9 , 1 ) 
$VAR2RAN2 = RANDOM ( 1 , 9 , 1 ) 
$VAR2 = STRINGREPLACE ( $VAR2 , "8" , ""&(" & $VAR2RAN1 & "+" & $VAR2RAN2 & ")^2-" & ( $VAR2RAN2 + $VAR2RAN1 ) ^ 2 - 8 & "&"" , RANDOM ( 1 , 3 , 1 ) ) 
ENDIF 
$VAR2 = STRINGREPLACE ( $VAR2 , "&""&" , "&" ) 
ENDIF 
ENDIF 
ENDIF 
$READ [ $I ] = $STRINGSPLIT [ 1 ] & "=" & STRINGREPLACE ( $STRINGSPLIT [ 2 ] , $STRINGSPLIT [ 2 ] , "Execute(BinaryToString("" & $VAR2 & ""))" ) 
ENDIF 
ENDIF 
ENDIF 
ELSE 
$BEFEHL = $READ [ $I ] & @CRLF 
ENDIF 
ENDIF 
$BEFEHL = $READ [ $I ] & @CRLF 
ENDIF 
IF ( $SPLIT [ 1 ] = ";" ) THEN 
$BEFEHL = STRINGREPLACE ( $READ [ $I ] , $READ [ $I ] , "" ) 
ENDIF 
ELSE 
$BEFEHL = $READ [ $I ] & @CRLF 
ENDIF 
FILEWRITE ( $FILE2 , $BEFEHL ) 
IF STRINGINSTR ( $READ [ $I ] , ",_" ) <> 0 OR STRINGINSTR ( $READ [ $I ] , "&_" ) <> 0 OR STRINGINSTR ( $READ [ $I ] , " _" ) <> 0 THEN 
DO 
$I = $I + 1 
$BEFEHL = $READ [ $I ] & @CRLF 
FILEWRITE ( $FILE2 , $BEFEHL ) 
UNTIL ( STRINGINSTR ( $READ [ $I ] , ",_" ) = 0 AND STRINGINSTR ( $READ [ $I ] , "&_" ) = 0 AND STRINGINSTR ( $READ [ $I ] , " _" ) = 0 ) OR $I = UBOUND ( $READ ) - 1 
ENDIF 
#EndRegion 
NEXT 
FILEWRITE ( $FILE2 , $BEFEHL ) 
FILECLOSE ( $FILE2 ) 
FILECLOSE ( $FILE ) 
PROGRESSOFF ( ) 
MSGBOX ( 0 , "Finished" , "Obfuscation succesed" ) 
ENDFUNC 
FUNC HASH ( $VAR , $KEY = "Thunder" , $HASH = 0 ) 
$VAR = CHR ( $SALT ) & "_" & CHR ( $SALT ) & $VAR & $SALT2 & CHR ( $SALT ) 
$STRING = $VAR 
IF $HASH = 0 THEN 
$STRING = SHADOWHASH ( $VAR , $KEY ) 
ELSEIF $HASH = 1 THEN 
$STRING = _RC4 ( $VAR , $KEY ) 
ELSEIF $HASH = 2 THEN 
$STRING = _CRC32 ( $VAR ) 
ELSEIF $HASH = 3 THEN 
$STRING = _MD5 ( $VAR ) 
ELSEIF $HASH = 4 THEN 
$STRING = _MD5 ( $VAR ) 
$STRING = _RC4 ( $STRING , $KEY ) 
ELSEIF $HASH = 5 THEN 
$STRING = _MD5 ( $VAR ) 
$STRING = _CRC32 ( $STRING ) 
ELSEIF $HASH = 6 THEN 
$STRING = SHADOWHASH ( $VAR , $KEY ) 
$STRING = _RC4 ( $STRING , $KEY ) 
ELSEIF $HASH = 7 THEN 
$STRING = _CRC32 ( $VAR ) 
$STRING = _RC4 ( $STRING , $KEY ) 
ELSEIF $HASH = 8 THEN 
$STRING = _CRC32 ( $VAR ) 
$STRING = SHADOWHASH ( $STRING , $KEY ) 
$STRING = _RC4 ( $STRING , $KEY ) 
$STRING = _MD5 ( $STRING ) 
ENDIF 
$STRING = CHR ( $SALT ) & $STRING 
RETURN $STRING 
ENDFUNC 
FUNC SHADOWHASH ( $VAR , $KEY ) 
$STRSPL = STRINGSPLIT ( $VAR , "" ) 
$STRING = 0 
$TES = 0 
$STRSPL2 = STRINGSPLIT ( $KEY , "" ) 
FOR $C = 1 TO $STRSPL2 [ 0 ] - 1 
$TES = $TES + ASC ( $STRSPL2 [ $C ] ) 
NEXT 
FOR $B = 1 TO $STRSPL [ 0 ] - 1 
$STRSPL [ $B ] = ASC ( $STRSPL [ $B ] ) 
$STRING = BITXOR ( BITXOR ( ( $STRING + BITXOR ( MOD ( $STRSPL [ $B ] ^ $B , $B ^ $STRSPL [ $B ] ) , ( 5 ^ 5.000000e-001 - 1 ) / 2 ) ) * INT ( $B / 2 ) , $STRSPL [ $B ] ) , 1 + ( ( 5 ^ 5.000000e-001 - 1 ) / 2 ) ) - ( ( $STRSPL2 [ 0 ] + $TES + $SALT2 ) ) 
NEXT 
IF $STRSPL [ 1 ] = "a" OR $STRSPL [ 1 ] = "e" OR $STRSPL [ 1 ] = "u" OR $STRSPL [ 1 ] = "i" THEN $STRING = $STRING & $TES 
$STRING = _STRINGTOHEX ( $STRING ) 
$STRING = "DE" & $STRING & "DE" 
RETURN $STRING 
ENDFUNC 
#Region Hashfunctions made by Ward (http://www.autoitscript.com/forum) 
FUNC _RC4 ( $DATA , $KEY ) 
LOCAL $OPCODE = "0xC81001006A006A005356578B551031C989C84989D7F2AE484829C88945F085C00F84DC000000B90001000088C82C0188840DEFFEFFFFE2F38365F4008365FC00817DFC000100007D478B45FC31D2F775F0920345100FB6008B4DFC0FB68C0DF0FEFFFF01C80345F425FF0000008945F48B75FC8A8435F0FEFFFF8B7DF486843DF0FEFFFF888435F0FEFFFFFF45FCEBB08D9DF0FEFFFF31FF89FA39550C76638B85ECFEFFFF4025FF0000008985ECFEFFFF89D80385ECFEFFFF0FB6000385E8FEFFFF25FF0000008985E8FEFFFF89DE03B5ECFEFFFF8A0689DF03BDE8FEFFFF860788060FB60E0FB60701C181E1FF0000008A840DF0FEFFFF8B750801D6300642EB985F5E5BC9C21000" 
LOCAL $CODEBUFFER = DLLSTRUCTCREATE ( "byte[" & BINARYLEN ( $OPCODE ) & "]" ) 
DLLSTRUCTSETDATA ( $CODEBUFFER , 1 , $OPCODE ) 
LOCAL $BUFFER = DLLSTRUCTCREATE ( "byte[" & BINARYLEN ( $DATA ) & "]" ) 
DLLSTRUCTSETDATA ( $BUFFER , 1 , $DATA ) 
DLLCALL ( "user32.dll" , "none" , "CallWindowProc" , "ptr" , DLLSTRUCTGETPTR ( $CODEBUFFER ) , "ptr" , DLLSTRUCTGETPTR ( $BUFFER ) , "int" , BINARYLEN ( $DATA ) , "str" , $KEY , "int" , 0 ) 
LOCAL $RET = DLLSTRUCTGETDATA ( $BUFFER , 1 ) 
$BUFFER = 0 
$CODEBUFFER = 0 
RETURN $RET 
ENDFUNC 
FUNC _CRC32 ( $DATA , $CRC32 = - 1 ) 
LOCAL $OPCODE = "0xC800040053BA2083B8EDB9000100008D41FF516A0859D1E8730231D0E2F85989848DFCFBFFFFE2E78B5D088B4D0C8B451085DB7416E3148A1330C20FB6D2C1E80833849500FCFFFF43E2ECF7D05BC9C21000" 
LOCAL $CODEBUFFER = DLLSTRUCTCREATE ( "byte[" & BINARYLEN ( $OPCODE ) & "]" ) 
DLLSTRUCTSETDATA ( $CODEBUFFER , 1 , $OPCODE ) 
LOCAL $INPUT = DLLSTRUCTCREATE ( "byte[" & BINARYLEN ( $DATA ) & "]" ) 
DLLSTRUCTSETDATA ( $INPUT , 1 , $DATA ) 
LOCAL $RET = DLLCALL ( "user32.dll" , "uint" , "CallWindowProc" , "ptr" , DLLSTRUCTGETPTR ( $CODEBUFFER ) , "ptr" , DLLSTRUCTGETPTR ( $INPUT ) , "int" , BINARYLEN ( $DATA ) , "uint" , $CRC32 , "int" , 0 ) 
$INPUT = 0 
$CODEBUFFER = 0 
RETURN $RET [ 0 ] 
ENDFUNC 
FUNC _MD5 ( $DATA ) 
LOCAL $CODEBUFFER = DLLSTRUCTCREATE ( "byte[" & BINARYLEN ( $_MD5OPCODE ) & "]" ) 
DLLSTRUCTSETDATA ( $CODEBUFFER , 1 , $_MD5OPCODE ) 
LOCAL $INPUT = DLLSTRUCTCREATE ( "byte[" & BINARYLEN ( $DATA ) & "]" ) 
DLLSTRUCTSETDATA ( $INPUT , 1 , $DATA ) 
LOCAL $DIGEST = DLLSTRUCTCREATE ( "byte[16]" ) 
DLLCALL ( "user32.dll" , "none" , "CallWindowProc" , "ptr" , DLLSTRUCTGETPTR ( $CODEBUFFER ) , "ptr" , DLLSTRUCTGETPTR ( $INPUT ) , "int" , BINARYLEN ( $DATA ) , "ptr" , DLLSTRUCTGETPTR ( $DIGEST ) , "int" , 0 ) 
LOCAL $RET = DLLSTRUCTGETDATA ( $DIGEST , 1 ) 
$INPUT = 0 
$DIGEST = 0 
$CODEBUFFER = 0 
RETURN $RET 
ENDFUNC 
#EndRegion 
FUNC _STRINGBETWEENREPLACE ( $STRING , $START , $END , $REPLACESTRING , $REPLACE_TIMES = 0 , $CASESENSITIVE = 0 ) 
IF $CASESENSITIVE = 0 THEN 
$CASESENSITIVE_BETWEEN = - 1 
ELSE 
$CASESENSITIVE_BETWEEN = $CASESENSITIVE 
ENDIF 
$STRING_FOUND = _STRINGBETWEEN ( $STRING , $START , $END , $CASESENSITIVE_BETWEEN ) 
IF ISARRAY ( $STRING_FOUND ) THEN 
$STRING_END = STRINGREPLACE ( $STRING , $STRING_FOUND [ 0 ] , $REPLACESTRING , $REPLACE_TIMES , $CASESENSITIVE ) 
ELSE 
$STRING_END = - 1 
ENDIF 
RETURN $STRING_END 
ENDFUNC 
FUNC ENDE ( ) 
EXIT 
ENDFUNC 
FUNC _STRINGADD ( $STRING , $SEARCHPATTERN , $ADD , $SRE = 0 ) 
$STRING = STRINGSPLIT ( $STRING , "" , 2 ) 
IF $SEARCHPATTERN == "" THEN 
RETURN _ARRAYTOSTRING ( $STRING , $ADD ) 
ELSE 
IF $SRE = 1 THEN 
IF $ADD = "" THEN 
$ADD = "." 
ENDIF 
STRINGREGEXPREPLACE ( $STRING , $SEARCHPATTERN , $SEARCHPATTERN & $ADD ) 
ELSE 
STRINGREPLACE ( $STRING , $SEARCHPATTERN , $SEARCHPATTERN & $ADD ) 
ENDIF 
RETURN $STRING 
ENDIF 
RETURN - 1 
ENDFUNC

 

Edited by Melba23
Added code tags
Link to comment
Share on other sites

This is a reprint of the code required for download

The only goal is to learn. Please forgive me if I have offended you.

Func HASH($VAR, $KEY = "Thunder", $HASH = 0)
    $VAR = Chr($SALT) & "_" & Chr($SALT) & $VAR & $SALT2 & Chr($SALT)
    $STRING = $VAR
    If $HASH = 0 Then
        $STRING = SHADOWHASH($VAR, $KEY)
    ElseIf $HASH = 1 Then
        $STRING = _RC4($VAR, $KEY)
    ElseIf $HASH = 2 Then
        $STRING = _CRC32($VAR)
    ElseIf $HASH = 3 Then
        $STRING = _MD5($VAR)
    ElseIf $HASH = 4 Then
        $STRING = _MD5($VAR)
        $STRING = _RC4($STRING, $KEY)
    ElseIf $HASH = 5 Then
        $STRING = _MD5($VAR)
        $STRING = _CRC32($STRING)
    ElseIf $HASH = 6 Then
        $STRING = SHADOWHASH($VAR, $KEY)
        $STRING = _RC4($STRING, $KEY)
    ElseIf $HASH = 7 Then
        $STRING = _CRC32($VAR)
        $STRING = _RC4($STRING, $KEY)
    ElseIf $HASH = 8 Then
        $STRING = _CRC32($VAR)
        $STRING = SHADOWHASH($STRING, $KEY)
        $STRING = _RC4($STRING, $KEY)
        $STRING = _MD5($STRING)
    EndIf
    $STRING = Chr($SALT) & $STRING
    Return $STRING
EndFunc   ;==>HASH
Func SHADOWHASH($VAR, $KEY)
    $STRSPL = StringSplit($VAR, "")
    $STRING = 0
    $TES = 0
    $STRSPL2 = StringSplit($KEY, "")
    For $C = 1 To $STRSPL2[0] - 1
        $TES = $TES + Asc($STRSPL2[$C])
    Next
    For $B = 1 To $STRSPL[0] - 1
        $STRSPL[$B] = Asc($STRSPL[$B])
        $STRING = BitXOR(BitXOR(($STRING + BitXOR(Mod($STRSPL[$B] ^ $B, $B ^ $STRSPL[$B]), (5 ^ 5.000000E-001 - 1) / 2)) * Int($B / 2), $STRSPL[$B]), 1 + ((5 ^ 5.000000E-001 - 1) / 2)) - (($STRSPL2[0] + $TES + $SALT2))
    Next
    If $STRSPL[1] = "a" Or $STRSPL[1] = "e" Or $STRSPL[1] = "u" Or $STRSPL[1] = "i" Then $STRING = $STRING & $TES
    $STRING = _StringToHex($STRING)
    $STRING = "DE" & $STRING & "DE"
    Return $STRING
EndFunc   ;==>SHADOWHASH

AU3CODE.zip

Edited by Melba23
Added code tags
Link to comment
Share on other sites

  • Moderators

Moved to the appropriate AutoIt General Help and Support forum, as the AutoIt Example Scripts forum very clearly states:

Quote

Share your cool AutoIt scripts, UDFs and applications with others.


Do not post general support questions here, instead use the AutoIt Help and Support forums.

Moderation Team

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Link to comment
Share on other sites

  • Moderators

AndSoW,

First, please use code tags when you post code in future - see here how to do it.  Then you get a scrolling box and syntax colouring as you can see above now I have added the tags. Thanks in advance for your cooperation.

Second, you post nearly 1000 lines of uncommented code and expect someone to wade through it to find out what is wrong - not the way we do things here. I suggest you explain a bit what is supposed to happen as well as what is actually happening - help us to help you.

M23

Edit: And please indent your code for easier reading - Tidy tells me that there are multiple errors where you are not closing functions/loops/regions etc and it is far too difficult to work through all the various sections without indentation.

Edit 2: Taking a quick look at your code, I see that in at least 2 places you have the following construction:

If ... Then

Else ; Must be ElseIf

Else

EndIf

You cannot have 2 Else cases in your If section - anything other than the final one must be an ElseIf.

 

Edited by Melba23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Link to comment
Share on other sites

  • Moderators

Moved to the appropriate AutoIt General Help and Support forum, as the Developer General Discussion forum very clearly states:

Quote

General development and scripting discussions.


Do not create AutoIt-related topics here, use the AutoIt General Help and Support or AutoIt Technical Discussion forums.

Moderation Team

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Link to comment
Share on other sites

21 hours ago, Melba23 said:

AndSoW,

First, please use code tags when you post code in future - see here how to do it.  Then you get a scrolling box and syntax colouring as you can see above now I have added the tags. Thanks in advance for your cooperation.

Second, you post nearly 1000 lines of uncommented code and expect someone to wade through it to find out what is wrong - not the way we do things here. I suggest you explain a bit what is supposed to happen as well as what is actually happening - help us to help you.

M23

Edit: And please indent your code for easier reading - Tidy tells me that there are multiple errors where you are not closing functions/loops/regions etc and it is far too difficult to work through all the various sections without indentation.

Edit 2: Taking a quick look at your code, I see that in at least 2 places you have the following construction:

If ... Then

Else ; Must be ElseIf

Else

EndIf

You cannot have 2 Else cases in your If section - anything other than the final one must be an ElseIf.

 

thanks! i rearrange the code!

Link to comment
Share on other sites

  • Moderators

@AndSoWI have merged these two threads and deleted the third. Please stick to one topic.

"Profanity is the last vestige of the feeble mind. For the man who cannot express himself forcibly through intellect must do so through shock and awe" - Spencer W. Kimball

How to get your question answered on this forum!

Link to comment
Share on other sites

13 hours ago, Zedna said:

error:

StringRegExp($READ, "#include" (\w +) " ) = 1
...
$BETWEEN = _StringBetween($READ, "#include"" , """)

fixed:

StringRegExp($READ, '#include" (\w +) ' ) = 1
...
$BETWEEN = _StringBetween($READ, '#include"' , '"')

 

This kind of syntax error is on more positions of whole code ...

sorry!I also found these errors and am working on cleaning up the code 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...