bobbiehansen Posted October 30, 2023 Share Posted October 30, 2023 If I develop a proprietary AutoIt script that takes me hundreds of hours and then use it for multiple clients where I leave it and the GUI on their system to use by them is there a way to protect it so that it can't be copied or changed or manipulated or the source viewed? In a similar vein- is there a way to create a GUI and structure that uses AutoIt in the background but looks like it was written in a much more expensive and hard to program language? (and is locked up to hide the fact that it wasn't written in this language) (I of course don't want to have to learn the other language) Link to comment Share on other sites More sharing options...
Andreik Posted October 30, 2023 Share Posted October 30, 2023 And how it looks like a more expensive programming language? AutoIt can be changed and modified like any other application by someone who really want to. So what is your question after all? bobbiehansen 1 When the words fail... music speaks. Link to comment Share on other sites More sharing options...
Numeric1 Posted October 30, 2023 Share Posted October 30, 2023 1 hour ago, bobbiehansen said: If I develop a proprietary AutoIt script that takes me hundreds of hours and then use it for multiple clients where I leave it and the GUI on their system to use by them is there a way to protect it so that it can't be copied or changed or manipulated or the source viewed? In a similar vein- is there a way to create a GUI and structure that uses AutoIt in the background but looks like it was written in a much more expensive and hard to program language? (and is locked up to hide the fact that it wasn't written in this language) (I of course don't want to have to learn the other language) What you're asking for is a bit expensive to do. The best solution to your problem is to use your AutoIt program as a background server for your other application. The two programs must communicate based on queries on the same machine. This approach is expensive in terms of system resources. bobbiehansen 1 Link to comment Share on other sites More sharing options...
orbs Posted October 30, 2023 Share Posted October 30, 2023 (edited) 2 hours ago, bobbiehansen said: is there a way to protect it so that it can't be copied or changed or manipulated or the source viewed? in short, no. if a user is sophisticated and motivated enough, they will have your source code. as to how, that's beyond the scope of this forum, and naturally against the forum rules to discuss. but: what you can do is instead of selling (and halfheartedly protecting) your code, sell (and maintain) support for it. sure, they can have your code, but who's better than the author himself to provide support for it? support, may i remind, includes not only present aspects like bug fixes and user training, but also users requirements analysis, customization, feature requests, and in general - future aspects. 2 hours ago, bobbiehansen said: is there a way to create a GUI in short, yes, and quite simply too. your AutoIt GUI can be fully customized. so, have a look at your desired expensive software - fonts, color scheme, controls layout, etc. - and mimic its appearance in your AutoIt GUI. P.S. welcome to the AutoIt forum! Edited October 30, 2023 by orbs bobbiehansen 1 Signature - my forum contributions: Spoiler UDF: LFN - support for long file names (over 260 characters) InputImpose - impose valid characters in an input control TimeConvert - convert UTC to/from local time and/or reformat the string representation AMF - accept multiple files from Windows Explorer context menu DateDuration - literal description of the difference between given dates Apps: Touch - set the "modified" timestamp of a file to current time Show For Files - tray menu to show/hide files extensions, hidden & system files, and selection checkboxes SPDiff - Single-Pane Text Diff Link to comment Share on other sites More sharing options...
bobbiehansen Posted October 30, 2023 Author Share Posted October 30, 2023 Thank you for all the helpful advice and the link to the rules since I'm new here. Just to be paranoid, I'm pretty sure I hope what I'm asking isn't against the forum rules. In fact I'm trying to do the opposite- prevenent decompilation of the code. I'm not a programmer by trade, use to know Basic and Fortran a bit and can write simple Excel macros. The scripting would be part of a broader service I offer for automation. Hence my start of learning AutoIt and kudos to the community for such a neat language- I'm really enjoying it. So I'm not super up on all the different programming languages. But what I was hoping is to create a GUI that looks like the script was written in a robust and commonly used programming language so that it would give the script a bit more of a higher end look. Would it be tough to write a very simple program in C or C++ to run the AutoIt hidden in the background? Is that what was meant by "as a background server for your other application"? Then I can also truthfully tell the client that it's programmed in C for more cred and to confuse the trail. Link to comment Share on other sites More sharing options...
Andreik Posted October 30, 2023 Share Posted October 30, 2023 5 minutes ago, bobbiehansen said: Would it be tough to write a very simple program in C or C++ to run the AutoIt hidden in the background? Truthfully written in C. If you are able to create a convincing UI in C++ you can make the whole application so you don't need AutoIt. bobbiehansen 1 When the words fail... music speaks. Link to comment Share on other sites More sharing options...
bobbiehansen Posted October 30, 2023 Author Share Posted October 30, 2023 I'm super naive on this but my thinking is that I would use AutoIt to create everything (including the UI) and then an extremely simple C (etc) program would only open and allow AutoIt to run. Link to comment Share on other sites More sharing options...
willichan Posted October 30, 2023 Share Posted October 30, 2023 (edited) @bobbiehansen Just to avoid confusion, you would be better to consider AutoIt as a scripting language, rather than as a programming language. Don't get me wrong. AutoIt is a very powerful scripting language. Some of the more advanced people here can really make it stand up, sing, and dance. (Not to mention the amazing work the developers put into it.) As such, there are limitations to what you can do to protect your source code. I think that @orbs gave you the best advice. Rather than selling your script as a "program" to your clients, go ahead and provide the "compiled" version of your script, and pitch it as a service. You can still charge a reasonable up-front cost for customizing, installing, and implementing your script, then charge them a fee for maintenance, to include bug fixes and technical support. This also provides you with an ongoing revenue stream, rather than a one-time sale. Edited October 30, 2023 by willichan bobbiehansen 1 My UDFs: Barcode Libraries, Automate creation of any type of project folder, File Locking with Cooperative Semaphores, Inline binary files, Continue script after reboot, WinWaitMulti, Name Aggregator, Enigma, CornedBeef Hash Link to comment Share on other sites More sharing options...
Nine Posted October 30, 2023 Share Posted October 30, 2023 I worked for an IT multi-national enterprise for many years. And there is no simple technical solution to avoid 100% unauthorized usage of software without a backlash to help desk. They finally choose to have a trustworthy relationship with their customers. In other words, don't sell your stuff to companies with doubtful history. bobbiehansen 1 “They did not know it was impossible, so they did it” ― Mark Twain Spoiler Block all input without UAC Save/Retrieve Images to/from Text Monitor Management (VCP commands) Tool to search in text (au3) files Date Range Picker Virtual Desktop Manager Sudoku Game 2020 Overlapped Named Pipe IPC HotString 2.0 - Hot keys with string x64 Bitwise Operations Multi-keyboards HotKeySet Recursive Array Display Fast and simple WCD IPC Multiple Folders Selector Printer Manager GIF Animation (cached) Screen Scraping Multi-Threading Made Easy Link to comment Share on other sites More sharing options...
RTFC Posted October 31, 2023 Share Posted October 31, 2023 @bobbiehansen CodeCrypter may be of help. bobbiehansen 1 My Contributions and Wrappers Spoiler BitMaskSudokuSolver BuildPartitionTable CodeCrypter CodeScanner DigitalDisplay Eigen4AutoIt FAT Suite HighMem MetaCodeFileLibrary OSgrid Pool RdRand SecondDesktop SimulatedAnnealing Xbase I/O Link to comment Share on other sites More sharing options...
junkew Posted November 5, 2023 Share Posted November 5, 2023 Are you aware you can compile to exe? In your first post it looks like you are saying you leave full autoit scite at client location. Thats not needed. Protection to reverse engineering can be complex in any programming language. bobbiehansen 1 FAQ 31 How to click some elements, FAQ 40 Test automation with AutoIt, Multithreading CLR .NET Powershell CMDLets Link to comment Share on other sites More sharing options...
bobbiehansen Posted November 6, 2023 Author Share Posted November 6, 2023 (edited) Yaa, wasn't really fully aware of the compiling process yet. Good to know. Just started to learn it through SciTE where you run it from the editor. My biggest thing is to create the program so the GUI can't be obviously visually identified as written via AutoIT. Sounds like with some cleverness it can be made to look like it was written in another program. For example- have the top have dropdowns like: File Edit View Tools Options Help. And small icons in the top that have a save icon(floppy), print icon, etc. Basically I have a bunch of simple PC programs that aren't from big companies like Microsoft or Adobe, etc but that all look roughly the same. So my assumption is that they've probably been written in the same or similar programming language that uses a starting template that can be modified for the program. I want my AutoIT programs (err, scripts) GUIs to look like pretty close to those. I'll continue to learn. Thanks for the advice. Edited November 6, 2023 by bobbiehansen clarity Link to comment Share on other sites More sharing options...
junkew Posted November 7, 2023 Share Posted November 7, 2023 Check out in studio it can make some nice gui. bobbiehansen 1 FAQ 31 How to click some elements, FAQ 40 Test automation with AutoIt, Multithreading CLR .NET Powershell CMDLets Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now