Jump to content

Obfuscator (discontinued)


Jos
 Share

Recommended Posts

Did you read the error message? It tells you why it won't work. Your line is longer than 2047 characters, make them shorter.

 

Thanks, BrewManNH :)

I did read the error message, thats why I said "the error message is clear".

After post that message, I realized maybe separate that long var into few var and then concatenate them might work.

Something like:

$sData1 = "blablbla"
$sData2 = "blablbla"
$sData3 = "blablbla"
 
Return Binary($sData1 & $sData2 & $sData3)

 

What do you think?

Also, why

#obfuscator_Ignore_Funcs=_EzMySql_Dll

 

doesn't work?

Link to comment
Share on other sites

That flag just stops obfuscator from mangling the variable name, it doesn't change any of the other processing.

 

Aha!

Thanks, Mat! :)

I guess I should try

#Obfuscator_On ; (default) Switch Obfuscation back on

#Obfuscator_Off ; Switch Obfuscation back off, all line following this line are not changed till its switched back on.

Link to comment
Share on other sites

  • Moderators

D4RKON3,

Perhaps this will prepare you for the likely answer. ;)

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

  • Developers

Jos, can it be changed from 2047 to 4095 to match the AutoIt's defaults/limits? That would be nice.

As the linked page by Melba23 explains: it will never be possible to have an input record length being the same as Autoit3 as the Obfuscation process makes the record longer.

However, Obfuscator does support 4096 when using the striponly 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
Also, why
#obfuscator_Ignore_Funcs=_EzMySql_Dll

doesn't work?

Why should it as that only does something with the Func name , not the whole Func code?

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

  • 1 month later...

Hi Jos,

I'm not sure should I ask/report this:

I have a pretty large script which is about 4000++ lines. This script is get updated regulary. Maybe about 4 of 5 try, it will fail:

- Iteration 1 Strip Functions result: Output  14608 lines and stripped 23905 lines
- Iteration 2 Strip Variables result: Output  14608 lines and stripped 0 lines
- Iteration 3 Start the actual Obfuscation.
Can't open file C:my_foldermy_file_Obfuscated.au3
 

If this happened, the TBL file will have no content (filesize is 0), but the my_file_Obfuscated.au3 is there, just not obfuscated.

This has been happen since I use the obfuscator, that is around 1-2-3 months ago.

This is also happening to my other "large" scripts.

What I've do to make sure it sucessfull is just press F7 everytime it's failed.

Windows XP and Windows 7, AutoIT 3.8.8.1, Obfuscator 1.0.30.4

This is the directives:

#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Run_Obfuscator=y
#AutoIt3Wrapper_Icon=my_ico.ico
#AutoIt3Wrapper_UseUpx=n
#AutoIt3Wrapper_Res_Fileversion=2.2.1
#AutoIt3Wrapper_Res_LegalCopyright=(c) me
#AutoIt3Wrapper_Res_SaveSource=n
#Obfuscator_Parameters=/sf 1
#obfuscator_Ignore_Funcs=Callback
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****

 

Thank you :)

Link to comment
Share on other sites

Download the beta version from Jos signature link. It's Obfuscator v1.0.30.13 and check the Obfuscator log to see where it's failing.

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

Hi Jos,

I'm not sure should I ask/report this:

I have a pretty large script which is about 4000++ lines. This script is get updated regulary. Maybe about 4 of 5 try, it will fail:

- Iteration 1 Strip Functions result: Output  14608 lines and stripped 23905 lines

- Iteration 2 Strip Variables result: Output  14608 lines and stripped 0 lines

- Iteration 3 Start the actual Obfuscation.

Can't open file C:my_foldermy_file_Obfuscated.au3

 

If this happened, the TBL file will have no content (filesize is 0), but the my_file_Obfuscated.au3 is there, just not obfuscated.

Could it be you have the Explorer open in the target directory and already an existing my_file_Obfuscated.au3 ?

We had similar issues with resource updating.

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

Guinness and Jos:

Tried v1.0.30.13 and I can report this:

It still sometime failed, but now it has a greater sucess rate. Almost every FIRST F7 failed with SciTE output:

-#############################################################################################
- Iteration 1 Strip Functions result: Output  13404 lines and stripped 23605 lines
- Iteration 2 Strip Variables result: Output  13383 lines and stripped 0 lines
- Iteration 3 Start the actual Obfuscation.
Can't open file C:my_foldermy_file_Obfuscated.au3
 

and here is the log:

- Iteration 2 Strip Variables result: Output  13383 lines and stripped 0 lines
- Iteration 3 Start the actual Obfuscation.
53.36 ############################## Starting #######################################################################
53.36 ### Processing file:C:DOCUME~1WindowsLOCALS~1TempOBs2DB.tmp
53.36 Special Function: Functionname   Parameter:-1   ParameterType: 0 (0=Func/1=Var)
53.36 Special Function: adlibenable   Parameter: 0   ParameterType: 0 (0=Func/1=Var)
53.36 Special Function: adlibregister   Parameter: 0   ParameterType: 0 (0=Func/1=Var)
53.36 Special Function: adlibunregister   Parameter: 0   ParameterType: 0 (0=Func/1=Var)
53.36 Special Function: call   Parameter: 0   ParameterType: 0 (0=Func/1=Var)
53.36 Special Function: dllcallbackregister   Parameter: 0   ParameterType: 0 (0=Func/1=Var)
53.36 Special Function: eval   Parameter: 0   ParameterType: 1 (0=Func/1=Var)
53.36 Special Function: guictrlregisterlistviewsort   Parameter: 1   ParameterType: 0 (0=Func/1=Var)
53.36 Special Function: guictrlsetonevent   Parameter: 1   ParameterType: 0 (0=Func/1=Var)
53.36 Special Function: guiregistermsg   Parameter: 1   ParameterType: 0 (0=Func/1=Var)
53.36 Special Function: guisetonevent   Parameter: 1   ParameterType: 0 (0=Func/1=Var)
53.36 Special Function: hotkeyset   Parameter: 1   ParameterType: 0 (0=Func/1=Var)
53.36 Special Function: isdeclared   Parameter: 0   ParameterType: 1 (0=Func/1=Var)
53.36 Special Function: objevent   Parameter: 1   ParameterType: 0 (0=Func/1=Var)
53.36 Special Function: onautoitexitregister   Parameter: 0   ParameterType: 0 (0=Func/1=Var)
53.36 Special Function: onautoitexitunregister   Parameter: 0   ParameterType: 0 (0=Func/1=Var)
53.36 Special Function: opt   Parameter: 1   ParameterType: 0 (0=Func/1=Var)
53.36 Special Function: traysetonevent   Parameter: 1   ParameterType: 0 (0=Func/1=Var)
53.36 Special Function: trayitemsetonevent   Parameter: 1   ParameterType: 0 (0=Func/1=Var)
53.36 RandomStringFuncName$:A1400205E0C
53.36 ============================== Reading Source into Array ======================================================
 

The next F7 will has a much greater success chance if after press F7, I left the keyboard and mouse untouch.

So move to another application while compiling and/or continue working on the SciTE will increase the chance it's fail.

I have Windows Explorer open the target directory, but there is existing or not existing _obfuscated.au3 seems doesn't make any different.

Sometime there is an issue with resource updating too, especially when I actively move to another application after "Iteration 3" step

(after the obfuscator confirmed the encrypted _obfuscated.au3 is sucessfully created). If I left the keyboard and mouse untouch,

it's a big chance it will success.

Doesn't complain anything, who knows this report can useful :)

Link to comment
Share on other sites

  • Developers

Have you tried without Windows Explorer open?

Try to disable your AV on the directory to see if that is somehow locking the file too long?

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

  • 3 weeks later...

If it's possible, maybe it would be a good idea, to use the following for the decryption code:

Using Inline-Assembler

In AutoIt it is possible to use Assembler if you use the FASM.au3 UDF.
This will enable you to make some parts of your script in ASM so no one will understand your script if he even does not understand ASM.
You can find a tutorial there (unfortunately only in german):
[AutoIt & Assembler] Assembler lernen und in AutoIt benutzen

Link to comment
Share on other sites

  • Developers

If it's possible, maybe it would be a good idea, to use the following for the decryption code:

Using Inline-Assembler

In AutoIt it is possible to use Assembler if you use the FASM.au3 UDF.

This will enable you to make some parts of your script in ASM so no one will understand your script if he even does not understand ASM.

You can find a tutorial there (unfortunately only in german):

[AutoIt & Assembler] Assembler lernen und in AutoIt benutzen

Not sure what your suggestion is here.

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

Hi everybody!  :bye:

I try to obfuscate & run a 1000-rows script.

The problem is that obfuscated code runs (F5), but after compiling & running .exe i get:

error.png

Options:
 
#AutoIt3Wrapper_Res_Compatibility=Vista,Windows7
#Obfuscator_Ignore_Funcs=ReadINI,Reconnect,Log_,Terminate
#AutoIt3Wrapper_Compression=0
#AutoIt3Wrapper_UseUpx=n
#AutoIt3Wrapper_Compile_Both=y
#AutoIt3Wrapper_UseX64=y
#AutoIt3Wrapper_Run_Tidy=y
#AutoIt3Wrapper_Run_Obfuscator=y
#Obfuscator_Parameters=/cs 1 /cn 1 /cv 1 /cf 1 /sf 1 /sv 1
 
I`ve read a lot of forum pages, know and use #Obfuscator_On/Off, #Obfuscator_Ignore_Funcs - doesn`t helped.
 
Also placed MsgBox every 2nd line from the beginning of script - no boxes, only error.
 
Can you give me some advice, please?
Link to comment
Share on other sites

Please send console output form Compile process.

Nobody is not a fairy, but what some have crystal balls ;)

Signature beginning:
Please remember: "AutoIt"..... *  Wondering who uses AutoIt and what it can be used for ? * Forum Rules *
ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Codefor other useful stuff click the following button:

Spoiler

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

My contribution (my own projects): * Debenu Quick PDF Library - UDF * Debenu PDF Viewer SDK - UDF * Acrobat Reader - ActiveX Viewer * UDF for PDFCreator v1.x.x * XZip - UDF * AppCompatFlags UDF * CrowdinAPI UDF * _WinMergeCompare2Files() * _JavaExceptionAdd() * _IsBeta() * Writing DPI Awareness App - workaround * _AutoIt_RequiredVersion() * Chilkatsoft.au3 UDF * TeamViewer.au3 UDF * JavaManagement UDF * VIES over SOAP * WinSCP UDF * GHAPI UDF - modest begining - comunication with GitHub REST APIErrorLog.au3 UDF - A logging Library * Include Dependency Tree (Tool for analyzing script relations) * Show_Macro_Values.au3 *

 

My contribution to others projects or UDF based on  others projects: * _sql.au3 UDF  * POP3.au3 UDF *  RTF Printer - UDF * XML.au3 UDF * ADO.au3 UDF SMTP Mailer UDF * Dual Monitor resolution detection * * 2GUI on Dual Monitor System * _SciLexer.au3 UDF * SciTE - Lexer for console pane

Useful links: * Forum Rules * Forum etiquette *  Forum Information and FAQs * How to post code on the forum * AutoIt Online Documentation * AutoIt Online Beta Documentation * SciTE4AutoIt3 getting started * Convert text blocks to AutoIt code * Games made in Autoit * Programming related sites * Polish AutoIt Tutorial * DllCall Code Generator * 

Wiki: Expand your knowledge - AutoIt Wiki * Collection of User Defined Functions * How to use HelpFile * Good coding practices in AutoIt * 

OpenOffice/LibreOffice/XLS Related: WriterDemo.au3 * XLS/MDB from scratch with ADOX

IE Related:  * How to use IE.au3  UDF with  AutoIt v3.3.14.x * Why isn't Autoit able to click a Javascript Dialog? * Clicking javascript button with no ID * IE document >> save as MHT file * IETab Switcher (by LarsJ ) * HTML Entities * _IEquerySelectorAll() (by uncommon) * IE in TaskSchedulerIE Embedded Control Versioning (use IE9+ and HTML5 in a GUI) * PDF Related:How to get reference to PDF object embeded in IE * IE on Windows 11

I encourage you to read: * Global Vars * Best Coding Practices * Please explain code used in Help file for several File functions * OOP-like approach in AutoIt * UDF-Spec Questions *  EXAMPLE: How To Catch ConsoleWrite() output to a file or to CMD *

I also encourage you to check awesome @trancexx code:  * Create COM objects from modules without any demand on user to register anything. * Another COM object registering stuffOnHungApp handlerAvoid "AutoIt Error" message box in unknown errors  * HTML editor

winhttp.au3 related : * https://www.autoitscript.com/forum/topic/206771-winhttpau3-download-problem-youre-speaking-plain-http-to-an-ssl-enabled-server-port/

"Homo sum; humani nil a me alienum puto" - Publius Terentius Afer
"Program are meant to be read by humans and only incidentally for computers and execute" - Donald Knuth, "The Art of Computer Programming"
:naughty:  :ranting:, be  :) and       \\//_.

Anticipating Errors :  "Any program that accepts data from a user must include code to validate that data before sending it to the data store. You cannot rely on the data store, ...., or even your programming language to notify you of problems. You must check every byte entered by your users, making sure that data is the correct type for its field and that required fields are not empty."

Signature last update: 2023-04-24

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share

  • Recently Browsing   0 members

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