johnmcloud Posted February 19, 2013 Posted February 19, 2013 (edited) Hi guys, this script:#include <MouseOnEvent.au3> ;External UDF #NoTrayIcon Opt("WinTitleMatchMode", 2) ShellExecute("notepad.exe") Global $bPaused = 0 Global $Flag = True While 1 If WinActive("[CLASS:Notepad]") And $Flag Then _MouseSetOnEvent($MOUSE_WHEELDOWN_EVENT, "_WheelPressed", 0, 1) $Flag = False EndIf If Not ProcessExists("notepad.exe") Then _Exit() EndIf WEnd Func _WheelPressed() Send("Test") EndFunc ;==>_Remapping_WHEELDOWN Func _Exit() Exit 0 EndFunc ;==>_ExitYou need Work fine like .au3Work fine like .exeNot work if i'll try to obfuscate, this is the output:-### Obfuscation Error: Found DllCallbackRegister() statement using unsolvable Func, which will/could lead to problems running your obfuscated script. >### current Func: _Timer_SetTimer C:\Programmi\AutoIt3\include\Timers.au3(275,1) Warning for line:$hCallBack = DllCallbackRegister($sTimerFunc, "none", "hwnd;int;uint_ptr;dword") -### Obfuscation Error: Found Call() statement using unsolvable Func, which will/could lead to problems running your obfuscated script. >### current Func: __MouseSetOnEvent_MainHandler C:\Documents and Settings\XXX\Desktop\MouseOnEvent.au3(341,1) Warning for line:$iRet = Call($a__MSOE_Events[$i][1], $iEvent, $a__MSOE_Events[$i][4]) -### Obfuscation Error: Found Call() statement using unsolvable Func, which will/could lead to problems running your obfuscated script. >### current Func: __MouseSetOnEvent_MainHandler C:\Documents and Settings\XXX\Desktop\MouseOnEvent.au3(344,1) Warning for line:$iRet = Call($a__MSOE_Events[$i][1], $iEvent) -### Obfuscation Error: Found Call() statement using unsolvable Func, which will/could lead to problems running your obfuscated script. >### current Func: __MouseSetOnEvent_MainHandler C:\Documents and Settings\XXX\Desktop\MouseOnEvent.au3(347,1) Warning for line:$iRet = Call($a__MSOE_Events[$i][1]) -############################################################################################# -#### Obfuscator Found 4 Error(s)!!!! This means your script could have problems running properly. #### -############################################################################################# +> Obfuscator v1.0.29.5 finished obfuscating 4112 lines, stripped 7916 comment lines. created:C:\Documents and Settings\XXX\Desktop\TestScript_Obfuscated.au3I don't know if it is a Obfuscator bug or a UDF bug, anyway there is a incompatibility between Obfuscator and MouseSetOnEventSolutions?Thanks Edited February 19, 2013 by Melba23 Changed title - it is not a "BUG"
FireFox Posted February 19, 2013 Posted February 19, 2013 (edited) Hi, No this is not a bug, the obfuscator can not find any direct call to these functions so it thinks that they are unsolvable. I personaly do : If Not 1 Then Call("_MyFunc") ;will never happend Func _MyFunc() ;... EndFunc Br, FireFox. Edited February 19, 2013 by FireFox
guinness Posted February 19, 2013 Posted February 19, 2013 It's not a bug (please don't throw that word around for when something doesn't work), Jos has been very clear about this in the Obfusactor documentation/thread and the "error" lines are very clear at what is causing the output. UDF List:  _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018
johnmcloud Posted February 19, 2013 Author Posted February 19, 2013 (edited) So it's a UDF problem? I don't have any CallIt's not a bug (please don't throw that word around for when something doesn't workFor me Bug = something doesn't work as expected, but i can't write it in the tile Edited February 19, 2013 by johnmcloud
FireFox Posted February 19, 2013 Posted February 19, 2013 (edited) So it's a UDF problem? I don't have any CallThe UDF you are using uses the Call function to trigger the one you defined (here for a mouse event which is _WheelPressed) Edited February 19, 2013 by FireFox
johnmcloud Posted February 19, 2013 Author Posted February 19, 2013 Ok, i'll post this in the author's thread, about that problem/incompatibility or whatever we want to call it
Moderators Melba23 Posted February 19, 2013 Moderators Posted February 19, 2013 johnmcloud,Bug = something doesn't work as expected, but i can't write it in the tileYes you can - and I just have. M23  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 columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area Â
guinness Posted February 19, 2013 Posted February 19, 2013 (edited) So it's a UDF problem? I don't have any Call Did you not read the output? This is the UDF which uses Call, it isn't yours. It can be eradicated/removed, but you would need to "heavily" change the UDF around so as not to use Call. C:Documents and SettingsXXXDesktopMouseOnEvent.au3(344,1) Warning for line:$iRet = Call($a__MSOE_Events[$i][1], $iEvent) I personally don't use this UDF. Edited February 19, 2013 by guinness UDF List:  _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018
johnmcloud Posted February 19, 2013 Author Posted February 19, 2013 (edited) Melba,I'll never use that word in this forum again, the thing that must not be named I personally don't use this UDF Do you have an alternative? Edited February 19, 2013 by johnmcloud
guinness Posted February 19, 2013 Posted February 19, 2013 Create your own, it's what I did for one project (code is closed source.) MrCreatorR uses Call for setting a function as a callback for when an event takes place. It's designed for users who don't want to get dirty with creating overly complex code in AutoIt. Therefore it's not "fixable" and posting in the UDF thread is a waste of time. UDF List:  _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018
johnmcloud Posted February 19, 2013 Author Posted February 19, 2013 guinness, If i was able to create my own version i would have already done this by myself, i'm not a good coder for how much effort i can put in. I have make a post i the MrCreatoR thread for make it aware if he don't know, if he want to "change it" and make it compatible with obfuscator good, else it's not a problem
johnmcloud Posted February 19, 2013 Author Posted February 19, 2013 Do my replies are blank ? Mmm...not? The UDF Call section is: $iRet = Call($a__MSOE_Events[$i][1], $iEvent, $a__MSOE_Events[$i][4]) If @error Then $iRet = Call($a__MSOE_Events[$i][1], $iEvent) If @error Then $iRet = Call($a__MSOE_Events[$i][1]) EndIf EndIf If i make: If Not 1 Then $iRet = Call(etc.) The UDF not work anymore
guinness Posted February 19, 2013 Posted February 19, 2013 (edited) guinness,If i was able to create my own version i would have already done this by myselfIn that case your question has been answered. Edited February 19, 2013 by guinness UDF List:  _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018
FireFox Posted February 19, 2013 Posted February 19, 2013 If i make: If Not 1 Then $iRet = Call(etc.) The UDF not work anymore That's not what I meant. ;this is the "unsolvable function" If Not 1 Then Call("_WheelPressed")
johnmcloud Posted February 19, 2013 Author Posted February 19, 2013 (edited) FireFox, Probably i'm totally stoned by this code, i need to change how my script call the UDF function? In any case, please post an example based on the first post, thank you. Edited February 19, 2013 by johnmcloud
guinness Posted February 19, 2013 Posted February 19, 2013 FireFox is showing you the usage of Call and that the output displayed by Obfuscator is normal, as the reason they described. UDF List:  _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018
Developers Jos Posted February 19, 2013 Developers Posted February 19, 2013 FireFox,Probably i'm totally stoned by this code, i need to change how my script call the UDF function? In any case, please post an example based on the first post, thank you.I have said this before to others:Maybe you should consider not using obfuscator when you don't understand what the limitation are and the warnings/Errors mean as you will end up with a crippled script.You'll slowly need to get used to the fact I am going to drop support on the Obfuscation part. I am considering supporting the stripping functionality depending on the changes Jon applies to the syntax.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.Â
czardas Posted February 19, 2013 Posted February 19, 2013 (edited) Although it's not entirely related, I have been trying to figure out my own obfuscation technique for a particular script. I got inspiration from Jos' program, but my script uses some functions that are not intended to be combined with obfuscator. In all it's turning out to be quite a task, but very revealing. Thanks Jos for the inspiration.BTW, one technique I'm trying is refactorizing magic numbers and wrapping them in bitwise functions. My main idea is to make it as annoying as possible. EDITActually refactorizing isn't quite the word I'm looking for but it's close to what I mean. Something like BitOr(1, 2, 4, 8) could become BitOr(6, 9) or BitOr(7, 8) - makes no difference - etc. Well I think it's a good idea. Time will tell. Edited February 19, 2013 by czardas operator64Â Â ArrayWorkshop
FireFox Posted February 19, 2013 Posted February 19, 2013 I will explain how it works : The obfuscator strips unused functions, in the UDF you have this variable : $a__MSOE_Events[$i][1] which calls your function, but how can the obfuscator know (only by the script) that it calls "_WheelPressed" ? So, the obfuscator shows a warning because the function stored in this variable could be stripped. Here is the "trick" included in your first post script : #include <MouseOnEvent.au3> ;External UDF #NoTrayIcon Opt("WinTitleMatchMode", 2) ShellExecute("notepad.exe") Global $bPaused = 0 Global $Flag = True While 1 If WinActive("[CLASS:Notepad]") And $Flag Then _MouseSetOnEvent($MOUSE_WHEELDOWN_EVENT, "_WheelPressed", 0, 1) $Flag = False EndIf If Not ProcessExists("notepad.exe") Then _Exit() EndIf WEnd If Not 1 Then _WheelPressed() Func _WheelPressed() Send("Test") EndFunc ;==>_WheelPressed Func _Exit() Exit 0 EndFunc ;==>_Exit As you can understand, there is a direct call to your function, so the obfuscator won't strip it AND the function won't be called because the test always equals to False. (If Not 1, If Not True etc... just an example). Br, FireFox.
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