In the future, I really do hope to meet this need without the Java
dependency. Shipping Rubinius VM bytecode would make me a lot happier
than shipping JVM bytecode.
I know that you can achieve this with JRuby + Warbler. It basically compiles the Ruby source code and produces Java .class files which are then packaged as a WAR or JAR file, depending on what you trying to achieve. No source has to be present.
Regards
Matthew Winter
> --
> --- !ruby/object:MailingList
> name: rubinius-dev
> view: http://groups.google.com/group/rubinius-dev?hl=en
> post: rubini...@googlegroups.com
> unsubscribe: rubinius-dev...@googlegroups.com
At the risk of stating the obvious, even WARs are
easily disassembled. In fact, so is the Delphi code
although I think the tools for that are a little less
fancy.
It's certainly possible to to add a comparable
degree of obscurity – not security – to Rubinius
and I think it's been discussed as a goal but is
not implemented as yet.
Personally I'm not convinced it's worth the effort
but, then, I don't really have anything to do with
those decisions.
Off the topic, is it not possible to implement the
application/whatever in a manner that doesn't
require obfuscation?
E
--
Sent from my rotary phone using an enormous number of revolutions.
--
--- !ruby/object:MailingList
name: rubinius-dev
view: http://groups.google.com/group/rubinius-dev?hl=en
post: rubini...@googlegroups.com
unsubscribe: rubinius-dev...@googlegroups.com
Rodrigo Mendonça Diretor de Tecnologia Tel: 31 3025 3550 / Cel: 31 8489 3119 rod...@vivver.com.br / dire...@vivver.com.br |
> But, I was questioned as to the source code is made available on
> customer's server, which would bring risks to the business.
> I always thought the Rubinius a very interesting project, how it is
> conceived.
Cant http://www.rubyencoder.com/ solve your problem?
I'm using it for "encrypting" sensitive code.
As far as I know it do some irreversible translation from source to AST.
--
Radek
Indeed you can decompile the Java class file. However because the Ruby has been compiled into Java byte code with all the required JRuby wrappings, the code output from the decompilation is very much obfuscated for you. I am not saying it is impossible to understand, but you would need to have a degree of understanding of the internals of JRuby.
Because Rubinius makes use of LLVM I see no reason why it could not output a binary executable, but would need to statically link the Rubinius library or provide a shared library binary for use, so the final size could be quite large. After all if Mono can provide this function via LLVM, then I am sure Rubinius could do it. ;-)
I agree with your sentiment about whether it is really worth the effort. However the more Ruby, Rails, etc are used in the enterprise the more this kind of question will be asked.
Regards
Matthew Winter
At the risk of stating the obvious, even WARs are easily disassembled.