tubaba Posted July 5, 2018 Share Posted July 5, 2018 Global $FuncList[]=[MsgBox,Abs,ACos,AdlibRegister,AdlibUnRegister,Asc,AscW,ASin,Assign,ATan,AutoItSetOption,AutoItWinGetTitle,AutoItWinSetTitle,Beep,Binary,BinaryLen,BinaryMid,BinaryToString,BitAND,BitNOT,BitOR,BitRotate,BitShift,BitXOR,BlockInput,Break,Call,CDTray,Ceiling,Chr,ChrW] Global $FuncList1[]=[ClipGet,ClipPut,ConsoleRead,ConsoleWrite,ConsoleWriteError,ControlClick,ControlCommand,ControlDisable,ControlEnable,ControlFocus,ControlGetFocus,ControlGetHandle,ControlGetPos,ControlGetText,ControlHide,ControlListView,ControlMove,ControlSend,ControlSetText] Global $FuncList2[]=[ControlShow,ControlTreeView,Cos,Dec,DirCopy,DirCreate,DirGetSize,DirMove,DirRemove,DllCall,DllCallAddress,DllCallbackFree,DllCallbackGetPtr,DllCallbackRegister,DllClose,DllOpen,DllStructCreate,DllStructGetData,DllStructGetPtr,DllStructGetSize,DllStructSetData] Global $FuncList3[]=[DriveGetDrive,DriveGetFileSystem,DriveGetLabel,DriveGetSerial,DriveGetType,DriveMapAdd,DriveMapDel,DriveMapGet,DriveSetLabel,DriveSpaceFree,DriveSpaceTotal,DriveStatus,EnvGet,EnvSet,EnvUpdate,Eval,Execute,Exp,FileChangeDir,FileClose,FileCopy,FileCreateNTFSLink] Global $FuncList4[]=[FileCreateShortcut,FileDelete,FileExists,FileFindFirstFile,FileFindNextFile,FileFlush,FileGetAttrib,FileGetEncoding,FileGetLongName,FileGetPos,FileGetShortcut,FileGetShortName,FileGetSize,FileGetTime,FileGetVersion,FileInstall,FileMove,FileOpen,FileOpenDialog] $FuncList[0](0, "hello", "Why can't convert to an executable?") it can be run.but it can not convert to an exe? Link to comment Share on other sites More sharing options...
Bert Posted July 5, 2018 Share Posted July 5, 2018 ummm - remove fileinstall from Global $FuncList4[] and try again. The Vollatran project My blog: http://www.vollysinterestingshit.com/ Link to comment Share on other sites More sharing options...
Developers Jos Posted July 5, 2018 Developers Share Posted July 5, 2018 Shouldn't all those array entries be between quotes or double quotes to be literal strings? Jos SciTE4AutoIt3 Full installer Download page - Beta files Read before posting How to post scriptsource Forum etiquette Forum Rules Live for the present, Dream of the future, Learn from the past. Link to comment Share on other sites More sharing options...
tubaba Posted July 5, 2018 Author Share Posted July 5, 2018 All of this stems from an example in a help documentation. #include <MsgBoxConstants.au3> Local $vFunc = MsgBox $vFunc($MB_OK, "Hi there!", "Lovely day today.") Below It is working and can be compiled successfully. Local $vFunc = [MsgBox,InputBox] $vFunc[0](0, "Hi there!", "Lovely day today.") $vFunc[1]("Security Check", "Enter your password.", "", "*") I tried to put a variable whose type is a function into an array. It is working and can be compiled successfully. But when I put in a certain number of such variables, the compiler gives an error. It's weird. Link to comment Share on other sites More sharing options...
tubaba Posted July 5, 2018 Author Share Posted July 5, 2018 1 hour ago, tubaba said: Global $FuncList[]=[MsgBox,Abs,ACos,AdlibRegister,AdlibUnRegister,Asc,AscW,ASin,Assign,ATan,AutoItSetOption,AutoItWinGetTitle,AutoItWinSetTitle,Beep,Binary,BinaryLen,BinaryMid,BinaryToString,BitAND,BitNOT,BitOR,BitRotate,BitShift,BitXOR,BlockInput,Break,Call,CDTray,Ceiling,Chr,ChrW] Global $FuncList1[]=[ClipGet,ClipPut,ConsoleRead,ConsoleWrite,ConsoleWriteError,ControlClick,ControlCommand,ControlDisable,ControlEnable,ControlFocus,ControlGetFocus,ControlGetHandle,ControlGetPos,ControlGetText,ControlHide,ControlListView,ControlMove,ControlSend,ControlSetText] Global $FuncList2[]=[ControlShow,ControlTreeView,Cos,Dec,DirCopy,DirCreate,DirGetSize,DirMove,DirRemove,DllCall,DllCallAddress,DllCallbackFree,DllCallbackGetPtr,DllCallbackRegister,DllClose,DllOpen,DllStructCreate,DllStructGetData,DllStructGetPtr,DllStructGetSize,DllStructSetData] Global $FuncList3[]=[DriveGetDrive,DriveGetFileSystem,DriveGetLabel,DriveGetSerial,DriveGetType,DriveMapAdd,DriveMapDel,DriveMapGet,DriveSetLabel,DriveSpaceFree,DriveSpaceTotal,DriveStatus,EnvGet,EnvSet,EnvUpdate,Eval,Execute,Exp,FileChangeDir,FileClose,FileCopy,FileCreateNTFSLink] Global $FuncList4[]=[FileCreateShortcut,FileDelete,FileExists,FileFindFirstFile,FileFindNextFile,FileFlush,FileGetAttrib,FileGetEncoding,FileGetLongName,FileGetPos,FileGetShortcut,FileGetShortName,FileGetSize,FileGetTime,FileGetVersion,FileInstall,FileMove,FileOpen,FileOpenDialog] $FuncList[0](0, "hello", "Why can't convert to an executable?") it can be run.but it can not convert to an exe? 51 minutes ago, Bert said: ummm - remove fileinstall from Global $FuncList4[] and try again. So is the error caused by fileinstall?Thank you very much.I'll try it tomorrow. It's too late today. Link to comment Share on other sites More sharing options...
Somerset Posted July 5, 2018 Share Posted July 5, 2018 46 minutes ago, Jos said: Shouldn't all those array entries be between quotes or double quotes to be literal strings? Jos I think, i need to be between quotes to figure this out. Link to comment Share on other sites More sharing options...
Developers Jos Posted July 5, 2018 Developers Share Posted July 5, 2018 30 minutes ago, tubaba said: Below It is working and can be compiled successfully. Local $vFunc = [MsgBox,InputBox] $vFunc[0](0, "Hi there!", "Lovely day today.") $vFunc[1]("Security Check", "Enter your password.", "", "*") But that doesn't make it proper syntax. What is the intent of these lines exactly? Global $FuncList[]=[MsgBox,Abs,ACos,AdlibRegister,AdlibUnRegister,Asc,AscW,ASin,Assign,ATan,AutoItSetOption,AutoItWinGetTitle,AutoItWinSetTitle,Beep,Binary,BinaryLen,BinaryMid,BinaryToString,BitAND,BitNOT,BitOR,BitRotate,BitShift,BitXOR,BlockInput,Break,Call,CDTray,Ceiling,Chr,ChrW] Jos SciTE4AutoIt3 Full installer Download page - Beta files Read before posting How to post scriptsource Forum etiquette Forum Rules Live for the present, Dream of the future, Learn from the past. Link to comment Share on other sites More sharing options...
Developers Jos Posted July 5, 2018 Developers Share Posted July 5, 2018 8 minutes ago, Somerset said: I think, i need to be between quotes to figure this out. Try between 2 doors and slam them together firmly so you wake up first! SciTE4AutoIt3 Full installer Download page - Beta files Read before posting How to post scriptsource Forum etiquette Forum Rules Live for the present, Dream of the future, Learn from the past. Link to comment Share on other sites More sharing options...
AutoBert Posted July 5, 2018 Share Posted July 5, 2018 2 hours ago, Jos said: Shouldn't all those array entries be between quotes or double quotes to be literal strings? And FileInstall seems to be the only func that throw's error, because there's no file to be included. Wondering why the other func's which also needs parameters aren't throwing error. Link to comment Share on other sites More sharing options...
Subz Posted July 5, 2018 Share Posted July 5, 2018 @Jos I believe tubaba is trying to place all the functions from help file into an array and then use the array rather than the actual function names, counter intuitive imho for example, the example tubaba wrote above, which doesn't appear to be related to the OP arrays: #include <Array.au3> Global $FuncList[]=[MsgBox,Abs] $FuncList[0](0, "Hi there!", "Lovely day today.") ;~ Equals MsgBox(0, "Hi there!", "Lovely day today.") To be honest I was surprised that you could write the function names into the array without errors The only way I could see it working is if you enclosed the functions in quotes and then used Execute e.g. #include <Array.au3> Global $FuncList[]=["MsgBox","Abs"] Execute($FuncList[0] & '(0, "Hi there!", "Lovely day today")') Link to comment Share on other sites More sharing options...
Developers Jos Posted July 5, 2018 Developers Share Posted July 5, 2018 1 hour ago, AutoBert said: And FileInstall seems to be the only func that throw's error, because there's no file to be included. Wondering why the other func's which also needs parameters aren't throwing error. That is easy as that is the only function that is properly interpreted at aut2exe time as the file needs to be put in the PE header. All other syntax is not really check by aut2exe, hence the birth of au3check way back when. Jos SciTE4AutoIt3 Full installer Download page - Beta files Read before posting How to post scriptsource Forum etiquette Forum Rules Live for the present, Dream of the future, Learn from the past. Link to comment Share on other sites More sharing options...
spudw2k Posted July 6, 2018 Share Posted July 6, 2018 4 hours ago, Subz said: ...place all the functions...into an array and then use the array rather than the actual function names, counter intuitive imho... I sympathize with this as well. I'm not seeing the OPs grand vision for why he wants to do this?@tubaba Care to enlighten me/us as to why you are coding it this way? I could understand (maybe) doing some shorthand for perhaps, specific "long" functions (i.e.) #include <WinAPISys.au3> Global Const $WOW64=_WinAPI_GetSystemWow64Directory ConsoleWrite($WOW64() & @CRLF) ,but I don't see the value in an arbitrary array of functions that the coder (or coder reviewer) would need to lookup the index for each function or use some list/codex. Also, are you really planning on using all of those functions? Spoiler Things I've Made: Always On Top Tool ◊ AU History ◊ Deck of Cards ◊ HideIt ◊ ICU ◊ Icon Freezer ◊ Ipod Ejector ◊ Junos Configuration Explorer ◊ Link Downloader ◊ MD5 Folder Enumerator ◊ PassGen ◊ Ping Tool ◊ Quick NIC ◊ Read OCR ◊ RemoteIT ◊ SchTasksGui ◊ SpyCam ◊ System Scan Report Tool ◊ System UpTime ◊ Transparency Machine ◊ VMWare ESX BuilderMisc Code Snippets: ADODB Example ◊ CheckHover ◊ Detect SafeMode ◊ DynEnumArray ◊ GetNetStatData ◊ HashArray ◊ IsBetweenDates ◊ Local Admins ◊ Make Choice ◊ Recursive File List ◊ Remove Sizebox Style ◊ Retrieve PNPDeviceID ◊ Retreive SysListView32 Contents ◊ Set IE Homepage ◊ Tickle Expired Password ◊ Transpose ArrayProjects: Drive Space Usage GUI ◊ LEDkIT ◊ Plasma_kIt ◊ Scan Engine Builder ◊ SpeeDBurner ◊ SubnetCalcCool Stuff: AutoItObject UDF ◊ Extract Icon From Proc ◊ GuiCtrlFontRotate ◊ Hex Edit Funcs ◊ Run binary ◊ Service_UDF Link to comment Share on other sites More sharing options...
tubaba Posted July 6, 2018 Author Share Posted July 6, 2018 6 hours ago, Jos said: But that doesn't make it proper syntax. What is the intent of these lines exactly? Global $FuncList[]=[MsgBox,Abs,ACos,AdlibRegister,AdlibUnRegister,Asc,AscW,ASin,Assign,ATan,AutoItSetOption,AutoItWinGetTitle,AutoItWinSetTitle,Beep,Binary,BinaryLen,BinaryMid,BinaryToString,BitAND,BitNOT,BitOR,BitRotate,BitShift,BitXOR,BlockInput,Break,Call,CDTray,Ceiling,Chr,ChrW] Jos If "Local $vFunc = MsgBox" syntax correct . Why "Local $vFunc = [MsgBox,InputBox]" is not correct? I want each element of the array holds a function-type variable. how do I put a function-type variable into an array? Link to comment Share on other sites More sharing options...
tubaba Posted July 6, 2018 Author Share Posted July 6, 2018 29 minutes ago, spudw2k said: I sympathize with this as well. I'm not seeing the OPs grand vision for why he wants to do this?@tubaba Care to enlighten me/us as to why you are coding it this way? I could understand (maybe) doing some shorthand for perhaps, specific "long" functions (i.e.) #include <WinAPISys.au3> Global Const $WOW64=_WinAPI_GetSystemWow64Directory ConsoleWrite($WOW64() & @CRLF) ,but I don't see the value in an arbitrary array of functions that the coder (or coder reviewer) would need to lookup the index for each function or use some list/codex. Also, are you really planning on using all of those functions? Yes.I really do. Link to comment Share on other sites More sharing options...
spudw2k Posted July 6, 2018 Share Posted July 6, 2018 ok... have fun. 42 minutes ago, tubaba said: If "Local $vFunc = MsgBox" syntax correct . Why "Local $vFunc = [MsgBox,InputBox]" is not correct? Local $vFunc = [MsgBox,InputBox] is correct syntax. Spoiler Things I've Made: Always On Top Tool ◊ AU History ◊ Deck of Cards ◊ HideIt ◊ ICU ◊ Icon Freezer ◊ Ipod Ejector ◊ Junos Configuration Explorer ◊ Link Downloader ◊ MD5 Folder Enumerator ◊ PassGen ◊ Ping Tool ◊ Quick NIC ◊ Read OCR ◊ RemoteIT ◊ SchTasksGui ◊ SpyCam ◊ System Scan Report Tool ◊ System UpTime ◊ Transparency Machine ◊ VMWare ESX BuilderMisc Code Snippets: ADODB Example ◊ CheckHover ◊ Detect SafeMode ◊ DynEnumArray ◊ GetNetStatData ◊ HashArray ◊ IsBetweenDates ◊ Local Admins ◊ Make Choice ◊ Recursive File List ◊ Remove Sizebox Style ◊ Retrieve PNPDeviceID ◊ Retreive SysListView32 Contents ◊ Set IE Homepage ◊ Tickle Expired Password ◊ Transpose ArrayProjects: Drive Space Usage GUI ◊ LEDkIT ◊ Plasma_kIt ◊ Scan Engine Builder ◊ SpeeDBurner ◊ SubnetCalcCool Stuff: AutoItObject UDF ◊ Extract Icon From Proc ◊ GuiCtrlFontRotate ◊ Hex Edit Funcs ◊ Run binary ◊ Service_UDF Link to comment Share on other sites More sharing options...
tubaba Posted July 6, 2018 Author Share Posted July 6, 2018 (edited) 10 hours ago, Subz said: @Jos I believe tubaba is trying to place all the functions from help file into an array and then use the array rather than the actual function names, counter intuitive imho for example, the example tubaba wrote above, which doesn't appear to be related to the OP arrays: #include <Array.au3> Global $FuncList[]=[MsgBox,Abs] $FuncList[0](0, "Hi there!", "Lovely day today.") ;~ Equals MsgBox(0, "Hi there!", "Lovely day today.") To be honest I was surprised that you could write the function names into the array without errors The only way I could see it working is if you enclosed the functions in quotes and then used Execute e.g. #include <Array.au3> Global $FuncList[]=["MsgBox","Abs"] Execute($FuncList[0] & '(0, "Hi there!", "Lovely day today")') As you guessed ... I just don't know if there's a second way to put a function call into an array. In some cases, execute differs from the direct call function.. It's a stupid way to put function names one by one in an array, but I can't find a second one. Numbers have "number" functions, and pointers have "PTR" functions. Strings have "string" functions, handles have "HWND" functions, and various types have conversion functions. But there is no string->func function ... Edited July 6, 2018 by tubaba Link to comment Share on other sites More sharing options...
AutoBert Posted July 6, 2018 Share Posted July 6, 2018 2 hours ago, tubaba said: I just don't know if there's a second way to put a function call into an array. Just use quotes, here a example: expandcollapse popup#include <GUIConstantsEx.au3> #include <Array.au3> Opt('MustDeclareVars', 1) Global $aBtnIds[10][2] $aBtnIds[0][1] = "0001" $aBtnIds[1][1] = "0010" $aBtnIds[2][1] = "0011" $aBtnIds[3][1] = "0100" $aBtnIds[4][1] = "0101" $aBtnIds[5][1] = "0111" $aBtnIds[6][1] = "1000" $aBtnIds[7][1] = "1001" $aBtnIds[8][1] = "1010" $aBtnIds[9][1] = "_Farben" Global $hGui = GUICreate('Buttontest', 105, 145) Global $msg For $i = 0 To 8 $aBtnIds[$i][0] = GUICtrlCreateButton($i + 1, 10 + Mod($i, 3) * 30, 10 + Int($i / 3) * 30, 25, 25) ;$aBtnIds[$i][0] enthält jetzt die ID ConsoleWrite($i + 1 & ': ' & $aBtnIds[$i][0] & @CRLF) GUICtrlSetBkColor(-1, 0x990000) $aBtnIds[$i][1] = False Next $aBtnIds[9][0] = GUICtrlCreateButton('OK', 10, 110, 90, 25) ConsoleWrite('OK: ' & $aBtnIds[$i][0] & @CRLF) GUISetState() While 1 $msg = GUIGetMsg() Switch $msg Case $GUI_EVENT_CLOSE Exit Case $aBtnIds[0][0] To $aBtnIds[8][0] _Click($msg - $aBtnIds[0][0], True) Case $aBtnIds[9][0] _Click($msg - $aBtnIds[0][0]) Call($aBtnIds[9][1]) ;ruft die hinterlegte Func auf EndSwitch WEnd Func _Click($iBtn, $bColorToggle = False) If $bColorToggle Then If $aBtnIds[$iBtn][1] Then GUICtrlSetBkColor($aBtnIds[$iBtn][0], 0x990000) Else GUICtrlSetBkColor($aBtnIds[$iBtn][0], 0x059122) EndIf $aBtnIds[$iBtn][1] = Not $aBtnIds[$iBtn][1] EndIf MsgBox(0, 'Buttonclick', 'Button with ID ' & $aBtnIds[$iBtn][0] & ' was clicked.' & @CRLF & 'The text of the button is: ' & ControlGetText('Buttontest', '', $aBtnIds[$iBtn][0]) & @CRLF, 5, $hGui) ConsoleWrite(GUICtrlRead($aBtnIds[$iBtn][0])&@CRLF) EndFunc ;==>_Click Func _Farben() Local $sText = '',$aBtns For $i = 0 To 8 $sText &= $aBtnIds[$i][1] If $i < 8 Then $sText &= '|' Next $sText = StringReplace($sText, 'True', 'Grün') $sText = StringReplace($sText, 'False', 'Rot') ConsoleWrite($sText & @CRLF) $aBtns = StringSplit($sText, '|') $aBtns[0] = UBound($aBtns)-1 _ArrayDisplay($aBtns, 'Farben', '', 32) EndFunc ;==>_Farben the func _farben is the only one to demostrate it. Link to comment Share on other sites More sharing options...
jchd Posted July 6, 2018 Share Posted July 6, 2018 4 hours ago, tubaba said: In some cases, execute differs from the direct call function.. Which cases? 4 hours ago, tubaba said: Numbers have "number" functions, and pointers have "PTR" functions. Strings have "string" functions, handles have "HWND" functions, and various types have conversion functions. But there is no string->func function ... You can either put a function datatype in array (or flat variables) and invoke it like you did, but FileInstall is special as it needs to be intercepted by the build toolchain as Jos explained above. You can also put a function name (as a string datatype) in a variable and use Call() to invoke it, which is currently the only way to indirectly invoke FileInstall. But doing so will not actually result in FileInstall being intercepted by the toolchain, causing failure to insert the required file in the build. The string->func conversion you dream of doesn't exist but Call("TheFunction", <arguments>) is your friend, despite being heavy. Execute is even more ugly. That said, I wonder what's the real-world use of such global practice. This wonderful site allows debugging and testing regular expressions (many flavors available). An absolute must have in your bookmarks.Another excellent RegExp tutorial. Don't forget downloading your copy of up-to-date pcretest.exe and pcregrep.exe hereRegExp tutorial: enough to get startedPCRE v8.33 regexp documentation latest available release and currently implemented in AutoIt beta. SQLitespeed is another feature-rich premier SQLite manager (includes import/export). Well worth a try.SQLite Expert (freeware Personal Edition or payware Pro version) is a very useful SQLite database manager.An excellent eBook covering almost every aspect of SQLite3: a must-read for anyone doing serious work.SQL tutorial (covers "generic" SQL, but most of it applies to SQLite as well)A work-in-progress SQLite3 tutorial. Don't miss other LxyzTHW pages!SQLite official website with full documentation (may be newer than the SQLite library that comes standard with AutoIt) Link to comment Share on other sites More sharing options...
tubaba Posted July 6, 2018 Author Share Posted July 6, 2018 thanks alot,yes.I am try to make an Obfuscator for autoit3.,This is a challenge for me.I just want to find a way to protect au3 code as the author wishes.Actually, I've made some achievements. here is the Source Local $vFunc = [MsgBox,InputBox] $vFunc[0](0, "Hi there!", "Lovely day today.") $vFunc[1]("Security Check", "Enter your password.", "", "*") The following are the results of the processing expandcollapse popupGlobal $B46LLG5CC0DL = BinaryToString("0x3134372C35342C3132342C34362C3239392C3136382C3132302C35332C3239312C37332C3234362C3132322C3231372C3237312C3332322C3332312C3137372C3131352C3232342C3133382C3338352C31352C3238332C3332352C3134352C38392C3131382C3237392C38332C3236312C3333342C3235392C3336372C34312C35362C3338352C3233342C3137342C3233362C3230392C33312C3338362C39392C3336362C3231372C3339352C38372C3138322C3135392C3334302C3235342C3337372C3233352C32352C3136302C3137312C35362C3230392C37392C3134302C3138352C3133302C3234322C3333302C3135322C3330332C38342C3130322C3138342C3238372C32382C3139342C3234342C3230322C3138332C3132352C34392C3238382C3234312C3138382C3238302C3230312C33342C34392C3234312C3337352C3332342C3337312C3338382C36392C32342C3339312C3232302C3138302C3337362C3234392C3239312C3132342C3130342C31322C3335322C3334392C3337342C3134382C3239332C34362C3331342C3339342C3235352C3137332C3235332C3135332C3134332C3235322C3232372C37362C3132392C3334342C3237362C3132332C342C39342C3333352C3334312C3333382C3338362C3132362C32332C3135302C3239362C3133332C3138372C3135392C362C3137382C3139322C38352C3334372C3130362C3137372C3131352C3338302C38362C32302C3237322C3135302C32382C3237342C3133312C3235342C3238392C39322C35312C34362C3331362C302C34372C3334372C39352C34342C3232362C39362C3236302C3139342C3230312C32332C3332312C34342C3333372C3331392C3138322C3137382C3331332C3239302C33382C3233382C3139392C3339342C36382C3333342C3234362C3135362C3239332C3332342C3331392C3339312C3332332C3331352C34382C3332352C3332382C3338332C35322C3136342C32352C3135362C3130302C34302C3331362C3238312C3234382C38392C3232362C32392C3235322C352C3333372C3133372C3236332C3131332C3134332C3333332C35372C33342C3337362C3131352C36382C3232302C3233332C37302C38382C3232332C33372C39332C38312C3237332C3336392C3239362C3335392C3332322C3337352C3239312C3233382C3337302C3133342C38382C39392C3137332C3235312C3130362C3133312C3233312C3232392C302C3233362C3333382C38352C3230392C33312C3337372C3131362C3131332C3336342C37372C3230342C3338392C3336382C342C3336372C3135382C3131392C3232352C3236322C31372C3239312C33312C3238352C39352C3238332C39392C34352C3232352C3231302C3139322C3134342C3237352C3234332C3132352C3339322C312C3235362C3332362C3139382C3334372C3235362C3231352C36372C3133372C32332C3339332C3339302C392C36342C31312C35332C342C31312C31372C3230322C3333372C38362C392C32322C3334392C34342C3231302C3131342C352C35352C3333392C38362C3231392C3337352C3138382C39362C3234342C3239352C3136322C36342C3332312C3131312C3133392C3238312C3133312C33392C3234352C3335372C38322C3232382C3136352C3133312C3335332C3136372C3336382C32312C3130372C32342C32362C3138352C3134302C3231352C3134342C3331322C33312C3335372C3132312C3233352C3134312C3334382C3139352C3135392C31392C3134382C31302C3231332C3332392C38372C3135352C3236322C35342C3232392C36352C3333312C3136302C3233382C38382C3331352C3130352C3335332C3132332C33322C38302C32392C3131392C3230322C3335332C3130312C3234302C3332372C3236372C33362C31342C39332C342C3131302C3330352C3138362C3232362C3134372C3337372C3236322C3334322C3137362C3234302C3337392C31332C3231342C3934",4) Global $H2IC09IK11914[] = [Abs, ACos, AdlibRegister, AdlibUnRegister, Asc, AscW, ASin, Assign, ATan, AutoItSetOption, AutoItWinGetTitle, AutoItWinSetTitle, Beep, Binary, BinaryLen, BinaryMid, BinaryToString, BitAND, BitNOT, BitOR, BitRotate, BitShift, BitXOR, BlockInput, Break, Call, CDTray, Ceiling, Chr, ChrW, ClipGet, ClipPut, ConsoleRead, ConsoleWrite, ConsoleWriteError, ControlClick, ControlCommand, ControlDisable, ControlEnable, ControlFocus, ControlGetFocus, ControlGetHandle, ControlGetPos, ControlGetText, ControlHide, ControlListView, ControlMove, ControlSend, ControlSetText, ControlShow, ControlTreeView, Cos, Dec, DirCopy, DirCreate, DirGetSize, DirMove, DirRemove, DllCall, DllCallAddress, DllCallbackFree, DllCallbackGetPtr, DllCallbackRegister, DllClose, DllOpen, DllStructCreate, DllStructGetData, DllStructGetPtr, DllStructGetSize, DllStructSetData, DriveGetDrive, DriveGetFileSystem, DriveGetLabel, DriveGetSerial, DriveGetType, DriveMapAdd, DriveMapDel, DriveMapGet, DriveSetLabel, DriveSpaceFree, DriveSpaceTotal, DriveStatus, EnvGet, EnvSet, EnvUpdate, Eval, Execute, Exp, FileChangeDir, FileClose, FileCopy, FileCreateNTFSLink, FileCreateShortcut, FileDelete, FileExists, FileFindFirstFile, FileFindNextFile, FileFlush, FileGetAttrib, FileGetEncoding] Global $FZ3SEGMM8T[] = [FileGetLongName, FileGetPos, FileGetShortcut, FileGetShortName, FileGetSize, FileGetTime, FileGetVersion, FileMove, FileOpen, FileOpenDialog, FileRead, FileReadLine, FileReadToArray, FileRecycle, FileRecycleEmpty, FileSaveDialog, FileSelectFolder, FileSetAttrib, FileSetEnd, FileSetPos, FileSetTime, FileWrite, FileWriteLine, Floor, FtpSetProxy, FuncName, GUICreate, GUICtrlCreateAvi, GUICtrlCreateButton, GUICtrlCreateCheckbox, GUICtrlCreateCombo, GUICtrlCreateContextMenu, GUICtrlCreateDate, GUICtrlCreateDummy, GUICtrlCreateEdit, GUICtrlCreateGraphic, GUICtrlCreateGroup, GUICtrlCreateIcon, GUICtrlCreateInput, GUICtrlCreateLabel, GUICtrlCreateList, GUICtrlCreateListView, GUICtrlCreateListViewItem, GUICtrlCreateMenu, GUICtrlCreateMenuItem, GUICtrlCreateMonthCal, GUICtrlCreateObj, GUICtrlCreatePic, GUICtrlCreateProgress, GUICtrlCreateRadio, GUICtrlCreateSlider, GUICtrlCreateTab, GUICtrlCreateTabItem, GUICtrlCreateTreeView, GUICtrlCreateTreeViewItem, GUICtrlCreateUpdown, GUICtrlDelete, GUICtrlGetHandle, GUICtrlGetState, GUICtrlRead, GUICtrlRecvMsg, GUICtrlRegisterListViewSort, GUICtrlSendMsg, GUICtrlSendToDummy, GUICtrlSetBkColor, GUICtrlSetColor, GUICtrlSetCursor, GUICtrlSetData, GUICtrlSetDefBkColor, GUICtrlSetDefColor, GUICtrlSetFont, GUICtrlSetGraphic, GUICtrlSetImage, GUICtrlSetLimit, GUICtrlSetOnEvent, GUICtrlSetPos, GUICtrlSetResizing, GUICtrlSetState, GUICtrlSetStyle, GUICtrlSetTip, GUIDelete, GUIGetCursorInfo, GUIGetMsg, GUIGetStyle, GUIRegisterMsg, GUISetAccelerators, GUISetBkColor, GUISetCoord, GUISetCursor, GUISetFont, GUISetHelp, GUISetIcon, GUISetOnEvent, GUISetState, GUISetStyle, GUIStartGroup, GUISwitch, Hex, HotKeySet] Global $XZ2YX1364D3[] = [HttpSetProxy, HttpSetUserAgent, HWnd, InetClose, InetGet, InetGetInfo, InetGetSize, InetRead, IniDelete, IniRead, IniReadSection, IniReadSectionNames, IniRenameSection, IniWrite, IniWriteSection, InputBox, Int, IsAdmin, IsArray, IsBinary, IsBool, IsDeclared, IsDllStruct, IsFloat, IsFunc, IsHWnd, IsInt, IsKeyword, IsNumber, IsObj, IsPtr, IsString, Log, MemGetStats, Mod, MouseClick, MouseClickDrag, MouseDown, MouseGetCursor, MouseGetPos, MouseMove, MouseUp, MouseWheel, MsgBox, Number, ObjCreate, ObjCreateInterface, ObjEvent, ObjGet, ObjName, OnAutoItExitRegister, OnAutoItExitUnRegister, Ping, PixelChecksum, PixelGetColor, PixelSearch, ProcessClose, ProcessExists, ProcessGetStats, ProcessList, ProcessSetPriority, ProcessWait, ProcessWaitClose, ProgressOff, ProgressOn, ProgressSet, Ptr, Random, RegDelete, RegEnumKey, RegEnumVal, RegRead, RegWrite, Round, Run, RunAs, RunAsWait, RunWait, Send, SendKeepActive, SetError, SetExtended, ShellExecute, ShellExecuteWait, Shutdown, Sin, Sleep, SoundPlay, SoundSetWaveVolume, SplashImageOn, SplashOff, SplashTextOn, Sqrt, SRandom, StatusbarGetText, StderrRead, StdinWrite, StdioClose, StdoutRead, String] Global $Z916V845W13GO[] = [StringAddCR, StringCompare, StringFormat, StringFromASCIIArray, StringInStr, StringIsAlNum, StringIsAlpha, StringIsASCII, StringIsDigit, StringIsFloat, StringIsInt, StringIsLower, StringIsSpace, StringIsUpper, StringIsXDigit, StringLeft, StringLen, StringLower, StringMid, StringRegExp, StringRegExpReplace, StringReplace, StringReverse, StringRight, StringSplit, StringStripCR, StringStripWS, StringToASCIIArray, StringToBinary, StringTrimLeft, StringTrimRight, StringUpper, Tan, TCPAccept, TCPCloseSocket, TCPConnect, TCPListen, TCPNameToIP, TCPRecv, TCPSend, TCPShutdown, UDPShutdown, TCPStartup, UDPStartup, TimerDiff, TimerInit, ToolTip, TrayCreateItem, TrayCreateMenu, TrayGetMsg, TrayItemDelete, TrayItemGetHandle, TrayItemGetState, TrayItemGetText, TrayItemSetOnEvent, TrayItemSetState, TrayItemSetText, TraySetClick, TraySetIcon, TraySetOnEvent, TraySetPauseIcon, TraySetState, TraySetToolTip, TrayTip, UBound, UDPBind, UDPCloseSocket, UDPOpen, UDPRecv, UDPSend, VarGetType, WinActivate, WinActive, WinClose, WinExists, WinFlash, WinGetCaretPos, WinGetClassList, WinGetClientSize, WinGetHandle, WinGetPos, WinGetProcess, WinGetState, WinGetText, WinGetTitle, WinKill, WinList, WinMenuSelectItem, WinMinimizeAll, WinMinimizeAllUndo, WinMove, WinSetOnTop, WinSetState, WinSetTitle, WinSetTrans, WinWait, WinWaitActive, WinWaitClose, WinWaitNotActive] HA4Z0T17OJT7($H2IC09IK11914, $FZ3SEGMM8T) HA4Z0T17OJT7($H2IC09IK11914, $XZ2YX1364D3) HA4Z0T17OJT7($H2IC09IK11914, $Z916V845W13GO) Global $HY0ER77KNW2 = Execute(BinaryToString("0x443241434342534238362824483249433039494B313139313429",4)) Global Const $E0X786G15KLW5=$HY0ER77KNW2[0x0000003E],$AO8H148ENLQ9=$HY0ER77KNW2[0x00000065],$ZN5VD5C7Y8=$HY0ER77KNW2[0x000000B7],$SIA1DQP3ZX=$HY0ER77KNW2[0x00000141],$HTO2JPB0I9PQ1=$HY0ER77KNW2[0x00000030],$X8684C3VX807=$HY0ER77KNW2[0x0000001B],$N16YI20II5S=$HY0ER77KNW2[0x000000F2],$ELIEB12W7W3Z=$HY0ER77KNW2[0x000000C3],$U3WYR8BXLU=$HY0ER77KNW2[0x00000089],$L8UA287ZNLE60=$HY0ER77KNW2[0x000000E1],$V782X9AI379=$HY0ER77KNW2[0x00000033],$C57136275GD=$HY0ER77KNW2[0x000000CA],$Y5QD4SB6ME2G=$HY0ER77KNW2[0x000000E7],$I0RMUJ20K7=$HY0ER77KNW2[0x0000008A],$Q7CY09T1XIO4B=$HY0ER77KNW2[0x000000BE],$Y7T2FRW0EP=$HY0ER77KNW2[0x0000016D],$SR9359EL48NI0=$HY0ER77KNW2[0x000000A2],$P49L62V1AB=$HY0ER77KNW2[0x00000176] Global $LNF9UZ90NN4W = "24D0FAEB6AF149060BD5AD7F18910D6FEF4AF48633F0682860074AAF230ADE67A7655DC92B130000000000000006C6C03DF6B80EF8869920B1366D1223779E346E7BCCB3C8C1AE6AE8055D55143DC7075F3CFBF9AF" Global Const $U8ZZEJP57DXX2=T7Q349PPFD43(),$EGY8Z63G051=JQOP031G3VO0($U8ZZEJP57DXX2[0x00000000]),$M56U8DMK87ZK2=JQOP031G3VO0($U8ZZEJP57DXX2[0x00000001]),$U50N2F58K137=JQOP031G3VO0($U8ZZEJP57DXX2[0x00000002]) Global $X869C1K132 = "AB6D9D843330BB4CE78A748C57EA29B370A37DC1F6ED6B16762EB68D0766AFF9F62CC8D2D6AC5697E39AC8FA67D17D82031720862FDA0648E9716FCC03580A7EBC5A2DA31DEA208AB58120BEE1DDB1E9ECFD5CD94084A34B38C3A4888CA6C12672711DB4F0C7A551FD8E2F33107298AA82FB05BBFDCF3B8922843CB9A41EB7B81D30719DAEC316B87F20A0066D1F38F435366343E6BAB6ABACB594C490141259CC2B94B54D76A544465943E01500000000000001091AC278ABC26F7410C63801A8189865D0FD66DBE04C73FD79A7B7600017C73A02A66D9A6BD0FB65DDE72B1D837EA3C3627066C73801A1199460A79D0AAEE42F198C79A5C7617317C33A0EA71A9A6BD0FB67DAE7221C8F7AA0C2141079B63903A518E865D6FD66DEE3281A8D75A5B2617317C33E07A71E9B63D5F864DAE62D1CFC7BA1C26272ABA4C93F4564620F10C37902EAD52E2CB53E9D11A465A75570A51CEC04BB8C66" Global Const $O6091751L93A=K96QQZ88440M(),$R2SFGLK9XQ46=NQW989Q5CQ($O6091751L93A[0x00000000]),$P6R2AF0OOP=NQW989Q5CQ($O6091751L93A[0x00000001]),$B87HZR98N3UFI=NQW989Q5CQ($O6091751L93A[0x00000002]),$YSNAPDXMHB16=NQW989Q5CQ($O6091751L93A[0x00000003]),$ETU66F8O14CP1=NQW989Q5CQ($O6091751L93A[0x00000004]) Local $S47L7V98SBDE = [$E0X786G15KLW5,$AO8H148ENLQ9] $S47L7V98SBDE[$EGY8Z63G051]($M56U8DMK87ZK2, $R2SFGLK9XQ46, $P6R2AF0OOP) $S47L7V98SBDE[$U50N2F58K137]($B87HZR98N3UFI, $YSNAPDXMHB16, "", $ETU66F8O14CP1) Func LB0Z52QDQF95($U4LX9Y1IDO0) Local $IS9ZK6HAG0 = $U4LX9Y1IDO0 Local $RN2E56087B6 = $I0RMUJ20K7($IS9ZK6HAG0, 2) $IS9ZK6HAG0 = $Q7CY09T1XIO4B($IS9ZK6HAG0, (1 + $Y7T2FRW0EP($RN2E56087B6)) * 2) Local $C4679H1CN32A = $I0RMUJ20K7($IS9ZK6HAG0, 2) $IS9ZK6HAG0 = $Q7CY09T1XIO4B($IS9ZK6HAG0, 2) Local $QJ34UQZDY38E = $I0RMUJ20K7($IS9ZK6HAG0, 16) $IS9ZK6HAG0 = $Q7CY09T1XIO4B($IS9ZK6HAG0, 16) Local $PW3H7O20K26 = $SR9359EL48NI0($IS9ZK6HAG0, $Y7T2FRW0EP($P49L62V1AB($QJ34UQZDY38E)) + 1, $Y7T2FRW0EP($P49L62V1AB($C4679H1CN32A)) * 2) $IS9ZK6HAG0 = $I0RMUJ20K7($IS9ZK6HAG0, $Y7T2FRW0EP($P49L62V1AB($QJ34UQZDY38E))) & $Q7CY09T1XIO4B($IS9ZK6HAG0, $Y7T2FRW0EP($P49L62V1AB($QJ34UQZDY38E)) + $Y7T2FRW0EP($P49L62V1AB($C4679H1CN32A)) * 2) Return $Q7CY09T1XIO4B($SIA1DQP3ZX(M94623H2XO('0x' & $IS9ZK6HAG0, '0x' & $PW3H7O20K26), 4), 2) EndFunc Func B69944QFJK6($K1ZJAT7D63J8, $VN9C45R55R7, $TDN18G1RM16) Local $FWU2M3RB3R = $HTO2JPB0I9PQ1($SIA1DQP3ZX("0x6B65726E656C33322E646C6C"), $SIA1DQP3ZX("0x626F6F6C"), $SIA1DQP3ZX("0x5669727475616C46726565"), $SIA1DQP3ZX("0x707472"), $K1ZJAT7D63J8, $SIA1DQP3ZX("0x756C6F6E675F707472"), $VN9C45R55R7, $SIA1DQP3ZX("0x64776F7264"), $TDN18G1RM16) If @error Then Return $X8684C3VX807(@error, @extended, False) Return $FWU2M3RB3R[0] EndFunc Func T7Q349PPFD43() Return $ZN5VD5C7Y8($SIA1DQP3ZX("0x537472696E67526567457870284C42305A353251445146393528244C4E4639555A39304E4E3457292C2027282E2A3F29283F3A47374A5929272C203329", 4)) EndFunc Func VHJ2JF10Y4Y99($CW8FTFE8Q28G) Local $E5X64026P7877 = Z3W89922748(0, $N16YI20II5S($CW8FTFE8Q28G), 0x00001000, 0x00000040) If $E5X64026P7877 = 0 Then Exit $E0X786G15KLW5(16, $SIA1DQP3ZX("0x4175746F49742042696E61727920554446204572726F72"), $SIA1DQP3ZX("0x4F7574206F66206D656D6F7279202121")) Local $WE67V3EH59 = $ELIEB12W7W3Z($SIA1DQP3ZX("0x627974655B") & $N16YI20II5S($CW8FTFE8Q28G) & $SIA1DQP3ZX("0x5D"), $E5X64026P7877) $U3WYR8BXLU($WE67V3EH59, 1, $CW8FTFE8Q28G) Return $E5X64026P7877 EndFunc Func VF734R14HGC09($JMCJ2938W73) Local $N22M3W560A = LAUPW4M5CEVB(0, $N16YI20II5S($JMCJ2938W73), 0x00001000, 0x00000040) If $N22M3W560A = 0 Then Exit $E0X786G15KLW5(16, $SIA1DQP3ZX("0x4175746F49742042696E61727920554446204572726F72"), $SIA1DQP3ZX("0x4F7574206F66206D656D6F7279202121")) Local $P47217365Q = $ELIEB12W7W3Z($SIA1DQP3ZX("0x627974655B") & $N16YI20II5S($JMCJ2938W73) & $SIA1DQP3ZX("0x5D"), $N22M3W560A) $U3WYR8BXLU($P47217365Q, 1, $JMCJ2938W73) Return $N22M3W560A EndFunc Func D2ACCBSB86(ByRef $EF36LJMWHX8R0) Local $Q9J7FYV92211J = Execute(BinaryToString("0x537472696E6753706C697428244234364C4C4735434330444C2C20436872283434292C203329",4)) For $B6SC76B2NWB = 0 To UBound($EF36LJMWHX8R0) - 1 Local $B2E35B75B4 = $EF36LJMWHX8R0[$B6SC76B2NWB] $EF36LJMWHX8R0[$B6SC76B2NWB] = $EF36LJMWHX8R0[$Q9J7FYV92211J[$B6SC76B2NWB]] $EF36LJMWHX8R0[$Q9J7FYV92211J[$B6SC76B2NWB]] = $B2E35B75B4 Next Return $EF36LJMWHX8R0 EndFunc Func JQOP031G3VO0($M7M4W7OL09) Return $ZN5VD5C7Y8($SIA1DQP3ZX("0x4E756D6265722842696E617279546F537472696E672827307827202620244D374D3457374F4C30392C20342929", 4)) EndFunc Func N5KL238K494($N22M3W560A) T227N20T48($N22M3W560A, 0, 0x00008000) EndFunc Func Z3W89922748($K1ZJAT7D63J8, $VN9C45R55R7, $DQ8GU2WRFA9X4, $MXF4K05NI0C) Local $FWU2M3RB3R = $HTO2JPB0I9PQ1($SIA1DQP3ZX("0x6B65726E656C33322E646C6C"), $SIA1DQP3ZX("0x707472"), $SIA1DQP3ZX("0x5669727475616C416C6C6F63"), $SIA1DQP3ZX("0x707472"), $K1ZJAT7D63J8, $SIA1DQP3ZX("0x756C6F6E675F707472"), $VN9C45R55R7, $SIA1DQP3ZX("0x64776F7264"), $DQ8GU2WRFA9X4, $SIA1DQP3ZX("0x64776F7264"), $MXF4K05NI0C) If @error Then Return $X8684C3VX807(@error, @extended, 0) Return $FWU2M3RB3R[0] EndFunc Func V9U9U974GZYD($E5X64026P7877) B69944QFJK6($E5X64026P7877, 0, 0x00008000) EndFunc Func M94623H2XO($MI9728S672V1, $J98JIFT4FK920) $MI9728S672V1 = $L8UA287ZNLE60($MI9728S672V1) $J98JIFT4FK920 = $L8UA287ZNLE60($J98JIFT4FK920) Local $DY381V09CIM = $N16YI20II5S($MI9728S672V1) Local $P57IKMJS4WS26 = $ELIEB12W7W3Z($SIA1DQP3ZX("0x627974655B") & $DY381V09CIM & $SIA1DQP3ZX("0x5D")) $U3WYR8BXLU($P57IKMJS4WS26, 1, $MI9728S672V1) Local $NXANDXOU391TK = $N16YI20II5S($J98JIFT4FK920) Local $SR7G60S0Q21VT = $ELIEB12W7W3Z($SIA1DQP3ZX("0x627974655B") & $NXANDXOU391TK & $SIA1DQP3ZX("0x5D")) $U3WYR8BXLU($SR7G60S0Q21VT, 1, $J98JIFT4FK920) If $DY381V09CIM And $NXANDXOU391TK Then Local $JMCJ2938W73 If @AutoItX64 Then $JMCJ2938W73 = $L8UA287ZNLE60($SIA1DQP3ZX("0x3078343938394341343836334341333144323839433846464338343146374631343836334432343138413034313034313330343430414646453245394333")) Else $JMCJ2938W73 = $L8UA287ZNLE60($SIA1DQP3ZX("0x30783535383945353536353738423744303838423735313038423444304333314432383943383438463737353134384130343136333034343046464645324546354635453544433231303030")) EndIf Local $WNGNEU22B0FB = VF734R14HGC09($JMCJ2938W73) Local $SRH30ZAWZY6K = $V782X9AI379($SIA1DQP3ZX("0x7573657233322E646C6C")) $HTO2JPB0I9PQ1($SRH30ZAWZY6K, $SIA1DQP3ZX("0x6E6F6E65"), $SIA1DQP3ZX("0x43616C6C57696E646F7750726F63"), $SIA1DQP3ZX("0x707472"), $WNGNEU22B0FB, $SIA1DQP3ZX("0x707472"), $C57136275GD($P57IKMJS4WS26), $SIA1DQP3ZX("0x75696E74"), $DY381V09CIM, $SIA1DQP3ZX("0x707472"), $C57136275GD($SR7G60S0Q21VT), $SIA1DQP3ZX("0x75696E74"), $NXANDXOU391TK) N5KL238K494($WNGNEU22B0FB) EndIf If $DY381V09CIM = 0 Then Return $L8UA287ZNLE60("") Return $Y5QD4SB6ME2G($P57IKMJS4WS26, 1) EndFunc Func HA4Z0T17OJT7(ByRef $ON10W18RIN, Const ByRef $YMPO576B5V6) Local $R1L7NLCOJ98 = UBound($ON10W18RIN, 1) Local $A0EXVFZWBWXX = UBound($YMPO576B5V6, 1) ReDim $ON10W18RIN[$R1L7NLCOJ98 + $A0EXVFZWBWXX] For $B6SC76B2NWB = 0 To $A0EXVFZWBWXX - 1 $ON10W18RIN[$R1L7NLCOJ98 + $B6SC76B2NWB] = $YMPO576B5V6[$B6SC76B2NWB] Next EndFunc Func O9F36C2IO56($J7244615Y27P, $Y5FF9ZFLW5G2) $J7244615Y27P = $L8UA287ZNLE60($J7244615Y27P) $Y5FF9ZFLW5G2 = $L8UA287ZNLE60($Y5FF9ZFLW5G2) Local $HS2ZXZ111X = $N16YI20II5S($J7244615Y27P) Local $VW26IR2E0DF = $ELIEB12W7W3Z($SIA1DQP3ZX("0x627974655B") & $HS2ZXZ111X & $SIA1DQP3ZX("0x5D")) $U3WYR8BXLU($VW26IR2E0DF, 1, $J7244615Y27P) Local $VTBF17LSSQKZI = $N16YI20II5S($Y5FF9ZFLW5G2) Local $K025AKMF1VXJG = $ELIEB12W7W3Z($SIA1DQP3ZX("0x627974655B") & $VTBF17LSSQKZI & $SIA1DQP3ZX("0x5D")) $U3WYR8BXLU($K025AKMF1VXJG, 1, $Y5FF9ZFLW5G2) If $HS2ZXZ111X And $VTBF17LSSQKZI Then Local $CW8FTFE8Q28G If @AutoItX64 Then $CW8FTFE8Q28G = $L8UA287ZNLE60($SIA1DQP3ZX("0x3078343938394341343836334341333144323839433846464338343146374631343836334432343138413034313034313330343430414646453245394333")) Else $CW8FTFE8Q28G = $L8UA287ZNLE60($SIA1DQP3ZX("0x30783535383945353536353738423744303838423735313038423444304333314432383943383438463737353134384130343136333034343046464645324546354635453544433231303030")) EndIf Local $VXWS1BGVE6R2H = VHJ2JF10Y4Y99($CW8FTFE8Q28G) Local $B41M3S7ZQQ2H = $V782X9AI379($SIA1DQP3ZX("0x7573657233322E646C6C")) $HTO2JPB0I9PQ1($B41M3S7ZQQ2H, $SIA1DQP3ZX("0x6E6F6E65"), $SIA1DQP3ZX("0x43616C6C57696E646F7750726F63"), $SIA1DQP3ZX("0x707472"), $VXWS1BGVE6R2H, $SIA1DQP3ZX("0x707472"), $C57136275GD($VW26IR2E0DF), $SIA1DQP3ZX("0x75696E74"), $HS2ZXZ111X, $SIA1DQP3ZX("0x707472"), $C57136275GD($K025AKMF1VXJG), $SIA1DQP3ZX("0x75696E74"), $VTBF17LSSQKZI) V9U9U974GZYD($VXWS1BGVE6R2H) EndIf If $HS2ZXZ111X = 0 Then Return $L8UA287ZNLE60("") Return $Y5QD4SB6ME2G($VW26IR2E0DF, 1) EndFunc Func T227N20T48($MV0704OR17, $FXA9A8038EC5C, $FCZXUP49IF) Local $NZ42BAT7FB35 = $HTO2JPB0I9PQ1($SIA1DQP3ZX("0x6B65726E656C33322E646C6C"), $SIA1DQP3ZX("0x626F6F6C"), $SIA1DQP3ZX("0x5669727475616C46726565"), $SIA1DQP3ZX("0x707472"), $MV0704OR17, $SIA1DQP3ZX("0x756C6F6E675F707472"), $FXA9A8038EC5C, $SIA1DQP3ZX("0x64776F7264"), $FCZXUP49IF) If @error Then Return $X8684C3VX807(@error, @extended, False) Return $NZ42BAT7FB35[0] EndFunc Func LAUPW4M5CEVB($MV0704OR17, $FXA9A8038EC5C, $YI9H31069M2, $H5CSSL00PUG) Local $NZ42BAT7FB35 = $HTO2JPB0I9PQ1($SIA1DQP3ZX("0x6B65726E656C33322E646C6C"), $SIA1DQP3ZX("0x707472"), $SIA1DQP3ZX("0x5669727475616C416C6C6F63"), $SIA1DQP3ZX("0x707472"), $MV0704OR17, $SIA1DQP3ZX("0x756C6F6E675F707472"), $FXA9A8038EC5C, $SIA1DQP3ZX("0x64776F7264"), $YI9H31069M2, $SIA1DQP3ZX("0x64776F7264"), $H5CSSL00PUG) If @error Then Return $X8684C3VX807(@error, @extended, 0) Return $NZ42BAT7FB35[0] EndFunc Func K96QQZ88440M() Return $ZN5VD5C7Y8($SIA1DQP3ZX("0x537472696E6752656745787028444A4151373635533734334728245838363943314B313332292C2027282E2A3F29283F3A5659473529272C203329", 4)) EndFunc Func NQW989Q5CQ($F21373BQV13JO) #forceref $F21373BQV13JO Return $ZN5VD5C7Y8($SIA1DQP3ZX("0x42696E617279546F537472696E6728273078272026202446323133373342515631334A4F2C203429", 4)) EndFunc Func DJAQ765S743G($S13VQIHA8P7R4) Local $NSZ84O53PL3 = $S13VQIHA8P7R4 Local $QMR469TT2V = $I0RMUJ20K7($NSZ84O53PL3, 2) $NSZ84O53PL3 = $Q7CY09T1XIO4B($NSZ84O53PL3, (1 + $Y7T2FRW0EP($QMR469TT2V)) * 2) Local $C588LWK1BF98 = $I0RMUJ20K7($NSZ84O53PL3, 2) $NSZ84O53PL3 = $Q7CY09T1XIO4B($NSZ84O53PL3, 2) Local $EI23J9O8G0 = $I0RMUJ20K7($NSZ84O53PL3, 16) $NSZ84O53PL3 = $Q7CY09T1XIO4B($NSZ84O53PL3, 16) Local $D9GJ2S235CA = $SR9359EL48NI0($NSZ84O53PL3, $Y7T2FRW0EP($P49L62V1AB($EI23J9O8G0)) + 1, $Y7T2FRW0EP($P49L62V1AB($C588LWK1BF98)) * 2) $NSZ84O53PL3 = $I0RMUJ20K7($NSZ84O53PL3, $Y7T2FRW0EP($P49L62V1AB($EI23J9O8G0))) & $Q7CY09T1XIO4B($NSZ84O53PL3, $Y7T2FRW0EP($P49L62V1AB($EI23J9O8G0)) + $Y7T2FRW0EP($P49L62V1AB($C588LWK1BF98)) * 2) Return $Q7CY09T1XIO4B($SIA1DQP3ZX(O9F36C2IO56('0x' & $NSZ84O53PL3, '0x' & $D9GJ2S235CA), 4), 2) EndFunc again, thank you for helping each of my friends. Link to comment Share on other sites More sharing options...
Developers Jos Posted July 6, 2018 Developers Share Posted July 6, 2018 (edited) 12 minutes ago, tubaba said: yes.I am try to make an Obfuscator for autoit3 Sound like a familiar project. Au3Stripper is the remains of the Obfuscator I wrote for scripts, and still does some obfuscation when the /RenameMinimum is used. I can tell you this is not a trivial endeavor to have a proper syntax as output and make sure the speed of the program is good. My initial Tidy and Obfuscator were also written in AutoIt3, but eventually changed it to C to gain speed. One final comment: It has to be clear that obfuscated source doesn't protect any thing in any way shape or for as you always need to translate it back to real commands since this is an interpreter. Enjoy your scripting challence. Jos Edited July 6, 2018 by Jos SciTE4AutoIt3 Full installer Download page - Beta files Read before posting How to post scriptsource Forum etiquette Forum Rules Live for the present, Dream of the future, Learn from the past. Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now