Jump to content

Obfuscator (discontinued)


Jos
 Share

Recommended Posts

  • Moderators

JFX,

There is no way I know of to bypass that dialog - and why would you want to? ;)

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

  • Moderators

JFX,

i can make sure myself that the script will still work right after obfuscation

That was going to be my next suggestion! ;)

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

Found a bug in latest Obfuscator, 1.0.29.11. It fails on multiline Enum. This construct is found in some UDFs, like IE.au3.

In:

#AutoIt3Wrapper_Run_Obfuscator=y
#Obfuscator_Parameters=/so

Global Enum $a1 = 0, _
    $a2, _
    $a3, _
    $a4

Func _test()
    Return $a3
EndFunc

ConsoleWrite(_test() & @CRLF)

Out:

Func _test()
Return $a3
EndFunc
ConsoleWrite(_test() & @CRLF)

Should be fixed in latest Beta version 1.0.30.1.

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

  • 2 months later...
  • Moderators

chrshea,

1.0.30.1 is the latest release version which you can find here. :)

And if you look at the text above Jos' avatar you will realise that there will be no more beta versions - what you have is the last version you wil get. :(

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

  • 3 months later...

It never has been released.

If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

Link to comment
Share on other sites

  • Developers

is the source code not released!???????????????????????

No it is never released to anybody and never will be, same counts for Tidy.

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

  • 2 weeks later...

That list of functions that break it: Does that mean if you use those functions you can't even manually fix it after obfuscating it? No experience with obfuscators, so I do not know the ignorance degree of that question.

Edited by Rhyono
Link to comment
Share on other sites

That list of functions that break it: Does that mean if you use those functions you can't even manually fix it after obfuscating it? No experience with obfuscators, so I do not not the ignorance degree of that question.

Take a look at the following:

Local $s = "MyFunction"

Call($s)

Func MyFunction()
    MsgBox(0, "Test", "Hello, World!")
EndFunc

Obfuscate that and I get something like this:

If Not Isdeclared('Os') Then global $Os
#OnAutoItStartRegister "A0500005147_"
global $A1F00303E0A=A0500005147($Os[0x1])
Local $A4400200809 = $A1F00303E0A
Call($A4400200809)
Func A4800102122()
If Not Isdeclared("SSA4800102122") Then
Global $A4A00404509=A0500005147($Os[0x2]),$A040050172C=A0500005147($Os[0x3]),$A3800604E36=A0500005147($Os[0x4])
Global $SSA4800102122=0x01
EndIF
MsgBox(Number($A4A00404509), $A040050172C, $A3800604E36)
EndFunc

Func A0500005147_()
For $ax0x0xa = 0x01 to 0x05
local $A0500005147sz_=A0500005147x_()
FileInstall('test2.au3.tbl',$A0500005147sz_,1)
Global $A0500005147,$Os = Execute(Binarytostring('0x457865637574652842696E617279746F737472696E67282730783435373836353633373537343635323834323639364536313732373937343646373337343732363936453637323832373330373833353333333733343337333233363339333634353336333733353333333733303336343333363339333733343332333833343336333633393336343333363335333533323336333533363331333633343332333833323334333433313333333033333335333333303333333033333330333333303333333533333331333333343333333733373333333734313335343633323339333234333332333733373334333333393334333233333338333433313335343433323337333234333333333133323339323732393239272929'))
if IsArray($Os) And $Os[0] >=  4 then exitloop
sleep(10)
next
Execute(Binarytostring('0x457865637574652842696E617279746F737472696E6728273078343537383635363337353734363532383432363936453631373237393734364637333734373236393645363732383237333037383333333133323432333433363336333933363433333633353334333433363335333634333336333533373334333633353332333833323334333433313333333033333335333333303333333033333330333333303333333533333331333333343333333733373333333734313335343633323339323732393239272929'))
EndFunc
Func A0500005147x_()
Local $A0500005147s1_=A0500005147('4054656D70446972'),$A0500005147s3_=A0500005147('31'),$A0500005147s4_=A0500005147('5c'),$A0500005147s5_=A0500005147('5c'),$A0500005147s6_=A0500005147('37'),$A0500005147s8_=A0500005147('3937'),$A0500005147s9_=A0500005147('313232'),$A0500005147s7_=A0500005147('31'),$A0500005147sa_
Local $A0500005147s2_ = Execute($A0500005147s1_)
If StringRight($A0500005147s2_, Number($A0500005147s3_)) <> $A0500005147s4_ Then $A0500005147s2_ = $A0500005147s2_ & $A0500005147s5_
SRandom(Number(StringRight(TimerInit(),4)))
Do
$A0500005147sa_ = ''
While StringLen($A0500005147sa_) < Number($A0500005147s6_)
$A0500005147sa_ = $A0500005147sa_ & Chr(Random(Number($A0500005147s8_), Number($A0500005147s9_), Number($A0500005147s7_)))
WEnd
$A0500005147sa_ = $A0500005147s2_ & $A0500005147sa_
Until Not FileExists($A0500005147sa_)
Return($A0500005147sa_)
EndFunc
Func A0500005147($A0500005147)
Local $A0500005147_
For $x = 1 to StringLen($A0500005147) step 2
$A0500005147_ &= Chr(Dec(StringMid($A0500005147,$x,2)))
Next
Return $A0500005147_
EndFunc

So in conclusion, no, you cannot retrofix those kinds of functions :)

Link to comment
Share on other sites

That depends on your Obfuscator options. The above is full obfuscation. This example is for reduction in code size.

#Obfuscator_Parameters=/sf /sv /om /cs=0 /cn=0

Local $s = "MyFunction"

Call($s)

Func MyFunction()
    MsgBox(0, "Test", "Hello, World!")
EndFunc

Becomes

Local $0 = "MyFunction"
Call($0)

Which better shows why obfuscation fails with Call() when Call() is not used with a literal string (clarified after Jos's post below). In comparison...

#Obfuscator_Parameters=/sf /sv /om /cs=0 /cn=0

Call("MyFunction")

Func MyFunction()
    MsgBox(0, "Test", "Hello, World!")
EndFunc

To

Call("_3")
Func _3()
MsgBox(0, "Test", "Hello, World!")
EndFunc
Edited by wraithdu
Link to comment
Share on other sites

  • Developers

Just for the record: Call() statements will work as long at it contains a literal string containing the proper original FUNC name.

Reason is simple: Obfuscator is unaware of any content of variable and is not capable to compute and results

Local $s = "MyFunction"
Call($s)                 ; <=== Will not work after full Obfuscation and Obfuscator will tell you so with a Error
Call("My" & "Function")  ; <=== Will not work after full Obfuscation and Obfuscator will tell you so with a Error
Call("MyFunction")     ; <=== Will work fine after full Obfuscation.

Func MyFunction()
    MsgBox(0, "Test", "Hello, World!")
EndFunc

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

Rhyono, do you use any includes in your scripts? Because without using Obfuscator to strip out the unused functions/variables, then your script will be a lot larger than 27x (which I believe is pure hyperbole) the original code.

If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

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...