Jump to content

New SciTE4AutoIt3 available with SciTE v3.3.7


Jos
 Share

Recommended Posts

  • Moderators

Jos,

It has not broken any of my existing old-style scripts yet. ;)

M23

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

Open spoiler to see my UDFs:

Spoiler

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

 

Link to comment
Share on other sites

So far so good Jos.

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 parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 22/04/2018

Link to comment
Share on other sites

  • Developers

Pulled the Beta Obfuscator because it breaks the obfuscation output so need to figure out how that regression started or really make the decision to stop with the Obfuscator option and rename the program to SourceStripper or something :)

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

  • Moderators

Jos,

 

stop with the Obfuscator option and rename the program to SourceStripper or something

Gets my vote. :thumbsup:

M23

Edit: But please keep the /OM bit - it speeds up the exe quite a bit. ;)

Edited by Melba23

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

Open spoiler to see my UDFs:

Spoiler

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

 

Link to comment
Share on other sites

rename the program to SourceStripper or something  :)

Yeah, the obfuscation part is outdated and as we have seen people think it protects their script.

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 parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 22/04/2018

Link to comment
Share on other sites

  • Developers

Already decided a while back to stop the support of the Obfuscation process and it is just a matter of putting in the time to make the changes to the AutoIt3Wrapper directives and GUI. Planning to do this for the next version of SciTE4AutoIt3.

I've found the regression in the mean time and also implemented some speed improvements (10-20%) for /StripOnly.

Uploaded Obfuscator v 1.1.0.3 to Beta.

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

Interesting that you managed to improve the stripping function.

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 parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 22/04/2018

Link to comment
Share on other sites

  • Developers

Edit: But please keep the /OM bit - it speeds up the exe quite a bit. ;)

No issue to keep that option.

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

  • Developers

Could we have both PreExpand and this new SourceStripper's features in one tool?

 

The "NEW" source stripper will actually be the old Obfuscator program with the Obfuscation part stripped out and the default changed from Obfuscation to /StripOnly.

The PreExpand feature build by guinness in the PreExpand script is not something I am totally convinced yet this is something that really contributes to a substantial size reduction or speed improvement, but I have stated the same to guinness that this really should be a feature that is part of the current Obfuscator process assuming it is worth it.

Maybe people can share their thoughts on this?

Jos

Edited 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

Well it's sort of a happy medium of using #define in a script without the fuss of adding functionality to either AutoIt3Wrapper of a secondary process in between the two.. I would love it if we had a pre-processor directive where I could define a name with a value that would be replaced before compilation, but we don't unfortunately. So we then get into a situation where people use "magic numbers" and make code hard to read for others just because they see a constant variable as "taking up memory". Silly really.

So, I created PreExpand where the pre-existing Const keyword is used instead of a new directive and thus a script can run normally in or out of SciTE.

Edited 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 parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 22/04/2018

Link to comment
Share on other sites

AutoIt doesn't compiles the source to machine language, it means a copy of your written script will be merged to the exe.

When the compiled script got run, the core part of AutoIt (AutoItSC) will read the script line by line and execute what our script should actually do.

Within the AutoItSC there is some kind of text-processor which deals with our written script (Read & Execute). There is also variable/function table, which holds the track of our variables/functions etc.

In programming languages like C++, the code will be converted to machine code in compile time, it means on run-time all of the codes we have written will be copied to the ram by loader, and then the processor knows the rest. There is nothing between what we write in the source, and what is getting executed by processor.

About AutoIt, it's different (See above). Every single character will affect the speed of our script, every single variable too, also the length of variable/function names as well.

Again, in C++ for example, before compiling the following code, the pre-processor will convert:

#define Constant1 0x11223344
#define Constant2 0xAABBCCDD
#define Constant3 "A string..."

DWORD a = Constant1 + Constant2;
MessageBox(NULL, Constant3, "", MB_OK);

To:

DWORD a = 0x11223344 + 0xAABBCCDD;
MessageBox(NULL, "A string...", "", MB_OK);

In AutoIt, we don't have a compiler, just a tool which merge the source to the AutoItSC, also some encryption, handling the resource, manifest etc, but in fact, the source is what we have written, not more, not less.

Now, that we don't have an actual compiler, we must take all we can from a pre-processor, which removes all comments, spaces, empty lines, unused variables, unused functions, and also replaces all of the constants and enum variables with their actual value (See the example of C++ above).

For you to know, I remember some times ago, I have compiled something in C#, then a little after that I decided to decompile my compiled C# exe for some reasons, guess what?

All of the variables and functions where renamed, take a look:

From this:

int MyGlobalVariable1;
int MyGlobalVariableWithLongName;
int MyGlobalVariableWithARellyLongLongNameWhichIsReallyLongIsntIt;

void HiImAFunction(int IHaveAName, int IHaveANameTooButNotForEver)
{
    int GuessWhoIAm = IHaveAName + IHaveANameTooButNotForEver;
}

void IAmTheLongestFunctionNameEverExistedSoShowSomeDamnRespect(int IAmTheParameterOfTheLongestFunctionYouEverSeen)
{
    int LetMeHoldTheResultForYou = MyGlobalVariable1 + MyGlobalVariableWithLongName
                                    + MyGlobalVariableWithARellyLongLongNameWhichIsReallyLongIsntIt
                                    + IAmTheParameterOfTheLongestFunctionYouEverSeen;
}

To this:

int a;
int b;
int c;

void a(int a, int b)
{
    int c = a + b;
}

void b(int d)
{
    int e = a + b + c + d;
}

If I was going to do this, I would convert the above code to this!:

int a;int b;int c;void a(int a,int b){int c=a+b;}void b(int d){int e=a+b+c+d;} 

It decreases the file size and also increases the code execution time,

So we also need our AutoIt pre-processor to do this for us too.

Sorry for the wall of text, just want to say my opinion.

Also I'm not requesting/forcing anyone to anything, just my opinion and what I knew.

Please correct me if I'm wrong.

Edit:

Sorry for the typo and misspelling, English is not my native language.

Edited by D4RKON3
Link to comment
Share on other sites

@Jos

As I'm a fan of your obfuscator's /CF option, here is a feature request.

It's been for a while that I'm using AutoItObject in my scripts, I'm not here to talk about that but obfuscator's /CF option doesn't handles functions which are used as methods of claess,

Here is a simple example showing the issue:

Func Accounts()
    Local $hDatabase = _SQLite_Open("Databases\Accounts.db")

    Local $sQuery = ""
    $sQuery &= "CREATE TABLE IF NOT EXISTS Accounts("
    $sQuery &= "Username TEXT PRIMARY KEY NOT NULL COLLATE NOCASE,"
    $sQuery &= "Password TEXT NOT NULL,"
    $sQuery &= "Servers INTEGER NOT NULL,"
    $sQuery &= "RoomId INTEGER NOT NULL,"
    $sQuery &= "RoomName TEXT NOT NULL,"
    $sQuery &= "ExpiryDate TEXT,"
    $sQuery &= "Comments TEXT"
    $sQuery &= ");"

    _SQLite_Exec($hDatabase, $sQuery)

    Local $oClass = AutoItObject_Class()
    With $oClass
        .AddProperty("Base64", $ELSCOPE_PRIVATE, Base64())
        .AddProperty("Misc", $ELSCOPE_PRIVATE, Misc())

        .AddProperty("DatabaseHandle", $ELSCOPE_PRIVATE, $hDatabase)

        .AddProperty("Type", $ELSCOPE_READONLY, Accounts_Type())

        .AddMethod("Account", "Accounts_Account", True)

        .AddMethod("Select", "Accounts_Select")
        .AddMethod("Insert", "Accounts_Insert")
        .AddMethod("Update", "Accounts_Update")
        .AddMethod("Delete", "Accounts_Delete")
        .AddMethod("Import", "Accounts_Import")

        .AddMethod("Usernames", "Accounts_Usernames")
        .AddMethod("IsDuplicated", "Accounts_IsDuplicated")

        .AddDestructor("Accounts_Destructor")
    EndWith
    Return $oClass.Object
EndFunc


Func Accounts_Destructor($this)
    _SQLite_Close($this.DatabaseHandle)
EndFunc

Func Accounts_Type()
    ;...
EndFunc

Func Accounts_Account($this, $sUsername, $sPassword, $iServers, $iRoomId, $sRoomName, $sExpiryDate, $sComments)
    ;...
EndFunc

Func Accounts_Select($this, $sUsername)
    ;...
EndFunc

Func Accounts_Insert($this, $sUsername, $sPassword, $sServers, $sRoomId, $sRoomName, $sExpiryDate = "", $sComments = "")
    ;...
EndFunc

Func Accounts_Update($this, $sUsername, $sPassword = Null, $sServers = Null, $sRoomId = Null, $sRoomName = Null, $sExpiryDate = Null, $sComments = Null)
    ;...
EndFunc

Func Accounts_Delete($this, $sUsername)
    ;...
EndFunc

Func Accounts_Import($this, $sFilePath, $fReplace)
    ;...
EndFunc

Func Accounts_Usernames($this, $iType, $sSearch = "")
    ;...
EndFunc

Func Accounts_IsDuplicated($this, $sUsername)
    ;...
EndFunc

As you can see, function names are referred in .AddMethod and .AddDestructor as string, if I run obfuscator on this script all of the functions will be stripped out and this will break the whole script.

I saw obfuscator takes care of functions referred as string in GUICtrlSetOnEvent, GUIRegisterMsg, etc... so just was thinking is it possible to have the same feature for this two methods as well (.AddMethod and .AddDestructor).

Currently I'm using #Obfuscator_Ignore_Funcs for all of my functions within a class, but I'm loosing the /CF option on them :|

Would be great if you could do anything.

Thanks.

Edited by D4RKON3
Link to comment
Share on other sites

I still get the em:
 

+>01:24:04 Starting AutoIt3Wrapper v.2.1.4.0 SciTE v.3.3.7.0 ;  Keyboard:00000407  OS:WIN_7/Service Pack 1  CPU:X64 OS:X64    Environment(Language:0409  Keyboard:00000407  OS:WIN_7/Service Pack 1  CPU:X64 OS:X64)
>Running AU3Check (3.3.10.2)  from:C:Program Files (x86)AutoIt3
+>01:24:06 AU3Check ended.rc:0
! Input file is UTF8 encoded. Obfuscator does not support this and will be skipped.

although it should be fixed

...

12/28/2013
*** Merged the updates of SciTE v 3.3.7 by Neil Hodgson with our own version of SciTE. (Jos)
*** Updated Production config files to 3.3.10.0
*** Updated AutoIt3Wrapper v2.1.4.0 (Jos)
    - Use "c:\users\\Appdata\Local\Autoit v3\Aut2Exe" as Temp directory for compiling and resource updating like aut2exe.
    - Fixed issue with Compile both and Pragma(x64,true)
    - Fixed inputfile in case Obfuscator needs to run but is skipped due to unsupported utf format.
    - Fixed UPX selection option to default to N and adding the Directive when checkbox is checked.
*** Updated Obfuscator.exe v1.0.31.1 (Jos)
    - Changed the code to leave #include statements that include a a3x file.
...

Br,

UEZ

Please don't send me any personal message and ask for support! I will not reply!

Selection of finest graphical examples at Codepen.io

The own fart smells best!
Her 'sikim hıyar' diyene bir avuç tuz alıp koşma!
¯\_(ツ)_/¯  ٩(●̮̮̃•̃)۶ ٩(-̮̮̃-̃)۶ૐ

Link to comment
Share on other sites

Last night, after I have posted my previews post, I started to imagining that if obfuscator has a way which I could add some function name to a list (file) which obfuscator would handle their parameters as function names, and handles them in /SO and /CF option, that was just great.

Today, after I have checked this thread to see if there is any response, in the previews page I saw the latest obfuscator for download, I have downloaded that and when I was going to copy the file to obfuscator's folder guess what? I saw there is a file named Obfuscator.dat. For some unknown reasons I just opened that in a text editor and I faced the following texts:

Functionname,Parameter to check,0=check for function/1=check for Variable
adlibenable,1,0
adlibregister,1,0
adlibunregister,1,0
call,1,0
dllcallbackregister,1,0
eval,1,1
guictrlregisterlistviewsort,2,0
guictrlsetonevent,2,0
guiregistermsg,2,0
guisetonevent,2,0
hotkeyset,2,0
isdeclared,1,1
objevent,2,0
onautoitexitregister,1,0
onautoitexitunregister,1,0
opt,2,0
traysetonevent,2,0
trayitemsetonevent,2,0

It was a CSV file which holds the name and parameter number of functions which their parameters should be treated as function names.

Did you get it?!

Just added to following line and what I had posted in my previews post got solved:

addmethod,2,0
adddestructor,1,0

Wondering how close the answers could be and how much blind we (Talking about myself) could be! 

Edited by D4RKON3
Link to comment
Share on other sites

  • Developers

@Jos

As I'm a fan of your obfuscator's /CF option, here is a feature request.

This is an Obfuscation task which won't be in the next version of Obfuscator/Au3Stripper.

As to your feature request: I see you found the table that is used by OBfuscator to scan for literal string Func or Variable names in functions.

This table will remain to facilitate the stripping functionality as that also needs to know whether or not Func's are used.

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

  • Developers

Which part of the "text wall" wasn't covered yet?

When it is about PreExpanding variables in the source by Au3Stripper/Obfuscator, I can tell you I am still the fence at this moment as there are many pitfalls that needs handling.

I am also still wondering if there is a notable improvement in speed or size and haven't seen much input from others that proves otherwise.

Jos

Edited 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

  • Developers

I still get the em:

 

+>01:24:04 Starting AutoIt3Wrapper v.2.1.4.0 SciTE v.3.3.7.0 ;  Keyboard:00000407  OS:WIN_7/Service Pack 1  CPU:X64 OS:X64    Environment(Language:0409  Keyboard:00000407  OS:WIN_7/Service Pack 1  CPU:X64 OS:X64)
>Running AU3Check (3.3.10.2)  from:C:Program Files (x86)AutoIt3
+>01:24:06 AU3Check ended.rc:0
! Input file is UTF8 encoded. Obfuscator does not support this and will be skipped.

although it should be fixed

...

12/28/2013
*** Merged the updates of SciTE v 3.3.7 by Neil Hodgson with our own version of SciTE. (Jos)
*** Updated Production config files to 3.3.10.0
*** Updated AutoIt3Wrapper v2.1.4.0 (Jos)
    - Use "c:\users\\Appdata\Local\Autoit v3\Aut2Exe" as Temp directory for compiling and resource updating like aut2exe.
    - Fixed issue with Compile both and Pragma(x64,true)
    - Fixed inputfile in case Obfuscator needs to run but is skipped due to unsupported utf format.
    - Fixed UPX selection option to default to N and adding the Directive when checkbox is checked.
*** Updated Obfuscator.exe v1.0.31.1 (Jos)
    - Changed the code to leave #include statements that include a a3x file.
...

Br,

UEZ

Which entry in the History log makes you think that Obfuscator supports UTF8 encoded files?

It was AutoIt3Wrapper that didn't handle the Obfuscator exiting without producing the scriptfile_Obfuscated.au3 files correctly that was fixed.

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

Guest
This topic is now closed to further replies.
 Share

×
×
  • Create New...