Jump to content

Obfuscator (discontinued)


Jos
 Share

Recommended Posts

Thanks for helping me. I added that to mu script, Obfuscator runs fine, but it does not obfuscate my script at all. All I get is empty .au3 document. Any idea what could be the problem?

Cheers :P

EDIT: It seems that problem with SQLite.dll.au3 is still exist. When I remove it, Obfuscator works fine. Is there anything else I can do?

Edited by igorm
Link to comment
Share on other sites

  • Developers

Thanks for helping me. I added that to mu script, Obfuscator runs fine, but it does not obfuscate my script at all. All I get is empty .au3 document. Any idea what could be the problem?

Cheers :P

EDIT: It seems that problem with SQLite.dll.au3 is still exist. When I remove it, Obfuscator works fine. Is there anything else I can do?

I just uploaded a new version of Obfuscator to the Beta download directory which does fix an issue bug that I noticed with the long lines being truncated.

This script from the Helpfile seems to work now:

#AutoIt3Wrapper_Run_Obfuscator=y
#Obfuscator_Ignore_Funcs=__SQLite_Inline_Modified,__SQLite_Inline_Version,__SQLite_Inline_SQLite3Dll


#Obfuscator_Off 
#include <SQLite.dll.au3>
#Obfuscator_On  
#include <SQLite.au3>
;
_SQLite_Startup ()
If @error > 0 Then
    MsgBox(16, "SQLite Error", "SQLite.dll Can't be Loaded!")
    Exit - 1
EndIf
_SQLite_Open (); Open a :memory: database
If @error > 0 Then
    MsgBox(16, "SQLite Error", "Can't Load Database!")
    Exit - 1
EndIf
_SQLite_Close ()
_SQLite_Shutdown ()

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 seems that there is still some problems with ignoring SQLite.dll.au3. Sometimes it works, sometimes don't. Obfuscator starts working and then just exits. Here is last items in log:

2.91 Pre-processing record: 13001
2.97 Pre-processing record: 14001
3.06 Pre-processing record: 15001
3.14 Pre-processing record: 16001
3.20 Pre-processing record: 17001
3.26 Pre-proce

As you can see it just exited and did not finished logging line. It seems to me that #Obfuscator_Off and #Obfuscator_On is not working at all.

Just to mention when I comment SQLite.dll.au3 Obfuscator will work.

Cheers :P

Link to comment
Share on other sites

  • Developers

Well, it seems that there is still some problems with ignoring SQLite.dll.au3. Sometimes it works, sometimes don't. Obfuscator starts working and then just exits. Here is last items in log:

2.91 Pre-processing record: 13001
2.97 Pre-processing record: 14001
3.06 Pre-processing record: 15001
3.14 Pre-processing record: 16001
3.20 Pre-processing record: 17001
3.26 Pre-proce

As you can see it just exited and did not finished logging line. It seems to me that #Obfuscator_Off and #Obfuscator_On is not working at all.

Just to mention when I comment SQLite.dll.au3 Obfuscator will work.

Cheers :P

The code I posted does work so you will have to provide more details for me to be able to look at it.

PM me the following:

- original script (plus none standard includes)

- obfuscator.log

Jos

EDIT: Just try the current Beta version first to see if that solves your problem else send me the files. :P

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

  • 1 month later...

hey jos,

i have been using youir script for some time now.

i did run into some problems using MrCreators hover over udf.

[link]http://www.autoitscript.com/forum/index.php?showtopic=55120[/link]

btw sorry to cross post, i posted there yesterday and he told me to check my obfuscator, and since its your i post here now.

it seems even the most basic obfuscation seems to throw off the hover over commands.

any idea or suggestions?

Link to comment
Share on other sites

  • Developers

hey jos,

i have been using youir script for some time now.

i did run into some problems using MrCreators hover over udf.

[link]http://www.autoitscript.com/forum/index.php?showtopic=55120[/link]

btw sorry to cross post, i posted there yesterday and he told me to check my obfuscator, and since its your i post here now.

it seems even the most basic obfuscation seems to throw off the hover over commands.

any idea or suggestions?

You will have to be a lot more specific before I can look at this... :)

questions:

What is exact problem?

Attach/PM a script that replicates your issue that i can download and run, then Obfuscate and run again so I can see the difference.

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

You will have to be a lot more specific before I can look at this... :)

questions:

What is exact problem?

Attach/PM a script that replicates your issue that i can download and run, then Obfuscate and run again so I can see the difference.

Jos

not sure if my mssgs with pm where sent. so im posting here in case

you can download the zip file of the samples from here

http://www.autoitscript.com/forum/index.ph...st&id=17676

there is 3 samples, they all seem to do some other type of error using all the same UDF

Link to comment
Share on other sites

  • Developers

Just for everyone to read:

The issue is that these lines will wrong after obfuscation because Obfuscator has no way to know that the strings are actually Funcnames:

GUICtrlSetOnHover($Button, "On_Hover_Func", "On_Leave_Hover_Func")

There is also on in the Include file:

Global $pTimerProc = _DllCallBack("CALLBACKPROC", "hwnd;uint;uint;dword")

To tell Obfuscator to leave those alone you specify:

#Obfuscator_Ignore_Funcs=On_Hover_Func,On_Leave_Hover_Func,CALLBACKPROC

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

Although I've been using AutoIt for a while now, I just tried obfuscating my first script!

I included the following directives at the beginning of the script:

#AutoIt3Wrapper_Run_Obfuscator=y

#Obfuscator_Parameters=/striponly

When I build (F7) the program under SciTE, Obfuscator begins to run, then crashes:

Obfuscator.exe has encountered a problem and needs to close. We are sorry for the inconvenience.

The _Obfuscated.au3 file is created, but empty. The documentation for Obfuscator doesn't explicilty state where the Obfuscator.log file is created, but I have not been able to find it anywhere.

I was running Obfuscator 1.0.24.17, but downloaded the new version 1.0.24.23 and get exactly the same results.

The only perhaps unusual thing is that the script is 9,000 lines long, not counting the many includes. Is there a limit to the size of the script?

Quick Note: The SciTE help file for Obfuscator still shows the apparently obsoleted command:

#Compiler_Run_Obfuscator=y

but AutoItWrapper was kind to automatically update it to the new directive. :mellow: Also, it seems there are additional Obfuscator parameters not shown in this help file. Are all the parameters/directives documented in a single place somewhere?

I noted the #Obfuscator_Ignore_Funcs= command in this thread which I think may be very useful. I intend to run only with /striponly -- if I list a function name in the #Obfuscator_Ignore_Funcs= directive, will Obfuscator strip out the function if it is not called anywhere by the main script?

Obfuscator has a great reputation and is widely used, so I expect it's just something simple that I'm overlooking. The basic question is where to find the log so I can see what's going on. I ask the other questions just to get them out of the way. :(

Link to comment
Share on other sites

  • Developers

Obfuscator shouldn't crash so if you want me to have a look at that then please send me an script that causes te crash.

The Obfuscator.log is created in the Obfuscator program directory.

The "#Obfuscator_Ignore_Funcs=" tells obfuscator not to "translate" the listed functions to a new name but keep the original name.

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

Obfuscator shouldn't crash so if you want me to have a look at that then please send me an script that causes te crash.

The Obfuscator.log is created in the Obfuscator program directory.

The "#Obfuscator_Ignore_Funcs=" tells obfuscator not to "translate" the listed functions to a new name but keep the original name.

Jos

Thanks for the reply Jos. It's certainly understandable that you would want to see the script it crashes on, but I expect I'd have to gather up all the includes as well.

I did look in the Obfuscator program directory for the log, but apparently the crash happens even before you create the log file. I just wondered if there were known limitations regarding the size of the script and your reply suggest there are no known limitations.

Link to comment
Share on other sites

  • Developers

Thanks for the reply Jos. It's certainly understandable that you would want to see the script it crashes on, but I expect I'd have to gather up all the includes as well.

I did look in the Obfuscator program directory for the log, but apparently the crash happens even before you create the log file. I just wondered if there were known limitations regarding the size of the script and your reply suggest there are no known limitations.

That is strange as the log is created at the very beginning of the program and the first record with version information is written to it.

There should be no limit but it is always possible that a crash happens on a special condition.

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

That is strange as the log is created at the very beginning of the program and the first record with version information is written to it.

There should be no limit but it is always possible that a crash happens on a special condition.

Jos

I'm looking in C:\Program Files\AutoIt3\SciTE\Obfuscator; is that correct? It only runs for about two seconds before the crash.

It runs fine on other programs I have; just not this large one. Even running it on another program successfully, I cannot find Obfuscator.log.

Do I have to explicitly turn on logging?

Link to comment
Share on other sites

Jos,

Also, is there a way to tell Obfuscator to NOT strip functions if they appear in the original source, that is, before include processing is performed? In other words, strip functions only if they appear in an include?

I just saw over in the AutoItWrappers thread that GeoSoft posted an incredibly short function that returns an array of all the functions in a script...

Thanks for your assistance.

Link to comment
Share on other sites

  • Developers

I'm looking in C:\Program Files\AutoIt3\SciTE\Obfuscator; is that correct? It only runs for about two seconds before the crash.

It runs fine on other programs I have; just not this large one. Even running it on another program successfully, I cannot find Obfuscator.log.

Do I have to explicitly turn on logging?

Nope... The log is always created and it is crfeated in the directory where Obfuscator.exe is started from.

Jos,

Also, is there a way to tell Obfuscator to NOT strip functions if they appear in the original source, that is, before include processing is performed? In other words, strip functions only if they appear in an include?

I just saw over in the AutoItWrappers thread that GeoSoft posted an incredibly short function that returns an array of all the functions in a script...

Thanks for your assistance.

No, everything is included and treated as one big script.

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

Nope... The log is always created and it is crfeated in the directory where Obfuscator.exe is started from.

Hmm...Do you delete the log if Obfuscator runs successfully? I've checked and Obfuscator.exe only exists in the directory I listed above (I run the build from SciTE)

You could print a console message showing the log file location. :)

Link to comment
Share on other sites

  • Developers

Hmm...Do you delete the log if Obfuscator runs successfully? I've checked and Obfuscator.exe only exists in the directory I listed above (I run the build from SciTE)

You could print a console message showing the log file location. :)

The log file isn;t deleted, just opened for Write everytime.

That doesn't help much when it does a hardcrash right at the start. :)

You do have enough rights to write to the Obfuscator directory?

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

The log file isn;t deleted, just opened for Write everytime.

That doesn't help much when it does a hardcrash right at the start. :)

You do have enough rights to write to the Obfuscator directory?

Jos

Yes, I have write access to the Obfuscator directory -- I'm running this on Windows XP. Note that on Vista, if UAC is turned on, Obfuscator will suffer a UAC prompt writing to its log if the log remains located in Program Files. This is a real problem for applications that open and close their log files repeatedly.

The problem is I can't even find the log for a successful Obfuscator run!

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