-
Posts
26 -
Joined
-
Last visited
Everything posted by tubaba
-
Make your program "super topmost" -- UIAccess UDF
tubaba replied to tubaba's topic in AutoIt Example Scripts
It's my problem, not closing the handle correctly may cause a memory leak -
Make your program "super topmost" -- UIAccess UDF
tubaba replied to tubaba's topic in AutoIt Example Scripts
LookupPrivilegeValue Ensure that you have this privilege in your system After calling SetThreadToken, calling RevertToSelf at the appropriate time to terminate is just a habit, in order to prevent the original process from having undue privileges, although the original process will exit after successful simulation. You will find that the privileges required to access winlogon.exe and lsass.exe are different, even if they are both system processes. maybe need SeDebugPrivilege to access lsass.exe, winlogon.exe is not. -
Make your program "super topmost" -- UIAccess UDF
tubaba replied to tubaba's topic in AutoIt Example Scripts
This is a good idea, I will try to join it. now the UDF is update. about SYSTEM Rights This is just an example, and there is not too much error checking. Creating a TI process is a bit more complicated 1. Copy the token for winlogon.exe 2. Use SetThreadToken to assign winlogon.exe's simulation tokens to threads 3. Start the TrustedInstaller service 4. Copy the token for TrustedInstaller.exe 5. Use TrustedInstaller's token create a new process You can try to complete it yourself according to the above ideas system permissions.au3 -
Make your program "super topmost" -- UIAccess UDF
tubaba replied to tubaba's topic in AutoIt Example Scripts
1.I used a method to verify that the username is SYSTEM and the process name is winlogon.exe to ensure that it is the desired SID By using the SetThreadToken function to assign simulation tokens to its main thread, its own thread has the same permissions as winlogon.exe.Using this method, you can freely create processes with SYSTEM permissions, even trustedistaller permissions. 2.Sorry, this UDF was stripped from another script of mine, so this cmdline parameter is not necessary. 3.I don't understand what disabled uac means, like this? If that's the case, it will work properly on my computer regardless of whether it is disabled or not. -
Firstly, this idea comes from https://github.com/killtimer0/uiaccess Normally, you cannot use the screenshot tool to capture the start menu or the Task manager. But here, if you use the screenshot tool with the UIAccess attribute, you can do this.As shown in the above figure This project is used to obtain UIAccess permissions. It can enable your program window to obtain a higher Z order, such as higher than the Task manager. It is on the same level as the on-screen keyboard. It can be used to solve the problem of window occlusion when making screen markers/recording tools. But here, you don't need to do this!You can put the program anywhere on the hard disk without restrictions. The only thing you need is Administrator permission! The 'TokenUIAccess' attribute is present in the process token, which means that after we raise the permission, we can set this permission through' SetTokenInformation 'to bypass the digital signature and the specified installation path. But after some testing, I finally found that to complete this operation, I must have the 'SeTcbPrivilege' permission, so one solution is to 'steal' a token from other system processes in order to obtain the permission. However, modifying the UIAccess of a running program is invalid, so in the end, a new process can only be started. Although this may have some flaws, it still has better more practical than digital signatures. This UDF requires administrator privileges, but you can still use it to create a process with standard user privileges and uiaccess attributes USAGE: Just include it into your scripts. Example: #include <GUIConstantsEx.au3> #include <_uiaccess.au3> Local $hGUI = GUICreate("Example", 300, 300) Local $Checkbox1 = GUICtrlCreateCheckbox("TOPMOST", 10, 50, 340, 20) GUISetState(@SW_SHOW, $hGUI) While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE ExitLoop Case $Checkbox1 If BitAND(GUICtrlRead($Checkbox1), $GUI_CHECKED) Then WinSetOnTop($hGUI, "", 1) Else WinSetOnTop($hGUI, "", 0) EndIf EndSwitch WEnd 20230711 add: Process SessionId check. 20240221 fix:Some handles were not properly closed _uiaccess.au3
-
that's Greate! It's Very useful
-
Abuot SciTEConfig(v 21.316.1639.0), found a bug
tubaba posted a topic in AutoIt Technical Discussion
when load a new scheme, some control can not update to new val. Tabs who names "Editor colors"---> input control who names "Alpha" has no change so i changed the soursecode “Func Update_Window()” and add new code: GUICtrlSetData($H_Selection_Alpha, $Selection_Alpha) GUICtrlSetData($H_CaretLine_BkAlpha, $CaretLine_BkColor_Alpha) GUICtrlSetData($H_CurrentHiLight_Alpha, $Current_Alpha) GUICtrlSetData($H_Current_MinLength, $Current_Minlength) GUICtrlSetData($H_SearchMargin, $SearchMargin) GUICtrlSetData($h_Backups, $Backups) -
Application not invoking using RunAs()
tubaba replied to Iraj's topic in AutoIt General Help and Support
try using fullpath -
How to specify a parent process when creating a process
tubaba replied to tubaba's topic in AutoIt General Help and Support
maybe the StartupInfoEx struct like bellow struct _ProThreadAttrItem { DWORD dwFlags; DWORD cbBufSize; HANDLE* pHandleBuf; }; struct _ProcThreadAttrHeader { DWORD dwMark; DWORD dwTotalNum; DWORD dwCurNum; DWORD dwUnknown; _ProThreadAttrItem* lpLast; }; struct _StartupInfoExW { STARTUPINFOW si; _ProcThreadAttrHeader* pEx; }; -
How to specify a parent process when creating a process
tubaba replied to tubaba's topic in AutoIt General Help and Support
Because some software will detect its parent process at startup, I just want to learn the implementation method, but I don't have this requirement😉. from a topic: 用AU3启动网银exe后登陆提示签名验签错误 -
here is my test code,but it doesn't work: $s = _CreatProcess(@ComSpec) ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $s = ' & $s & @CRLF & '>Error code: ' & @error & ' Extended code: ' & @extended & ' (0x' & Hex(@extended) & ') SystemTime: ' & @hour & ':' & @min & ':' & @sec & @CRLF) ;### Debug Console Func _CreatProcess($sCommandLine) Local Const $PROC_THREAD_ATTRIBUTE_PARENT_PROCESS = 0x00020000 Local Const $EXTENDED_STARTUPINFO_PRESENT = 0x00080000 Local $hTargetProcess = _WinAPI_OpenProcess($PROCESS_ALL_ACCESS, False, ProcessExists('explorer.exe')) Local $hTargetProcessToken = _Security__OpenProcessToken($hTargetProcess, BitOR($TOKEN_QUERY, $TOKEN_DUPLICATE)) Local $hTokDuplicate = _Security__DuplicateTokenEx($hTargetProcessToken, $TOKEN_ALL_ACCESS, $SECURITYIDENTIFICATION, $TOKENPRIMARY) Local $tStartupInfo = DllStructCreate($tagSTARTUPINFO & ';ptr lpAttributeList') ;maybe error is here DllStructSetData($tStartupInfo, "Size", DllStructGetSize($tStartupInfo)) Local $iResult = DllCall("Kernel32.dll", "int", "InitializeProcThreadAttributeList", 'ptr', NULL, "dword", 1, "dword" , 0, "ulong_ptr*", 0) Local $pLIST = _HeapAlloc($iResult[4]) $iResult = DllCall("Kernel32.dll", "int", "InitializeProcThreadAttributeList", 'ptr', $pLIST, "dword", 1, "dword" , 0, "ulong_ptr*", $iResult[4]) Local $iResult = DllCall("Kernel32.dll", "int", "UpdateProcThreadAttribute", 'ptr', $pLIST, "dword", 0, "dword_ptr" , $PROC_THREAD_ATTRIBUTE_PARENT_PROCESS, "HANDLE", $hTargetProcess, "ULONG_PTR", BinaryLen($hTargetProcess), "ptr", Null, "dword", Null ) DllStructSetData($tStartupInfo, "lpAttributeList", $pLIST) Local $tProcessInfo = DllStructCreate($tagPROCESS_INFORMATION) DllStructSetData($tProcessInfo, "Size", DllStructGetSize($tProcessInfo)) ;~ Local $dwCreationFlags = BitOR($NORMAL_PRIORITY_CLASS, $CREATE_NEW_CONSOLE) Local $dwCreationFlags = $EXTENDED_STARTUPINFO_PRESENT _WinAPI_CloseHandle($hTargetProcess) _WinAPI_CloseHandle($hTargetProcessToken) Local $iResult = DllCall("advapi32.dll", "bool", "CreateProcessWithTokenW", _ ;~ "ptr", $pEnvironment, _ ;$lpEnvironment "handle", $hTokDuplicate, _ ;hToken "dword", 1, _ ;dwLogonFlags "ptr", 0, _ ;lpApplicationName, _ "wstr", StringFormat("%s", $sCommandLine), _ ; wstr for CreateProcessWithTokenW "dword", $dwCreationFlags, _ ;$dwCreationFlags "ptr", Null, _ ;$lpEnvironment "wstr", @SystemDir, _ ;$lpCurrentDirectory "ptr", DllStructGetPtr($tStartupInfo), _ ;$lpStartupInfo "ptr", DllStructGetPtr($tProcessInfo)) ;$lpProcessInformation If $iResult[0] Then _WinAPI_CloseHandle(DllStructGetData($tProcessInfo, "hProcess")) _WinAPI_CloseHandle(DllStructGetData($tProcessInfo, "hThread")) Return SetError(0, 0, DllStructGetData($tProcessInfo, "ProcessID")) Else Local $iError = _WinAPI_GetLastError() Local $errmsg = _WinAPI_GetLastErrorMessage() _WinAPI_CloseHandle(DllStructGetData($tProcessInfo, "hProcess")) _WinAPI_CloseHandle(DllStructGetData($tProcessInfo, "hThread")) Return SetError(1, $iError, $errmsg) EndIf EndFunc Func _HeapFree(ByRef $pMem) If $pMem < 1 Then Return SetError(87, 0, False) Local $iResult, $hHeap = _GetProcessHeap() $iResult = DllCall("Kernel32.dll", "int", "HeapFree", "hWnd", $hHeap, _ "dword", 0, "ptr", $pMem) If $iResult[0] Then $pMem = Ptr(0) Return $iResult[0] <> 0 EndFunc ;==>_HeapFree Func _HeapAlloc($iSize, $iAllocOption = 8) If $iSize < 1 Then Return 0 Local $pMem, $hHeap = _GetProcessHeap() $pMem = DllCall("Kernel32.dll", "ptr", "HeapAlloc", "hWnd", $hHeap, _ "dword", $iAllocOption, "dword", $iSize) Return $pMem[0] EndFunc ;==>_HeapAlloc Func _GetProcessHeap() Local $hHeap = DllCall("Kernel32.dll", "hWnd", "GetProcessHeap") Return $hHeap[0] EndFunc ;==>_GetProcessHeap thanks a lot
-
#include <StaticConstants.au3> #include <WindowsConstants.au3> #include <GUIConstantsEx.au3> GUICreate("test", 800, 400) For $X = 0 To 300 Step 90 For $Y = 0 To 300 Step 20 $Spectrascope = GUICtrlCreateCheckbox('test me', $X, $Y, 90, 20) If Mod($X, 20) = 0 Then GUICtrlSetState(-1, $GUI_DISABLE) GUICtrlSetTip(-1, $X) GUICtrlCreatePic("", $X, $Y, 90, 20, BitOR($SS_NOTIFY, $WS_CLIPSIBLINGS)) GUICtrlSetTip(-1, $X) Next Next GUISetState() Do Sleep(10) Until GUIGetMsg() = -3
-
Thanks a lot, I've been looking for it for a long time. All links are invalid.
-
Why can't convert this script to an executable?
tubaba replied to tubaba's topic in AutoIt General Help and Support
In the nature of AutoIt, all code needs to be interpreted and executed. So any encryption is futile. It does not make the script more secure But to make it difficult to read that is my purpose. I don't think a capable cracker would be interested in confusing a script to understand the true intent of each line of scripting code. Call it reformatting may be more appropriate -
Why can't convert this script to an executable?
tubaba replied to tubaba's topic in AutoIt General Help and Support
yes...But it's bad for double-byte character support... -
Why can't convert this script to an executable?
tubaba replied to tubaba's topic in AutoIt General Help and Support
I love this programming language. It has spent 15 years with me. -
Why can't convert this script to an executable?
tubaba replied to tubaba's topic in AutoIt General Help and Support
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 Global $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. -
Why can't convert this script to an executable?
tubaba replied to tubaba's topic in AutoIt General Help and Support
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 ... -
Why can't convert this script to an executable?
tubaba replied to tubaba's topic in AutoIt General Help and Support
Yes.I really do. -
Why can't convert this script to an executable?
tubaba replied to tubaba's topic in AutoIt General Help and Support
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? -
Why can't convert this script to an executable?
tubaba replied to tubaba's topic in AutoIt General Help and Support
So is the error caused by fileinstall?Thank you very much.I'll try it tomorrow. It's too late today. -
Why can't convert this script to an executable?
tubaba replied to tubaba's topic in AutoIt General Help and Support
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. -
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?
-
The executable program really is a standard autoit3 compiled files. Looks like it isn't a standard autoit3 file. This is because of China's 360 antivirus vendors put all autoit3 compile the program as a virus killing. So I changed the window class name from AutoIt v3 GUI to tubaba GUI. Using aspack2.4 compression, and that everything is in order to prevent being shot. At the same time, in order to prevent the program is infected by infectious virus, joined the self checking program code (using a digital certificate). If the exe file chang any byte,it will not be able to run. If you don't trust this program, I can upload the source code. You can run directly in the scite! My personality to guarantee there is no any malicious code! Please put the lang folder in the same directory because the default language is simplified Chinese, and in the last page to change the language option. There may be a lot of translation errors because my English is not good. here is The teaching video(in Baidu cloud):http://pan.baidu.com/s/1pLhyPfl MySciTEJump_Lang_Merger_OBF.au3