tom13 Posted September 30, 2008 Share Posted September 30, 2008 (edited) Hi there, I have been looking for ways to avoid false virus reports and strangers from decompiling my AutoIT executables. Now I have heard something about wrapping an autoit executable inside an other programming language. I'm not experienced at all with other programming languages and thus was wondering whether such thing is possible - and if so, how it'd work? My main reason for this is because I have spend a couple of months on a program and I do not want randoms to simply decompile all my hard work. It'd also make my authentication system quite useless. Thanks in advance. - Tom Edited September 30, 2008 by tom13 Link to comment Share on other sites More sharing options...
Pain Posted September 30, 2008 Share Posted September 30, 2008 http://www.autoitscript.com/forum/index.php?showforum=14 Link to comment Share on other sites More sharing options...
tom13 Posted September 30, 2008 Author Share Posted September 30, 2008 @ Pain, Well - I can not use while loops etc. then right? I can only use the AutoIT functions? Link to comment Share on other sites More sharing options...
Pain Posted September 30, 2008 Share Posted September 30, 2008 A While loop would be something like this AU3_While 1; AU3_sleep(100); AU3_WEnd; Link to comment Share on other sites More sharing options...
tom13 Posted September 30, 2008 Author Share Posted September 30, 2008 What about a function? and how are you going to call that function?Can you do everything using that dll as you can by compiling normal autoit? Link to comment Share on other sites More sharing options...
Pain Posted September 30, 2008 Share Posted September 30, 2008 Take a look here and see if it helpshttp://www.mmowned.com/forums/general-prog...c-programs.htmlWhen you did what that link explain you can add AU_ to basically any function. Link to comment Share on other sites More sharing options...
tom13 Posted September 30, 2008 Author Share Posted September 30, 2008 (edited) Well, "to basically any function". Function, indeed. I am however pretty sure that general AutoIT scripting structure such as creating functions and using them are not possible this way, can anyone confirm that? EDIT: Not to mention settings such as mouse click delays and tray icon options etc., right? Edited September 30, 2008 by tom13 Link to comment Share on other sites More sharing options...
tom13 Posted September 30, 2008 Author Share Posted September 30, 2008 Update, The special AutoItX helpfile only lists functions and all things such as creating functions and loops are removed. So I think it's pretty safe to assume that such autoit scripting structure is not possible by using that dll. So, is it possible to somehow bind a autoit executable within a c++ binary so decompiling isn't possible anymore (or very very very hard and nearly impossible)? Link to comment Share on other sites More sharing options...
Developers Jos Posted September 30, 2008 Developers Share Posted September 30, 2008 Update, The special AutoItX helpfile only lists functions and all things such as creating functions and loops are removed. So I think it's pretty safe to assume that such autoit scripting structure is not possible by using that dll.So, is it possible to somehow bind a autoit executable within a c++ binary so decompiling isn't possible anymore (or very very very hard and nearly impossible)?What is everybody going on about these days?Just for the record: AutoIt3 is a Scripting language, nothing more nothing less... use it as such!Answer: yes it is possible as this is exactly what aut2exe is doing, but if you are soo damn worried about it then just learn a programming language that has a true compiler available.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 More sharing options...
tom13 Posted September 30, 2008 Author Share Posted September 30, 2008 (edited) What is everybody going on about these days?Just for the record: AutoIt3 is a Scripting language, nothing more nothing less... use it as such!Answer: yes it is possible as this is exactly what aut2exe is doing, but if you are soo damn worried about it then just learn a programming language that has a true compiler available.JosWell learning a complete new programming language isn't something you do in a couple of minutes.I think it's more then understandable to atleast look for an alternative before going into that hell, which it really is for me.Anyway, I guess the bottom line is that such alternative unfortunately does not exist, right? I would sleep a lot better if you could confirm this aswell. Edit: search results such as http://www.codeproject.com/KB/cpp/UpdateResource.aspx gave me hope, but I guess it doesn't work like that. Or well, I don't know anymore, I'm hopelessly confused. Edited September 30, 2008 by tom13 Link to comment Share on other sites More sharing options...
torels Posted September 30, 2008 Share Posted September 30, 2008 Start>Run>Iexpress.exe (?) It compiles files in one single auto extracting cabinet with exe extension Some Projects:[list][*]ZIP UDF using no external files[*]iPod Music Transfer [*]iTunes UDF - fully integrate iTunes with au3[*]iTunes info (taskbar player hover)[*]Instant Run - run scripts without saving them before :)[*]Get Tube - YouTube Downloader[*]Lyric Finder 2 - Find Lyrics to any of your song[*]DeskBox - A Desktop Extension Tool[/list]indifference will ruin the world, but in the end... WHO CARES :P---------------http://torels.altervista.org Link to comment Share on other sites More sharing options...
Zedna Posted September 30, 2008 Share Posted September 30, 2008 You can make some (core) functions in helper DLL (compiled in C++). DLL files can't be decompiled. Resources UDF ResourcesEx UDF AutoIt Forum Search Link to comment Share on other sites More sharing options...
tom13 Posted September 30, 2008 Author Share Posted September 30, 2008 (edited) Start>Run>Iexpress.exe (?) It compiles files in one single auto extracting cabinet with exe extension The only thing iexpress.exe does is compressing. When you execute the new .exe you'll see in taskmanager that you are simply loading the old exe which has been extracted to a temporary folder, which can then be decompiled (aka completely useless). You can make some (core) functions in helper DLL (compiled in C++). DLL files can't be decompiled. That is interesting, though I am confused as you can't call those functions made in c++ in your AutoIT script right? So it is true that you can not write all AutoIT structures in the c++ file by including the AutoItX.dll, but only the functions (so you can not use the autoit loops etc.)? Thanks a lot. Edit: Eg. would this be correct? _AU3_func _example($blabla = 0) _AU3_if ($blabla) then _AU3_exit _AU3_endif _AU3_endfunc _AU3__example(1) I think not. Edited September 30, 2008 by tom13 Link to comment Share on other sites More sharing options...
Zedna Posted September 30, 2008 Share Posted September 30, 2008 That is interesting, though I am confused as you can't call those functions made in c++ in your AutoIT script right?You CAN call functions from DLL file by DllCall() from AutoIt. Resources UDF ResourcesEx UDF AutoIt Forum Search Link to comment Share on other sites More sharing options...
tom13 Posted October 1, 2008 Author Share Posted October 1, 2008 Hmm yeah, so then you need to know how to create DLLs. There is no alternative right? Link to comment Share on other sites More sharing options...
Moderators SmOke_N Posted October 1, 2008 Moderators Share Posted October 1, 2008 Hmm yeah, so then you need to know how to create DLLs.There is no alternative right?The bottom line here, is you obviously you need to know another language to accomplish what you want. There's no quick fix (or everyone would be doing it). 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 More sharing options...
Zedna Posted October 1, 2008 Share Posted October 1, 2008 Hmm yeah, so then you need to know how to create DLLs.There is no alternative right?You can create DLL files also in another programing languages for example: Delphi, FreeBasic and so on Resources UDF ResourcesEx UDF AutoIt Forum Search Link to comment Share on other sites More sharing options...
tom13 Posted October 1, 2008 Author Share Posted October 1, 2008 (edited) The bottom line here, is you obviously you need to know another language to accomplish what you want. There's no quick fix (or everyone would be doing it).Hmm okay, I thought I might be able to get a default example which I can simply past my AutoIT code into. But I guess things are a lot more complicated.I also learned that AutoIT needs to read it's own code in "raw text" in order to execute succesfully. While I thought that it would still be able to do this when bound to another executable (if that is even possible), I heard it is not.So, I was thinking about using the .dll - but then I found out that it's not possible to do things such as _AU3__while etc., can only use AutoIT functions here.So, I think that what I want is not accomplishable. If I am wrong however I'd like to hear so. Otherwise the only option is to learn some real language and delay my program for a couple of years.Thanks for the help. Edited October 1, 2008 by tom13 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