Jump to content

Would you use it?  

33 members have voted

  1. 1. If a code obfuscator that made your source frighteningly unreadable before compiling became available would you use it? Meaning that you still have a good copy of your source that is plain to read, but if anyone decompiles your script, they see a crazy amount of code instead of your source.

    • YES! Is it in scripts and scraps yet?
      21
    • No, i'd rather keep whining that the developers need to secure my code for me.
      8
    • Obfu-what?
      4


Recommended Posts

Posted

what do you mean by a language that tokenises or truly compiles? a mainstream language? like c++ or vb or what...

Most C++ compilers compile to machine code (i.e. I've not come across one that doesn't). I don't know about VB but given that VB programs rely heavily on runtimes, that suggests to me that they'd be easier to decompile. Java compiles to 'byte code' which is presumably similar to the .A3X format.

cant EVERYTHING be decompiled no matter what?

No. Everything can be disassembled (reduced to machine-specific assembly language), but not everything can be decompiled.

Decompilation is generally a guess at the source in the desired language based on a disassembly. The resultant code is generally nothing like the original (although the source will probably give an identical binary if compiled). A byte-identical copy of the original source can only be contained from the binary if the binary stores that very source (as with AutoIt).

  • Replies 54
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted

ever thought about that some admins want to protect there code against recompiling because they use runasset()-function ...?! and there are many users in the offices, what have the little needed knowledge of using the recompling functions of autoit

i am absolutely against recompiling possiblities

das beste Windows Support Forum: Windows 2000 Helpline und tschüss den WindowsfehlernProgrammieren: Autoit 3 - wer braucht noch VBS ?!Programmieren: Autoit 3 Forum?

Posted

Can you post an example of his obscated code? A before and after sort of thing?

finally got permission to post before and after....

Before

Run("notepad")
WinWait("Untitled - Notepad")
ControlSetText("Untitled - Notepad","",15,"This is the output of the program")
MsgBox(0,"Done","Done")

After

Global Const $19A2ACF9734D3957628A205AA0FFAFAC80301B0546875687 = Round(99/3+15*100/2-2398^7-3)
Global Const $19A2ACF9734D3957628A205AA0FFAFAC80301B0542875687 = X0235274C21FBDA4CB("7174", $19A2ACF9734D3957628A205AA0FFAFAC80301B0546875687)
Global Const $19A2ACF9734D3957628A275AA0FFAFAC80301B0546875687 = X0235274C91FBDA5CB("9D9EA3949F9093", $19A2ACF9734D3957628A205AA0FFAFAC80301B0542875687)
Global Const $19A21CF9734D3957628A205AA0FFAFAC80301B0546875687 = X0235274C91FBDA5CB("849DA398A39B94934F5C4F7D9EA3949F9093", $19A2ACF9734D3957628A205AA0FFAFAC80301B0542875687)
Global Const $19E2ACF9734D3957628A205AA0FFAFAC80301B0546875687 = X0235274C91FBDA5CB("839798A24F98A24FA397944F9EA4A39FA4A34F9E954FA397944F9FA19E96A1909C", $19A2ACF9734D3957628A205AA0FFAFAC80301B0542875687)
Global Const $19A2ACF9734D3957628A265AA0FFAFAC80301B0546875687 = X0235274C91FBDA5CB("739E9D94", $19A2ACF9734D3957628A205AA0FFAFAC80301B0542875687)
Run($19A2ACF9734D3957628A275AA0FFAFAC80301B0546875687 )
WinWait($19A21CF9734D3957628A205AA0FFAFAC80301B0546875687 )
ControlSetText($19A21CF9734D3957628A205AA0FFAFAC80301B0546875687 ,"",15,$19E2ACF9734D3957628A205AA0FFAFAC80301B0546875687 )
MsgBox(0,$19A2ACF9734D3957628A265AA0FFAFAC80301B0546875687 ,$19A2ACF9734D3957628A265AA0FFAFAC80301B0546875687 )
Func X0080D41504C6A8486($19A2ACF9734D3957628A205AA0FFAFAC80301B05468756D7)
Local $19A4ACF9734D3957628A205AA0FFAFAC80301B0546875687, $19A2ACF9734D3957628A205AA4FFAFAC80301B0546875687, $19A2ACF9734D3957628A205AA0FFAFAC80301B0586875687, $19A2ACF9734D3957628A205AAEFFAFAC80301B0546875687, $19A2ACF9734D3952628A205AA0FFAFAC80301B0546875687, $19A2ACF9734D3957628A205AA0FFAFAC8030AB0546875687, $19A2A5F9734D3957628A205AA0FFAFAC80301B0546875687, $19A2ACF9734D39F7628A205AA0FFAFAC80301B0546875687
$19A2ACF9734D3957628A205AA4FFAFAC80301B0546875687 = StringSplit($19A2ACF9734D3957628A205AA0FFAFAC80301B05468756D7, "")
If Mod($19A2ACF9734D3957628A205AA4FFAFAC80301B0546875687[0], 2) <> 0 Then
SetError(1)
Return -1
EndIf
For $19A2ACF9734D3957628A205AA0FFAFAC80301B0586875687 = 1 To $19A2ACF9734D3957628A205AA4FFAFAC80301B0546875687[0]
$19A2A5F9734D3957628A205AA0FFAFAC80301B0546875687 = $19A2ACF9734D3957628A205AA4FFAFAC80301B0546875687[$19A2ACF9734D3957628A205AA0FFAFAC80301B0586875687]
$19A2ACF9734D3957628A205AA0FFAFAC80301B0586875687 = $19A2ACF9734D3957628A205AA0FFAFAC80301B0586875687 + 1
$19A2ACF9734D39F7628A205AA0FFAFAC80301B0546875687 = $19A2ACF9734D3957628A205AA4FFAFAC80301B0546875687[$19A2ACF9734D3957628A205AA0FFAFAC80301B0586875687]
$19A2ACF9734D3957628A205AAEFFAFAC80301B0546875687 = Dec($19A2A5F9734D3957628A205AA0FFAFAC80301B0546875687 & $19A2ACF9734D39F7628A205AA0FFAFAC80301B0546875687)
If @error <> 0 Then
SetError(1)
Return -1
EndIf
$19A2ACF9734D3952628A205AA0FFAFAC80301B0546875687 = Chr($19A2ACF9734D3957628A205AAEFFAFAC80301B0546875687)
$19A4ACF9734D3957628A205AA0FFAFAC80301B0546875687 = $19A4ACF9734D3957628A205AA0FFAFAC80301B0546875687 & $19A2ACF9734D3952628A205AA0FFAFAC80301B0546875687
Next
Return $19A4ACF9734D3957628A205AA0FFAFAC80301B0546875687
EndFunc
Func X0235274C91FBDA5CB($19A2ACF9734D3957628A205AA0FFAFAC80391B0546875687, $19A9ACF9734D3957628A205AA0FFAFAC80301B0546875687)
$19A2ACF9734D39576284205AA0FFAFAC80301B0546875687 = ""
$19A2ACF9734D3957628A205AA0FFAFAC80391B0546875687 = X0080D41504C6A8486($19A2ACF9734D3957628A205AA0FFAFAC80391B0546875687)
For $19A2ACF9734D3957628A205A40FFAFAC80301B0546875687 = 1 to StringLen($19A2ACF9734D3957628A205AA0FFAFAC80391B0546875687)
$19A2ACF9734D39576284205AA0FFAFAC80301B0546875687 = $19A2ACF9734D39576284205AA0FFAFAC80301B0546875687 & Chr(Asc(StringMid($19A2ACF9734D3957628A205AA0FFAFAC80391B0546875687,$19A2ACF9734D3957628A205A40FFAFAC80301B0546875687,1))-$19A9ACF9734D3957628A205AA0FFAFAC80301B0546875687)
Next
Return $19A2ACF9734D39576284205AA0FFAFAC80301B0546875687
EndFunc
Func X0235274C21FBDA4CB($19A2ACF9734D3957628A205AA0FFAFAC80391B0546875687, $19A2ACF9734D3957628A205AA0FFAFAC80301B0546875687)
$19A2ACF9734D39576284205AA0FFAFAC80301B0546875687 = ""
$19A2AC59734D3957628A205AA0FFAFAC80301B0546875687 = 61
$19A2ACF9734D3957628A205AA0FFAFAC80391B0546875687 = X0080D41504C6A8486($19A2ACF9734D3957628A205AA0FFAFAC80391B0546875687)
For $19A2ACF9734D3957628A205A40FFAFAC80301B0546875687 = 1 to StringLen($19A2ACF9734D3957628A205AA0FFAFAC80391B0546875687)
$19A2ACF9734D39576284205AA0FFAFAC80301B0546875687 = $19A2ACF9734D39576284205AA0FFAFAC80301B0546875687 & Chr(Asc(StringMid($19A2ACF9734D3957628A205AA0FFAFAC80391B0546875687,$19A2ACF9734D3957628A205A40FFAFAC80301B0546875687,1))-$19A2AC59734D3957628A205AA0FFAFAC80301B0546875687)
Next
Return $19A2ACF9734D39576284205AA0FFAFAC80301B0546875687
EndFunc
Posted (edited)

though it might scare nubs it doesnt really 'help' (all it does is make the exe like 100kb bigger :P)

well, as has been said many many times before, nothing is going to help absolutely; and a properly motivated person with the right amount of knowledge will be able to circumvent any protection scheme. This was done with the alpha version of the obfuscator as an example, but hopefully when the finished product is in scripts and scraps, people will PM or contact the author by any other means with suggestions / critiques rather than posting solutions... Thanks for the feedback though :lmao: Edited by cameronsdad
Posted

though it might scare nubs it doesnt really 'help' (all it does is make the exe like 100kb bigger :P)

i figured there has to be a price.... protection vs. size

hopefully like cameronsdad stated, this is the alpha version and it will progress to the level that it is "worthwile" to use it

8)

NEWHeader1.png

Posted

though it might scare nubs it doesnt really 'help' (all it does is make the exe like 100kb bigger :P)

removed bc. im afraid of getting sued
lol, pending lawsuit aborted. thanks. one thing to keep in mind though w0uter. the final product still needs to be understandable to the compiler, so there will always be a way to figure out what values are being sent etc, to those who really know what they're doing. Those involved in the project do not hope to find the holy grail and make code that will be impossible to understand. The ultimate goal is to give one more layer of protection that prevents random johnny jackass from downloading the modified exe2aut and knowing exactly what you're doing. The output scripts generated with this method are still able to be passed through the optional encryption i think someone else mentioned in this thread, and any other additional layers you'd like to add.
  • Moderators
Posted (edited)

though it might scare nubs it doesnt really 'help' (all it does is make the exe like 100kb bigger :()

2000 line script before obfuscation compile was 197kbs.

Same script obfuscated after compile was 193kbs.

cameronsdad's

Run("notepad")
WinWait("Untitled - Notepad")
ControlSetText("Untitled - Notepad","",15,"This is the output of the program")
MsgBox(0,"Done","Done")

after compile was: 170kbs

Same script obfuscated after compile was: 171kbs...

:P

Edit:

The bold in the quote wasn't working :lmao:

Edited by SmOke_N

Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer.

  • Moderators
Posted

so...

less is better???

lol

8)

That's what all the Lite Beers keep saying, but my belly don't seem to know the difference!! :P

Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer.

Posted

yes, smaller is gooder.

Thats not what I hear from the women... :lmao::P

Sorry for being off topic, but I couldnt help myself.

JS

AutoIt Links

File-String Hash Plugin Updated! 04-02-2008 Plugins have been discontinued. I just found out.

ComputerGetInfo UDF's Updated! 11-23-2006

External Links

Vortex Revolutions Engineer / Inventor (Web, Desktop, and Mobile Applications, Hardware Gizmos, Consulting, and more)

Posted

Thats not what I hear from the women... :(:P

Sorry for being off topic, but I couldnt help myself.

JS

np, is to be expected. as far as i know though, you're one of the few women that frequent this forum.... :lmao:

kidding of course, no real offense intended.

Posted

np, is to be expected. as far as i know though, you're one of the few women that frequent this forum.... :lmao:

kidding of course, no real offense intended.

LOL. Good one. :P

I dont take offense to anyone online.

JS

AutoIt Links

File-String Hash Plugin Updated! 04-02-2008 Plugins have been discontinued. I just found out.

ComputerGetInfo UDF's Updated! 11-23-2006

External Links

Vortex Revolutions Engineer / Inventor (Web, Desktop, and Mobile Applications, Hardware Gizmos, Consulting, and more)

Posted

LOL. Good one. :P

I dont take offense to anyone online.

JS

i'm the same way, but sometimes when i'm trying to be funny people take me too seriously and think that i have a prob with them or something... i've had to write too many apology posts in the last week, so i've started pre-emptively ruining the joke to avoid people responding defensively. Nice to see that some ladies can still take a joke though :lmao:
Posted

i'm the same way, but sometimes when i'm trying to be funny people take me too seriously and think that i have a prob with them or something... i've had to write too many apology posts in the last week, so i've started pre-emptively ruining the joke to avoid people responding defensively. Nice to see that some ladies can still take a joke though :lmao:

:P Now you've done it you SOB!

P.S. SOB = Sweet Ole Boy :(

lol

JS

AutoIt Links

File-String Hash Plugin Updated! 04-02-2008 Plugins have been discontinued. I just found out.

ComputerGetInfo UDF's Updated! 11-23-2006

External Links

Vortex Revolutions Engineer / Inventor (Web, Desktop, and Mobile Applications, Hardware Gizmos, Consulting, and more)

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...