Go Back   Rhinocerus > Newsgroup > Newsgroup comp.lang.* 1 > Newsgroup comp.lang.ada

Reply
 
Thread Tools Display Modes
  #1 (permalink)  
Old 07-12-2012, 07:28 PM
Oliver Kellogg
Guest
 
Posts: n/a
Default Ada source code obfuscator update

Version 0.6 of the obfuscada perl script has been released and is available at:

http://www.okellogg.de/x.html

Changes since version 0.2 are:

- Exclude 'I' and 'O' from obfuscated identifiers to avoid confusion with '1' and '0'
- Support bodies and child/separate units
- Various bug fixes
- Use the UniLexer perl module for scanning the input into tokens

Due to the limitations of global text substitution without semantic knowledge, I expect this to be the last update of the script.
A complete rewrite in Ada (using ASIS) is planned.

Enjoy,

Oliver Kellogg
Reply With Quote
Alt Today
Advertising
 
and become member of Rhinocerus
Standard Sponsored Links

  #2 (permalink)  
Old 07-29-2012, 02:57 PM
Oliver Kellogg
Guest
 
Posts: n/a
Default Re: Ada source code obfuscator update

After the release of version 0.6, a number of bugs were found and fixed so I decided to release version 0.7, see

http://www.okellogg.de/x.html

This version was successfully used on a system consisting of 180,000 lines of Ada code.

Changes wrt version 0.6 are:

- Extend @do_not_mangle and add a note about its incompleteness.
- In sub mangled_name, add the name component onto $result unmangled if no
mangling was performed on it.
- Rename sub pkg_mname to unit_mname and rename @packages to @units.
- At sub nexttoken, add optional arg $join_compound_name (default: false;
this is set true on processing unit names.)
- New sub skip_to_first_of permits skipping to any of multiple given tokens;
skipping ends on encountering the first of the given tokens.
- In main program:
- fix iteration over @lex by replacing the "for" loop incrementing $lndx
by a "while" loop employing sub nexttoken
- fix bug in processing of task and protected declarations (the comparison
against 'body' was broken)
- detect keyword "use" so that "use type" is out of the way (otherwise the
type declaration circuitry is erroneously triggered.)
- In sub wregex, change search pattern to exclude preceding ' (tic) to avoid
substituting attributes.
- In sub unit_mname and main program, change unit prefix to "U".

-- Oliver

Reply With Quote
 
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off




All times are GMT. The time now is 06:54 PM.


Copyright ©2009

LinkBacks Enabled by vBSEO 3.3.0 RC2 © 2009, Crawlability, Inc.