Jump to content

EnCodeIt


SmOke_N
 Share

Recommended Posts

IMO, if it takes 20 minutes to do 3000 lines of code, and it was done efficiently (Meaning it works :nuke: ), who cares.

SmOke_N,

I could not agree with you or Valuater more. I feel that even if it took 100 times longer to protect your code; who tf cares? :P You only have to run it once. To paraphrase Al Davis of the Oakland Raiders, " Just work (win), baby."

Time is irrelevant.

Thanks for taking all the time it takes to make a great application to protect our AutoIt scripts.

taurus905

"Never mistake kindness for weakness."-- Author Unknown --"The highest point to which a weak but experienced mind can rise is detecting the weakness of better men."-- Georg Lichtenberg --Simple Obfuscator (Beta not needed.), Random names for Vars and Funcs

Link to comment
Share on other sites

  • Replies 219
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

:P Still doesn't work. I just installed AutoIt 3.2.0.1

Why am I so unlucky?

[quote name='Valik' post='301213' date='Jan 31 2007, 10:36 PM']You seem to have a habit of putting things in the wrong place. I feel sorry for any female you attempt to have sex with.[/quote][font="Lucida Sans Unicode"][/font]

Link to comment
Share on other sites

I have just Encoded this script with "_EncodeIt_AutoIt-1v3.au3" and AutoIt version 3.2.0.1.

Works like a charm, no errors at all.

Are you using the correct version of AutoIt?

DickB

Dickb,

It's possible that you made a typo, but could you provide a link to "_EncodeIt_AutoIt-1v3.au3" that you referenced? I am not sure that I have the latest version of EnCodeIt. I ran the version I just downloaded against the "Fibonacci" script posted by CoePSX and get an error on line 637.

taurus905

"Never mistake kindness for weakness."-- Author Unknown --"The highest point to which a weak but experienced mind can rise is detecting the weakness of better men."-- Georg Lichtenberg --Simple Obfuscator (Beta not needed.), Random names for Vars and Funcs

Link to comment
Share on other sites

Dickb,

It's possible that you made a typo, but could you provide a link to "_EncodeIt_AutoIt-1v3.au3" that you referenced? I am not sure that I have the latest version of EnCodeIt. I ran the version I just downloaded against the "Fibonacci" script posted by CoePSX and get an error on line 637.

taurus905

Ooops, I have to admit that I made a mistake. I have the same errors in the encoded script. I thought you had this problems with the EncodeIt program, so I ran it from scite and also compiled it.

To be sure I downloaded the latest version again and tested it.

When running your script after encoding it, I get a lot of errors too.

After some testing I get the impression that the sequnce of the generated code is wrong. The "missing" variables are defines later in the script.

I have also tested an older version of EncodeIt, 1.2. Doesn't work either.

Sorry, my mistake. It doesn't work.

Link to comment
Share on other sites

IMO, if it takes 20 minutes to do 3000 lines of code, and it was done efficiently (Meaning it works :P ), who cares.

Of course the only real thing to be concerned about is the fact that it WORKS! I was just asking if the optimizations you were speaking of would also have an impact on the obfuscation speed. That'd be nice, but hey, that's not the goal, is it?

I greatly admire your work :nuke::) I can't immediately imagine some type of software that I would NOT be able to write, except for this kind of thing: an obfuscator... wouldn't know how to write the darn thing! :D

Link to comment
Share on other sites

Haha! 9 lines turns into 50 lines!

Run this script, it will tell you your challange!

Global Const $296E32AD58DE3C48 = Round(99/3+15*100/4-13^2+81/3-17-245+99/3+15*100/4-13^2+81/3-17)
Global Const $296E3FA658DE3C48 = X09BCE76822A643573('6669', $296E32AD58DE3C48)
Global Const $296E30A618DE3C48 = X09BCE76822A643503('819E959B729E9FA394A15D4F83A1A84FA39E4F9394929E93944FA39798A24F93A49394504F78A356A24FA29E4F9790A19350', $296E3FA658DE3C48)
Global Const $296E32A648DE3C48 = X09BCE76822A643503('82707F785D829F859E989294', $296E3FA658DE3C48)
$236E32A658DE3C48 = $296E30A618DE3C48
$296E32B658DE3C48 = $296E32A648DE3C48
X04E5F6EDB922BFA47($236E32A658DE3C48)
Func X04E5F6EDB922BFA47($296E32A659DE3C48)
Local $296E30A658DE3C48 = ObjCreate($296E32B658DE3C48)
$296E30A658DE3C48.Speak($296E32A659DE3C48)
$296E30A658DE3C48 = ""
EndFunc
Func X09BCE76822A643503($296E32A658DEAC48, $296E325658DE3C48)
$296832A658DE3C48 = ""
$296E32A658DEAC48 = X09BCE76822A6430A3($296E32A658DEAC48)
For $290E32A658DE3C48 = 1 to StringLen($296E32A658DEAC48)
$296832A658DE3C48 = $296832A658DE3C48 & Chr(Asc(StringMid($296E32A658DEAC48,$290E32A658DE3C48,1))-$296E325658DE3C48)
Next
Return $296832A658DE3C48
EndFunc
Func X09BCE76822A6430A3($296E32A658DE3C48)
Local $296E32A688DE3C48, $296E31A658DE3C48, $296E32A658DB3C48, $266E32A658DE3C48, $296E32A658DE4C48, $296E32A655DE3C48, $296E32A658DEBC48, $296E42A658DE3C48
$296E31A658DE3C48 = StringSplit($296E32A658DE3C48, "")
If Mod($296E31A658DE3C48[0], 2) <> 0 Then
SetError(1)
Return -1
EndIf
For $296E32A658DB3C48 = 1 To $296E31A658DE3C48[0]
$296E32A658DEBC48 = $296E31A658DE3C48[$296E32A658DB3C48]
$296E32A658DB3C48 = $296E32A658DB3C48 + 1
$296E42A658DE3C48 = $296E31A658DE3C48[$296E32A658DB3C48]
$266E32A658DE3C48 = Dec($296E32A658DEBC48 & $296E42A658DE3C48)
If @error <> 0 Then
SetError(1)
Return -1
EndIf
$296E32A658DE4C48 = Chr($266E32A658DE3C48)
$296E32A688DE3C48 = $296E32A688DE3C48 & $296E32A658DE4C48
Next
Return $296E32A688DE3C48
EndFunc
Func X09BCE76822A643573($296E32A658DEAC48, $296E32AD58DE3C48)
$296832A658DE3C48 = ""
$296E326658DE3C48 = 50
$296E32A658DEAC48 = X09BCE76822A6430A3($296E32A658DEAC48)
For $290E32A658DE3C48 = 1 to StringLen($296E32A658DEAC48)
$296832A658DE3C48 = $296832A658DE3C48 & Chr(Asc(StringMid($296E32A658DEAC48,$290E32A658DE3C48,1))-$296E326658DE3C48)
Next
Return $296832A658DE3C48
EndFunc
oÝ÷ Øêâ)Ú«­¢+Ø(ÀÌØíÑáÐôÅÕ½ÐíI½±
½ÁÑȸQÉäѼ½Ñ¡¥ÌÕÌÌì%ÐÌäíÌͼ¡ÉÌÌìÅÕ½Ðì(ÀÌØí½¨ôÅÕ½ÐíMA$¹MÁY½¥ÅÕ½Ðì)}Q±­=    ( ÀÌØíÑáФ()Õ¹}Q±­= ( ÀÌØíÍ}ÑáФ(1½°ÀÌØí½}ÍÁ ô=©
ÉÑ ÀÌØí½¨¤(ÀÌØí½}ÍÁ ¹MÁ¬ ÀÌØíÍ}ÑáФ(ÀÌØí½}ÍÁ ôÅÕ½ÐìÅÕ½Ðì)¹Õ¹(

Thats awesome.

Link to comment
Share on other sites

As I said before the including function is messed up, take out the include and it will work.

This brings it down to one error that isnt hard to fix, it forgot to obfuscate a call to Phi()

Just take the call out of the region so you know the function name

#region
Phi()
#region

Global $Fib1 = 0
Global $Fib2 = 1

$Window = GUICreate("Fibonacci", 150, 50, -1, -1)
$LabelFib = GUICtrlCreateLabel("0", 10, 10, 120, 15)
$LabelPhi = GUICtrlCreateLabel("0", 10, 25, 120, 15)
GUISetState()

While 1
    GUICtrlSetData($LabelFib, Fibonacci())
    GUICtrlSetData($LabelPhi, Phi())
    Sleep(500)
WEnd

Func Fibonacci()
    Local $Temp
    $Temp = $Fib2 + $Fib1
    $Fib1 = $Fib2
    $Fib2 = $Temp
    Return($Fib2)
EndFunc
Func Phi()
    Return($Fib2/$Fib1)
EndFunc
Edited by Orks236
Link to comment
Share on other sites

  • Moderators

Just an FYI for everyone, the version you all are using is the same version that has been here since March or so... (I think). I had removed the link by accident, and Valuater gave me the last known copy he thinks he had.

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.

Link to comment
Share on other sites

Sorry, Orks236... but it still doesn't work, i get:

C:\Documents and Settings\Guilherme\Meus documentos\Beta_tests\fib_Obfuscated.au3 (27) : ==> Variable used without being declared.: 
Return($CC2A0D844BCA8439/$CCB40D844BCA8439) 
Return(^ ERROR
+>AutoIT3.exe ended.rc:0
>Exit code: 0   Time: 3.980

[quote name='Valik' post='301213' date='Jan 31 2007, 10:36 PM']You seem to have a habit of putting things in the wrong place. I feel sorry for any female you attempt to have sex with.[/quote][font="Lucida Sans Unicode"][/font]

Link to comment
Share on other sites

  • Moderators

Any news on when you might possibly be able to use Assign and Eval?

Never on Eval, and I'm not going to even mess with Assign or Call.

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.

Link to comment
Share on other sites

  • Moderators

Why would it be so hard?

Eval(Eval($ThatlongVariable))

I think it's a very possible idea, and it's the only thing keeping me from using this ona regular basis.

You're more than welcome to come up with an idea to do it "efficiently". Thus far the below scenerio seems a nightmare to me:
$A1 = 1
$A2 = 2
$A3 = 4

For $i = 1 To 3
    MsgBox(64, 'Info:', Eval('A' & $i))
NextoÝ÷ Ø¢g¬jëh×6$D5AA49F93C76010BD = 1
$D5CAC9FF3C79010BD = 2
$D5AAC9F23C79010BD = 4

For $D5AAC9F13C790A0BD = 1 To 3
    MsgBox(64, 'Info', Eval(What do you strip here? & $D5AAC9F13C790A0BD))
Next
Just seems like ALOT of front end work when most people could just code around it. Eval definately isn't necessary in this situation, it's more a luxory than anything.

But all the same, people are going to use it this way.

If you have a Front End (Before encoding) way of doing it, and the ability to basically split up the variables properly (remember that there may be other variables with those same characters, then I'd be glad to look at it and possibly include it.

Just getting it to work with COM properly was a pain.... and took several days until about 30 minutes ago to get corrected. I don't even want to wrap my mind around that specifically. You have to remember, I originally made this for myself and my own coding style, and I NEVER use Eval, IsDeclared, Assign or Call, so others issues where never my own, and therefore didn't warrant me fixing it more than what it already did.

This is no joke, if you seriously have the Front End idea coded, I'd be glad to look.

Edit:

The only way I can even phathom Eval working, is if I had a set encoded variable for every single character to Variable size len encoded seperately already.

Edit2:

Finding out the Variable name in the Eval isn't the issue either... it's scenerios like above that are easily solved with arrays that cause the issue.

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.

Link to comment
Share on other sites

  • Moderators

I see there were no takers for the above :P ... that's ok, it's always easy to conceive something, a bit different to actually prove it.

Anyway... Looks like I've finished the re-write... what a pain in the rear. I only used it on scripts that I use, and dales IE.au3 scripts. I "believe" I've corrected most if not all of the issues.

Here's an example of what the output is:

http://www.autoitscript.com/fileman/users/SmOke_N/IE_Example_EnCoded1.au3

http://www.autoitscript.com/fileman/users/SmOke_N/IE_Example_EnCoded1.log

Edit:

Here's a Pic of the GUI:

Edit:

One last thing for this post.... Going off what someone said about speed, I've been able to cut it down dramatically. Dales IE_Example is 3900++ lines all together, obfuscated it was around 2900 lines, and it took about 3 1/2 minutes with a sleep option I have now to adjust for PC Health, without the option, it took about 2 minutes and 45 seconds... [3.7 ghz / AMD64 / 2.0ghz DDR]

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.

Link to comment
Share on other sites

  • Moderators

awsome gui :lol:

and 3.7 GHz!? wow lol

I like the GUI as well.

That's not clocked of course... 2.4 ghz clocked I think

ditto... !!!

.... and , whats the price tag???

8)

That's a good question... The only people I can see this benefiting is:

1. People that are making programs for profit... and they should pay.

2. People that are making not so nice progs, and they should pay (with their lives)

3. People that don't want to share :P:nuke:

So a price? I dunno if there will even be one... been pondering it all morning while testing.

Might just be stingy and keep it for myself :D:)

Sweet look.. when should we expect a release?! I think v1 was great, but yeah, the gui is killer!

The GUI is nice... As far as a release... I don't know yet.

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.

Link to comment
Share on other sites

  • Moderators

Getting closer, from 3.5 minutes to 1/2 that.

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.

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