1. Shrouding
- Posted by Alex Chamberlain <alex.chamberlain at tiscali.co.uk> Nov 13, 2005
- 622 views
- Last edited Nov 14, 2005
I am considering buying the shrouder, but does it get rid of platform() calls? Also, will a file shrouded under Windows work on Linux? Thanks, Alex
2. Re: Shrouding
- Posted by Kenneth Rhodes <wolf_man_jacques at excite.com> Nov 13, 2005
- 597 views
- Last edited Nov 14, 2005
Alex Chamberlain wrote: > > I am considering buying the shrouder, but does it get rid of platform() calls? > Also, will a file shrouded under Windows work on Linux? > > Thanks, > Alex From the Euphoria 2.5 Release notes: * bug fixed: The platform() function is now evaluated in backend/backendw/backendu for .il files (rather than in the front-end of the shrouder). This allows a .il file to be portable to multiple platforms. In other situations, the interpreter and translator will continue to evaluate platform() in the front-end for maximum efficiency. Ken Rhodes 100% Microsoft Free!
3. Re: Shrouding
- Posted by Robert Craig <rds at RapidEuphoria.com> Nov 13, 2005
- 586 views
- Last edited Nov 14, 2005
Alex Chamberlain wrote: > I am considering buying the shrouder, but does it get rid of platform() calls? In 2.5 official, the shrouder issues a PLATFORM IL operation that is executed by whichever backend you use to run the .il file. The result will be different on each platform. The binder, on the other hand, simply replaces platform() by 1, 2, 3 etc. at bind time. The binder knows which platform the resulting .exe file is going to run on. The shrouder can't be totally sure, so it leaves that issue until run-time. > Also, will a file shrouded under Windows work on Linux? Yes. As a minor issue, you might have to be careful about the shebang (#!) line that's supplied by default when you don't specify one explicitly. I just tested a small program now, and it worked, Windows->Linux. I don't think many people have tried this though. Almost everyone shrouds on the same operating system that they are going to run on. Be sure to FTP in binary mode. .il files are binary files. Regards, Rob Craig Rapid Deployment Software http://www.RapidEuphoria.com
4. Shrouding
- Posted by "Daniel Kluss" <codepilot at netzero.net> Nov 10, 2003
- 587 views
This is a multi-part message in MIME format. ------=_NextPart_000_0010_01C3A6FA.83285840 charset="iso-8859-1" Ive had been reg euphoria since like december of 2000, but I've never shrouded anything before. How do you shoud source and have it still useable by include? Daniel Kluss ------=_NextPart_000_0010_01C3A6FA.83285840 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: 8bit <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML><HEAD> <META http-equiv=Content-Type content="text/html; charset=iso-8859-1"> <META content="MSHTML 6.00.2800.1264" name=GENERATOR> <STYLE></STYLE> </HEAD> <BODY bgColor=#ffffff> <DIV><FONT face=Arial size=2>Ive had been reg euphoria since like december of 2000, but I've never shrouded anything before.</FONT></DIV> <DIV><FONT face=Arial size=2>How do you shoud source and have it still useable by include?</FONT></DIV> <DIV><FONT face=Arial size=2></FONT> </DIV> ------=_NextPart_000_0010_01C3A6FA.83285840--
5. Re: Shrouding
- Posted by Pete Lomax <petelomax at blueyonder.co.uk> Nov 10, 2003
- 604 views
On Sun, 9 Nov 2003 19:48:56 -0800, Daniel Kluss <codepilot at netzero.net> wrote: >Ive had been reg euphoria since like december of 2000, but I've never shrouded >anything before. >How do you shoud source and have it still useable by include? > I've been doing quite a bit of that this year If it is a fairly simple source without any include statements, then it is very easy. Just include the output file as normal. If there are some include statements, then only the global routines and constants defined in the main file remain global after shrouding, so you may have to write a small wrapper at the toplevel, eg, I have: global procedure setCommissionCode(sequence Code) SetCommissionCode(Code) -- see register.ew end procedure because SetCommissionCode (with a capital S) from the included file is otherwise not callable after shrouding. Conversely, global variables remain global no matter where they are defined, so if you want to hide them, you have to make them local to a sub-include file and in that file write global set and get functions (which automatically cease to be global after shrouding), eg I have: atom A4Mapping global procedure SetA4Mapping(atom a4m) A4Mapping=a4m end procedure global function GetA4Mapping() return A4Mapping end function where normally I might just have global atom A4Mapping. You only need to do this if it is important that A4Mapping is not visible externally once the source has been shrouded. If your shrouded source uses win32lib or similar, then it can get very messy. I've managed it, but with hindsight I could have made my life much easier by finding some way, any way, not to do it . I can help out if you need me to, just ask. Pete http://palacebuilders.pwp.blueyonder.co.uk/euphoria.html
6. Re: Shrouding
- Posted by "Daniel Kluss" <codepilot at netzero.net> Nov 10, 2003
- 613 views
Thanks for the help, there should be a shrouded EUEU(euphoria scripting for euphoria) on the user contrib spot as soon as it works its way through the system. Daniel Kluss ----- Original Message ----- From: "Pete Lomax" <petelomax at blueyonder.co.uk> To: <EUforum at topica.com> Subject: Re: Shrouding > > > On Sun, 9 Nov 2003 19:48:56 -0800, Daniel Kluss > <codepilot at netzero.net> wrote: > > >Ive had been reg euphoria since like december of 2000, but I've never shrouded anything before. > >How do you shoud source and have it still useable by include? > > > I've been doing quite a bit of that this year > > If it is a fairly simple source without any include statements, then > it is very easy. Just include the output file as normal. > > If there are some include statements, then only the global routines > and constants defined in the main file remain global after shrouding, > so you may have to write a small wrapper at the toplevel, eg, I have: > > global procedure setCommissionCode(sequence Code) > SetCommissionCode(Code) -- see register.ew > end procedure > > because SetCommissionCode (with a capital S) from the included file is > otherwise not callable after shrouding. > > Conversely, global variables remain global no matter where they are > defined, so if you want to hide them, you have to make them local to a > sub-include file and in that file write global set and get functions > (which automatically cease to be global after shrouding), eg I have: > > atom A4Mapping > global procedure SetA4Mapping(atom a4m) > A4Mapping=a4m > end procedure > global function GetA4Mapping() > return A4Mapping > end function > > where normally I might just have global atom A4Mapping. You only need > to do this if it is important that A4Mapping is not visible externally > once the source has been shrouded. > > If your shrouded source uses win32lib or similar, then it can get very > messy. I've managed it, but with hindsight I could have made my life > much easier by finding some way, any way, not to do it . I can help > out if you need me to, just ask. > > Pete > http://palacebuilders.pwp.blueyonder.co.uk/euphoria.html > > > > TOPICA - Start your own email discussion group. FREE! > >
8. Re: Shrouding
- Posted by Robert Craig <rds at RapidEuphoria.com> Jun 28, 2001
- 602 views
Irv Mullins writes: > Please tell me the names of the routines and variables. > Perhaps you can - I sure can't. My previous comments and the docs are both a bit vague about this. If you choose the "scramble" option, then nobody can read anything, but you can document the nice global names you used in your original source file, and people who include your file can use them. > Maybe you should change the docs > to "you can distribute a shrouded but not > scrambled include file..." No. Scrambling works too. Just tell your users what names they need to use. If you care about security, there's no reason not to choose the scramble option, other than a very tiny start-up cost in descrambling your program. Regards, Rob Craig Rapid Deployment Software http://www.RapidEuphoria.com
9. Re: Shrouding
- Posted by Irv Mullins <irvm at ellijay.com> Jun 29, 2001
- 597 views
From: Tony Bucholtz <tony_bucholtz at hotmail.com> > G'day all > > Robert Craig wrote: > > If you choose the "scramble" option, then nobody can > > read anything, but you can document the nice global > > names you used in your original source file, and people > > who include your file can use them. > > Maybe what we need is a combination of some of the earlier ideas, > such as: > > 1. Preprocessor to prepend a comment block regarding globals and > includes, extracted from the code > 2. The "with shrouding" and "without shrouding" directives > 3. Expand the "with/without shrouding" directives to also imply > "with scrambling" and "without scrambling", to *always* leave the > comment block (and anything else the author wants to reveal) in > clear text I believe that adding 'clear text' comments to the start of an otherwise shrouded file is an excellent one - distribute one file instead of two, and your docs can never get out of sync with your library. Probably there is a technical reason why Rob can't do this: I think Euphoria looks at something (the first few bytes, perhaps) of each file when it is included, and ships it off to the 'deshrouder' routine if necessary. Probably, once a file is determined to be in plain text, i.e. a readable include file, it goes straight to the interpreter. Maybe it would require a complete re-design of the interpreter to make it smart enough to handle mixed files. Regards, Irv
10. Re: Shrouding
- Posted by Robert Craig <rds at RapidEuphoria.com> Jun 29, 2001
- 586 views
Irv Mullins writes: > I believe that adding 'clear text' comments to the > start of an otherwise shrouded file is an excellent one > - distribute one file instead of two, and your docs can > never get out of sync with your library. > Probably there is a technical reason why Rob can't do this: You *can* add comments to either a shrouded or a scrambled file after you create it. You can even add statements. Insert your comments or code before or after any scrambled code, not in the middle. (You'll have technical difficulties with certain non-ascii characters if you use ed on a scrambled file, but NotePad will work.) Regards, Rob Craig Rapid Deployment Software http://www.RapidEuphoria.com
11. Re: Shrouding
- Posted by Irv Mullins <irvm at ellijay.com> Jun 29, 2001
- 586 views
On Friday 29 June 2001 15:01, Robert Craig wrote: > You *can* add comments to either a shrouded > or a scrambled file after you create it. > You can even add statements. > Insert your comments or code before or after > any scrambled code, not in the middle. > (You'll have technical difficulties with certain non-ascii > characters if you use ed on a scrambled file, > but NotePad will work.) Thanks! I had no idea that this was possible, but it works fine. Regards, Irv