Jump to content

TCP and Encryption included or not?


Recommended Posts

  • Replies 60
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

The way I see this is not having several versions of AutoItSC.bin, but several libraries that get linked based on what is needed. For example, AutoItSC.bin would have the core functionality, AutoItGU

That's what I was thinking originally, because I can encrypt a file into a3x, which would hold certain variables such as admin username, admin password, etc, that I wouldn't want my general programmers to have direct access to...

Writing AutoIt scripts since

_DateAdd("d", -2, _NowCalcDate())
Link to post
Share on other sites

Well renaming the a3x file to au3 causes AutoIt to error out.

With the default #include settings, it dumps the entire file byte by byte into the main file before executing, meaning that both encoded, and non-encoded commands are passed to the program, and one of the two aren't changed into the other version, making it impossible for AutoIt to comprehend the commands.

Writing AutoIt scripts since

_DateAdd("d", -2, _NowCalcDate())
Link to post
Share on other sites

So it is telling the difference between the compiled version and the text version by the extension. Changing the extension causes a different routine to read the file, thus giving the error.

Hey, Jon, what about adding a magic number to the beginning of the compiled version and checking for that? That way, even if the wrong extension is on the file, then it can still be read intelligently (or so).

David Nuttall
Nuttall Computer Consulting

An Aquarius born during the Age of Aquarius

AutoIt allows me to re-invent the wheel so much faster.

I'm off to write a wizard, a wonderful wizard of odd...

Link to post
Share on other sites
  • 3 months later...

I've actually already got this working, so it will appear in a beta soon I imagine.

The encoded scripts are stored as .a3x files using similar code to that which encrypted the .exe. Although having a pure .a3x file to attack might seem more risky I don't think it is. It's just too complicated to reverse engineer. The script is compressed and then encrypted and all sorts of random sizing occurs too (compile the same script twice and check the size...different B) ). So to attack by decoding the .a3x/.exe file would require:

- Work out how to decrypt the stream

- Work out files are stored, table of contents, start/end position of files

Even then any information would be compressed using a proprietry compression routine so it's hard to know if you even have managed to decrypt successfully. Then you have to work out how to decompress the files.

That's too much hard work. Much simpler to just load up AutoIt3.exe/Exe2Aut with a dissassembler, add some breakpoints and take it from there. Even if I added some of the anti-dissassembler features available there are people out there who patch Adobe PhotoShop's activation code within 10 minutes of release....

Edit:

The additional cool thing is that you even save space over normal .au3 files. Scriptomatic.au3 was 21KB, Scriptomatic.a3x is 9KB :o

Hi Jon,

I just found this post looking for an answer to my problem of creating and implementing an activation code for a compiled script. I'm writing them all the time now and I (and my clients who pay for them), don't want them to be useable off site, or I want a full version to work from a trial after the code is entered. I would like the code to be different depenting on the user but be able to compile the same script and setup for multiple users and multiple codes. This way, I can track the versions and clients who should have the program and those who do not. Also, I would like to have the trial version fail after a specified number runs.

Can you help?

Thanks,

Deefburger

Deefburgerwww.deefburger.com

Link to post
Share on other sites

Hi Jon,

I just found this post looking for an answer to my problem of creating and implementing an activation code for a compiled script. I'm writing them all the time now and I (and my clients who pay for them), don't want them to be useable off site, or I want a full version to work from a trial after the code is entered. I would like the code to be different depenting on the user but be able to compile the same script and setup for multiple users and multiple codes. This way, I can track the versions and clients who should have the program and those who do not. Also, I would like to have the trial version fail after a specified number runs.

Can you help?

Thanks,

Deefburger

I am not sure of what solutions you have thought of for this, but one that I would recommend if feasible (clients having internet connection and agreeing to the terms). You could always have your program send and recieve information from a web address/database and log everything from there.

I have often thought of working out a system online as well as off that would support the functionality that you request. I have just never had the need to follow through with it yet. Let me know what you come up with.

@Jon If you read this... I have an idea. I do believe before anything should be included into the core of AutoIt it should first be a plug-in. This may have been your initial thought in creating the plug-in structure. I do plan on making a plug-in of the Encryption functions I had been working on in order to allow people to be able to use it if they so desire, but without having to bloat the .exe. I would have to say the same could go for TCP, COM and the other new editions if possible. If the use of them is soo great that an inclusion in the core then maybe it should be considered at that point.

I do understand this would require some restructuring, but it may be useful so that the AutoIt .exe will get smaller. Maybe we should even go over some functions that were included in 3.1.1 and make them plug-ins. Just a thought. I would be more than willing to help in anyway possible were that the case.

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)

Link to post
Share on other sites

I personally think AutoIt would be best with TCP and Encryption. An entire project is running off of TCP currently(AutoIt ITS) and I am developing many instant messaging servers and clients based on it. If TCP gets removed all of my research will be lost and I most likely will loose passion in writing, not to mention the shutdown of a 11 user project that involves some of the forums higher class scripters. If you need help in debug or development, or example writing, I would be more then glad, I probably have the most experience using the TCP and UDP commands then most all the users on this forum. And even if you didn't want me to help, I WOULD pay to keep these features.

Just a thought.......

AutoIt Smith

Link to post
Share on other sites

I personally think AutoIt would be best with TCP and Encryption. An entire project is running off of TCP currently(AutoIt ITS) and I am developing many instant messaging servers and clients based on it. If TCP gets removed all of my research will be lost and I most likely will loose passion in writing, not to mention the shutdown of a 11 user project that involves some of the forums higher class scripters. If you need help in debug or development, or example writing, I would be more then glad, I probably have the most experience using the TCP and UDP commands then most all the users on this forum. And even if you didn't want me to help, I WOULD pay to keep these features.

Just a thought.......

AutoIt Smith

If for some reason it gets removed I would be more than happy to write a plug-in for it that might be even faster than the current working version. I forget who (maybe Larry) that proved plug-in's are actually faster code than the included functions.

Of course that all is if the person that originally wrote the TCP functions doesnt write a plug-in.

The point is your work wont be wasted. I wont let that happen.

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)

Link to post
Share on other sites

Uhh... hasn't Larry alreadd wrote a TCP library ? I don't know if he's finished, it's on the dev's forum somewhere.

http://www.autoitscript.com/forum/index.php?showtopic=16328

Worse comes to worse we can use that I am sure, but I think native will be faster and better than a UDF. Just my thoughts.

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)

Link to post
Share on other sites
  • 2 weeks later...

I am not sure of what solutions you have thought of for this, but one that I would recommend if feasible (clients having internet connection and agreeing to the terms). You could always have your program send and recieve information from a web address/database and log everything from there.

I have often thought of working out a system online as well as off that would support the functionality that you request. I have just never had the need to follow through with it yet. Let me know what you come up with.

@Jon If you read this... I have an idea. I do believe before anything should be included into the core of AutoIt it should first be a plug-in. This may have been your initial thought in creating the plug-in structure. I do plan on making a plug-in of the Encryption functions I had been working on in order to allow people to be able to use it if they so desire, but without having to bloat the .exe. I would have to say the same could go for TCP, COM and the other new editions if possible. If the use of them is soo great that an inclusion in the core then maybe it should be considered at that point.

I do understand this would require some restructuring, but it may be useful so that the AutoIt .exe will get smaller. Maybe we should even go over some functions that were included in 3.1.1 and make them plug-ins. Just a thought. I would be more than willing to help in anyway possible were that the case.

JS

Thank You. I could control the location of execution all the way down to the machine by recording the IP address of the sender and dropping a cookie.... or compile for use on That machine only using info gatherd durring "registration" The registration code then sets a Reg value the new compiled code requires to execute. The new code is then made available for download..... Ahh the brain is buzzing now!

Deefburgerwww.deefburger.com

Link to post
Share on other sites

Thank You. I could control the location of execution all the way down to the machine by recording the IP address of the sender and dropping a cookie.... or compile for use on That machine only using info gatherd durring "registration" The registration code then sets a Reg value the new compiled code requires to execute. The new code is then made available for download..... Ahh the brain is buzzing now!

Glad to have been able to help out B).

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)

Link to post
Share on other sites
  • 2 months later...

Please autoit developers write 2 versions of autoit like someone said, a FAT or homedition for general scripters and one for coprate.

so all the new ideas such as TCP etc, can all be placed into the home edition where us general scripters would use and find bugs and report.

this way everyone is happy.

Link to post
Share on other sites

this way everyone is happy.

"Everybody"? I wouldn't be happy. I especially doubt JP would be happy since he currently handles merging our submissions into the main line of code. Maintaining two seperate branches would not make any of the developer's happy.

PS When resurrecting a 2 month old thread, quote the post you are referring to. I have no idea what context your comments are really in, I only know the idea of 2 seperate programs is a horrible idea.

Link to post
Share on other sites

"Everybody"? I wouldn't be happy. I especially doubt JP would be happy since he currently handles merging our submissions into the main line of code. Maintaining two seperate branches would not make any of the developer's happy.

PS When resurrecting a 2 month old thread, quote the post you are referring to. I have no idea what context your comments are really in, I only know the idea of 2 seperate programs is a horrible idea.

Thanks Valik

One is enough for me ...

Link to post
Share on other sites

But is it possible to include to .exe functions, what are in .au3 file?

I try to make a example:

WinMinimizeAll()

And now if i want to compile this script, only WinMinimizeAll() function is included. So all other functions will not be in .exe file. This way can save MUCH kb-s.

Link to post
Share on other sites

But is it possible to include to .exe functions, what are in .au3 file?

I try to make a example:

WinMinimizeAll()

And now if i want to compile this script, only WinMinimizeAll() function is included. So all other functions will not be in .exe file. This way can save MUCH kb-s.

Please search the forums for this. It has been asked many times... the short answer is no. Not without a work-around anyways. I think someone created a UDF that works pretty well.

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)

Link to post
Share on other sites

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
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...