Forum: JRuby Protect JRuby source code

974b3d592f78510db0227e528841ccb9?d=identicon&s=25 Robin McKay (robin2)
on 2012-06-21 22:17
Am I right in thinking (based on a bit of Googling) that it is not easy
to decompile a .rb file that has been compiled by jrubyc?

I have not been able to find any recent information about this and maybe
the de-compilers have improved.

Assuming that it is difficult to decompile it seems that I could protect
propietary formulae or just the code in my application by putting those
parts into a .rb file and compiling it?

As far as I can see require 'foo' is equally happy to use foo.class or
foo.rb and therefore the rest of the application would not have to be
compiled?
0c1520038e7f70997042b0c9e721df76?d=identicon&s=25 James Britt (Guest)
on 2012-06-22 00:06
(Received via mailing list)
Robin McKay wrote:
> Am I right in thinking (based on a bit of Googling) that it is not easy
> to decompile a .rb file that has been compiled by jrubyc?
>
> I have not been able to find any recent information about this and maybe
> the de-compilers have improved.


Last I did this, some years ago, I found that the results were extremely
obfuscated.

I'm not a reverse engineering hacker so I can't say of there isn't some
plausible way to take the decompiled results and turn it into something
much more readable (that is, something that makes explicit the code
logic).

>
> Assuming that it is difficult to decompile it seems that I could protect
> propietary formulae or just the code in my application by putting those
> parts into a .rb file and compiling it?


>
> As far as I can see require 'foo' is equally happy to use foo.class or
> foo.rb and therefore the rest of the application would not have to be
> compiled?
>


I've run into to some issues with rawr where making a jar that held
compiled Ruby code would fail because the compiled classes were not
found by 'require'.  But I can't say for sure this isn't because of
something wonky in rawr.  (OTOH it seems to only happen with recent
versions of Java. )

But, other than that, you can mix and match .rb. and .class.

James Britt


--

Neurogami - Avant-garage Research & Development

http://www.neurogami.com

james@neurogami.com
974b3d592f78510db0227e528841ccb9?d=identicon&s=25 Robin McKay (robin2)
on 2012-06-22 09:39
James Britt wrote in post #1065588:
>
> I've run into to some issues with rawr where making a jar that held
> compiled Ruby code would fail because the compiled classes were not
> found by 'require'.  But I can't say for sure this isn't because of
> something wonky in rawr.  (OTOH it seems to only happen with recent
> versions of Java. )
>
Thanks James,
If I can mix .class and .rb files I can't see any need for the
complication of rawr.

If I just put my whole project in a .tar.gz or .zip file it seems to
transfer perfectly well to other PCs - Windows and Linux (I don't have
access to a Mac)
0c1520038e7f70997042b0c9e721df76?d=identicon&s=25 James Britt (Guest)
on 2012-06-22 19:35
(Received via mailing list)
Robin McKay wrote:

> Thanks James,
> If I can mix .class and .rb files I can't see any need for the
> complication of rawr.
>

Rawr just handy if you're looking for a self-contained executable.



James
Please log in before posting. Registration is free and takes only a minute.
Existing account

NEW: Do you have a Google/GoogleMail, Yahoo or Facebook account? No registration required!
Log in with Google account | Log in with Yahoo account | Log in with Facebook account
No account? Register here.