# A general doubt

**URL:** <https://rubytalk.org/t/a-general-doubt/48693>\
**Category:** ruby-talk\
**Created:** [28 August 2008 17:23 UTC](https://rubytalk.org/t/a-general-doubt/48693 "2008-08-28T17:23:12Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![Rock\_Roll](https://avatars.discourse-cdn.com/v4/letter/r/ce7236/32.png) [@Rock\_Roll](https://rubytalk.org/u/Rock_Roll)\
**Post date:** [28 August 2008 17:23 UTC](https://rubytalk.org/t/a-general-doubt/48693/1 "2008-08-28T17:23:12Z")

</div>

If I am developing a Windows application in Ruby using FxRuby or WxRuby,  
compile and create the executable, will i need ruby in another computer  
in order to run the standalone application? Sorry if my question is so  
silly.

> **···**
>
> --  
> Posted via [http://www.ruby-forum.com/](http://www.ruby-forum.com/).

---

<div class="post-metadata">

**Author:** ![Michael\_Morin](https://avatars.discourse-cdn.com/v4/letter/m/d78d45/32.png) [@Michael\_Morin](https://rubytalk.org/u/Michael_Morin)\
**Post date:** [28 August 2008 17:39 UTC](https://rubytalk.org/t/a-general-doubt/48693/2 "2008-08-28T17:39:56Z")

</div>

Rock Roll wrote:

> If I am developing a Windows application in Ruby using FxRuby or WxRuby,  
> compile and create the executable, will i need ruby in another computer  
> in order to run the standalone application? Sorry if my question is so  
> silly.

It's not silly, it's a genuine concern. Having users install Ruby and a handful of libraries just to run your program is a concern, especially if they're not computer savvy. Giving them a standalone exe will be much better.

I've never done this on Ruby, but I have with a few Perl programs. There were some programs like "perl to exe" that would bundle your Perl programs, any required libraries, etc with a perl interpreter into a self-extracting exe. You simply ran the exe to run the program. A quick google tells me something like this exists for Ruby:

[http://www.erikveen.dds.nl/rubyscript2exe/](http://www.erikveen.dds.nl/rubyscript2exe/)

But I'm sure someone here has done this and can give you some more specific advice.

> **···**
>
> --  
> Michael Morin  
> Guide to Ruby
> 
> > **[Ruby Programming](https://www.thoughtco.com/ruby-programming-4133469)**
> >
> > Learn the Ruby programming language with simple, step-by-step tutorials.
> 
> Become an About.com Guide: beaguide.about.com  
> About.com is part of the New York Times Company

---

<div class="post-metadata">

**Author:** ![Joost\_Diepenmaat](https://avatars.discourse-cdn.com/v4/letter/j/ea5d25/32.png) [@Joost\_Diepenmaat](https://rubytalk.org/u/Joost_Diepenmaat)\
**Post date:** [28 August 2008 23:10 UTC](https://rubytalk.org/t/a-general-doubt/48693/3 "2008-08-28T23:10:32Z")

</div>

Rock Roll \<[karoljouis@gmail.com](mailto:karoljouis@gmail.com)\> writes:

[some question regarding ruby]

1. A doubt is not the same as a question. You're probably not a native  
speaker but this common mistake is getting on my nerves lately (and  
you made it twice in the subject of some recent threads).

2. If you want more answers to your questions, please spent a little  
more time describing the question in the subject of your post. For  
this thread, something like "Do I need a ruby interpreter installed to  
run a compiled ruby program?" would be very clear.

Cheers,  
Joost.

> **···**
>
> --  
> Joost Diepenmaat | blog: [http://joost.zeekat.nl/](http://joost.zeekat.nl/) | work: [http://zeekat.nl/](http://zeekat.nl/)

---

<div class="post-metadata">

**Author:** ![Dave\_Bass](https://avatars.discourse-cdn.com/v4/letter/d/f6c823/32.png) [@Dave\_Bass](https://rubytalk.org/u/Dave_Bass)\
**Post date:** [29 August 2008 11:33 UTC](https://rubytalk.org/t/a-general-doubt/48693/4 "2008-08-29T11:33:37Z")

</div>

Rock Roll wrote:

> If I am developing a Windows application in Ruby using FxRuby or WxRuby,  
> compile and create the executable, will i need ruby in another computer  
> in order to run the standalone application? Sorry if my question is so  
> silly.

If you don't want people to see your source code, and you want your app  
to run on any Windows PC, you'll have to use a fully compiled language  
like C/C++ to produce .exe files.

Even .exe files can be reverse engineered, but it's a difficult job to  
reconstruct sensible source code from them.

Dave

> **···**
>
> --  
> Posted via [http://www.ruby-forum.com/\](http://www.ruby-forum.com/%5C).

---

<div class="post-metadata">

**Author:** ![Adam\_Shelly](https://avatars.discourse-cdn.com/v4/letter/a/e19b73/32.png) [@Adam\_Shelly](https://rubytalk.org/u/Adam_Shelly)\
**Post date:** [28 August 2008 17:53 UTC](https://rubytalk.org/t/a-general-doubt/48693/5 "2008-08-28T17:53:05Z")

</div>

I have used rubyscript2exe with FxRuby, and it works fine. (Startup  
can be a little slow, as it unpacks a bunch of stuff to a temporary  
directory, but after that it works great.)

-Adam

> **···**
>
> On 8/28/08, Michael Morin \<uzimonkey@gmail.com\> wrote:
> 
> > Rock Roll wrote:  
> > \> If I am developing a Windows application in Ruby using FxRuby or WxRuby,  
> > \> compile and create the executable, will i need ruby in another computer  
> > \> in order to run the standalone application? Sorry if my question is so  
> > \> silly.  
> > \>  
> > I've never done this on Ruby, but I have with a few Perl programs. There  
> > were some programs like "perl to exe" that would bundle your Perl programs,  
> > any required libraries, etc with a perl interpreter into a self-extracting  
> > exe. You simply ran the exe to run the program. A quick google tells me  
> > something like this exists for Ruby:
> > 
> > [http://www.erikveen.dds.nl/rubyscript2exe/](http://www.erikveen.dds.nl/rubyscript2exe/)
> > 
> > But I'm sure someone here has done this and can give you some more specific  
> > advice.

---

<div class="post-metadata">

**Author:** ![Rock\_Roll](https://avatars.discourse-cdn.com/v4/letter/r/ce7236/32.png) [@Rock\_Roll](https://rubytalk.org/u/Rock_Roll)\
**Post date:** [29 August 2008 11:41 UTC](https://rubytalk.org/t/a-general-doubt/48693/6 "2008-08-29T11:41:21Z")

</div>

Dave Bass wrote:

> Rock Roll wrote:
> 
> > If I am developing a Windows application in Ruby using FxRuby or WxRuby,  
> > compile and create the executable, will i need ruby in another computer  
> > in order to run the standalone application? Sorry if my question is so  
> > silly.
> 
> If you don't want people to see your source code, and you want your app  
> to run on any Windows PC, you'll have to use a fully compiled language  
> like C/C++ to produce .exe files.
> 
> Even .exe files can be reverse engineered, but it's a difficult job to  
> reconstruct sensible source code from them.
> 
> Dave

100% I agree with you. It is true. But my points are  
1. The hacker know about my application already and he had played with  
it in his PC.  
2. When he accesses another PC he founds that the user also uses the  
same application.  
3. Now he changes the code which is in .rb format.  
4. I believe the hacker won't think of re-engineering the compiled code  
or the .exe one for 99% of times.  
5. If it is .rb it will be easier for him to do.  
6. The java executable would be .class files which are compiled and  
harder to read by human unless re-engineered.

So is there anything available in the case for .rb files?

> **···**
>
> --  
> Posted via [http://www.ruby-forum.com/\](http://www.ruby-forum.com/%5C).

---

<div class="post-metadata">

**Author:** ![Lex\_Williams](https://avatars.discourse-cdn.com/v4/letter/l/e5b9ba/32.png) [@Lex\_Williams](https://rubytalk.org/u/Lex_Williams)\
**Post date:** [28 August 2008 18:03 UTC](https://rubytalk.org/t/a-general-doubt/48693/7 "2008-08-28T18:03:21Z")

</div>

Adam Shelly wrote:

> **···**
>
> > On 8/28/08, Michael Morin \<uzimonkey@gmail.com\> wrote:
> > 
> > > something like this exists for Ruby:
> > > 
> > > [http://www.erikveen.dds.nl/rubyscript2exe/](http://www.erikveen.dds.nl/rubyscript2exe/)
> > > 
> > > But I'm sure someone here has done this and can give you some more specific  
> > > advice.
> > 
> > I have used rubyscript2exe with FxRuby, and it works fine. (Startup  
> > can be a little slow, as it unpacks a bunch of stuff to a temporary  
> > directory, but after that it works great.)
> > 
> > -Adam
> 
> but,what if I don't want the end-user to be able to see the source code  
> of the script ?  
> --  
> Posted via [http://www.ruby-forum.com/\](http://www.ruby-forum.com/%5C).

---

<div class="post-metadata">

**Author:** ![Joost\_Diepenmaat](https://avatars.discourse-cdn.com/v4/letter/j/ea5d25/32.png) [@Joost\_Diepenmaat](https://rubytalk.org/u/Joost_Diepenmaat)\
**Post date:** [29 August 2008 11:55 UTC](https://rubytalk.org/t/a-general-doubt/48693/8 "2008-08-29T11:55:56Z")

</div>

Rock Roll \<karoljouis@gmail.com\> writes:

> Dave Bass wrote:
> 
> > Rock Roll wrote:
> > 
> > > If I am developing a Windows application in Ruby using FxRuby or WxRuby,  
> > > compile and create the executable, will i need ruby in another computer  
> > > in order to run the standalone application? Sorry if my question is so  
> > > silly.
> > 
> > If you don't want people to see your source code, and you want your app  
> > to run on any Windows PC, you'll have to use a fully compiled language  
> > like C/C++ to produce .exe files.
> > 
> > Even .exe files can be reverse engineered, but it's a difficult job to  
> > reconstruct sensible source code from them.
> > 
> > Dave
> 
> 100% I agree with you. It is true. But my points are  
> 1. The hacker know about my application already and he had played with  
> it in his PC.  
> 2. When he accesses another PC he founds that the user also uses the  
> same application.  
> 3. Now he changes the code which is in .rb format.

It's a nonsensical scenario. WHY would some intruder do this, when he  
can already do whatever he wants with the system? And if he has only  
user-level access, he won't be able to change any correctly installed  
program, no matter what language it's written in.

> 4. I believe the hacker won't think of re-engineering the compiled code  
> or the .exe one for 99% of times.  
> 5. If it is .rb it will be easier for him to do.  
> 6. The java executable would be .class files which are compiled and  
> harder to read by human unless re-engineered.

java programs are actually pretty trivial to decompile.

> So is there anything available in the case for .rb files?

file permissions.

> **···**
>
> --  
> Joost Diepenmaat | blog: [http://joost.zeekat.nl/](http://joost.zeekat.nl/) | work: [http://zeekat.nl/](http://zeekat.nl/)

---

<div class="post-metadata">

**Author:** ![Thomas\_Wieczorek](https://avatars.discourse-cdn.com/v4/letter/t/e47c2d/32.png) [@Thomas\_Wieczorek](https://rubytalk.org/u/Thomas_Wieczorek)\
**Post date:** [28 August 2008 18:24 UTC](https://rubytalk.org/t/a-general-doubt/48693/9 "2008-08-28T18:24:04Z")

</div>

You might try to obscure the code, but it will be still available in  
the Application Data folder of the user. I don't believe much in  
obfuscation.  
Another way would be to develop in JRuby and compile it. I am not sure  
if there will be class files or rb files(Anyone else?)  
I just got started with JRuby and Swing with Monkeybars[1] and Rawr.  
You can find some great screencasts on their site.

[1] [http://monkeybars.rubyforge.org/](http://monkeybars.rubyforge.org/)

> **···**
>
> On Thu, Aug 28, 2008 at 8:03 PM, Lex Williams \<etaern@yahoo.com\> wrote:
> 
> > but,what if I don't want the end-user to be able to see the source code  
> > of the script ?

---

<div class="post-metadata">

**Author:** ![Alex\_Fenton2](https://avatars.discourse-cdn.com/v4/letter/a/7ab992/32.png) [@Alex\_Fenton2](https://rubytalk.org/u/Alex_Fenton2)\
**Post date:** [28 August 2008 18:30 UTC](https://rubytalk.org/t/a-general-doubt/48693/10 "2008-08-28T18:30:18Z")

</div>

Lex Williams wrote:

> Adam Shelly wrote:
> 
> > > something like this exists for Ruby:
> > > 
> > > [http://www.erikveen.dds.nl/rubyscript2exe/](http://www.erikveen.dds.nl/rubyscript2exe/)
> > > 
> > > But I'm sure someone here has done this and can give you some more specific  
> > > advice.
> > 
> > I have used rubyscript2exe with FxRuby, and it works fine. (Startup  
> > can be a little slow, as it unpacks a bunch of stuff to a temporary  
> > directory, but after that it works great.)

Rubyscript2exe is an easy and pretty effective solution for both wxRuby and FxRuby. It's not perfect though, startup time being one of the problems as the whole package gets bigger.

For more complicated applications, you can instead package up ruby.exe, the compiled ruby runtime and all the needed .rb files (you can find this out by inspecting $LOADED\_FEATURES) and then using something like NSIS to install this minimal environment on the end user's machine.

> but,what if I don't want the end-user to be able to see the source code of the script ?

Neither rubyscript2exe nor the other method I describe provide any protection. Ruby remains an interpreted and highly dynamic language so it's difficult to find any very effective scheme to distribute without source.

Perhaps the nearest you can get at the moment with MRI is to use 1.9 and its RubyVM classes to distribute code as opcodes.

There may be more options available with JRuby, but of course FXRuby and WxRuby aren't available there; you'll need to use SWING etc for the GUI.

alex

> **···**
>
> > > On 8/28/08, Michael Morin \<uzimonkey@gmail.com\> wrote:

---

<div class="post-metadata">

**Author:** ![Michael\_Morin](https://avatars.discourse-cdn.com/v4/letter/m/d78d45/32.png) [@Michael\_Morin](https://rubytalk.org/u/Michael_Morin)\
**Post date:** [28 August 2008 18:40 UTC](https://rubytalk.org/t/a-general-doubt/48693/11 "2008-08-28T18:40:35Z")

</div>

Lex Williams wrote:

> Adam Shelly wrote:
> 
> > > something like this exists for Ruby:
> > > 
> > > [http://www.erikveen.dds.nl/rubyscript2exe/](http://www.erikveen.dds.nl/rubyscript2exe/)
> > > 
> > > But I'm sure someone here has done this and can give you some more specific  
> > > advice.
> > 
> > I have used rubyscript2exe with FxRuby, and it works fine. (Startup  
> > can be a little slow, as it unpacks a bunch of stuff to a temporary  
> > directory, but after that it works great.)
> > 
> > -Adam
> 
> but,what if I don't want the end-user to be able to see the source code of the script ?

You can't really do that, the best you can do is obfuscation. Even then, a skilled person can de-obfuscate the code or otherwise reverse engineer it. All you do is raise the bar a little bit, you don't prevent anyone from doing anything.

Strictly speaking, all software is open source. You cannot hide the source code to your application, only translate it into something less human readable. Also, in almost all cases, preventing someone from reading the code in the first place is a useless endeavor. Only where something like trade secrets and industrial espionage is a factor does hiding your source code make sense.

> **···**
>
> > > On 8/28/08, Michael Morin \<uzimonkey@gmail.com\> wrote:
> 
> --  
> Michael Morin  
> Guide to Ruby
> 
> > **[Ruby Programming](https://www.thoughtco.com/ruby-programming-4133469)**
> >
> > Learn the Ruby programming language with simple, step-by-step tutorials.
> 
> Become an About.com Guide: beaguide.about.com  
> About.com is part of the New York Times Company

---

<div class="post-metadata">

**Author:** ![Michael\_Morin](https://avatars.discourse-cdn.com/v4/letter/m/d78d45/32.png) [@Michael\_Morin](https://rubytalk.org/u/Michael_Morin)\
**Post date:** [29 August 2008 13:03 UTC](https://rubytalk.org/t/a-general-doubt/48693/12 "2008-08-29T13:03:10Z")

</div>

Joost Diepenmaat wrote:  
&nbsp;&nbsp;\> It's a nonsensical scenario. WHY would some intruder do this, when he

> can already do whatever he wants with the system? And if he has only  
> user-level access, he won't be able to change any correctly installed  
> program, no matter what language it's written in.

Even if the Ruby program could be encrypted or obfuscated, they could just modify the Ruby interpreter itself to do whatever it is they want to do. There just isn't a solution, even with compiled languages. Like I said before, even using a compiled language or obfuscation, all you've done is raise the bar a little.

> **···**
>
> --  
> Michael Morin  
> Guide to Ruby
> 
> > **[Ruby Programming](https://www.thoughtco.com/ruby-programming-4133469)**
> >
> > Learn the Ruby programming language with simple, step-by-step tutorials.
> 
> Become an About.com Guide: beaguide.about.com  
> About.com is part of the New York Times Company

---

<div class="post-metadata">

**Author:** ![Rock\_Roll](https://avatars.discourse-cdn.com/v4/letter/r/ce7236/32.png) [@Rock\_Roll](https://rubytalk.org/u/Rock_Roll)\
**Post date:** [28 August 2008 18:25 UTC](https://rubytalk.org/t/a-general-doubt/48693/13 "2008-08-28T18:25:07Z")

</div>

Lex Williams wrote:

> Adam Shelly wrote:
> 
> > > something like this exists for Ruby:
> > > 
> > > [http://www.erikveen.dds.nl/rubyscript2exe/](http://www.erikveen.dds.nl/rubyscript2exe/)
> > > 
> > > But I'm sure someone here has done this and can give you some more specific  
> > > advice.
> > 
> > I have used rubyscript2exe with FxRuby, and it works fine. (Startup  
> > can be a little slow, as it unpacks a bunch of stuff to a temporary  
> > directory, but after that it works great.)
> > 
> > -Adam
> 
> but,what if I don't want the end-user to be able to see the source code  
> of the script ?

Ya. I too have doubt in the expose of .rb files to the end user.

I installed Weft-Qda( www.pressure.to/qda/ ) which is s qualitative  
analysis software application which is built using ruby. After  
installation i saw the .rb files inside the installation directory. They  
could be easily changed by the user or if any hacker gets access to the  
user's computer..

> **···**
>
> > > On 8/28/08, Michael Morin \<uzimonkey@gmail.com\> wrote:
> 
> --  
> Posted via [http://www.ruby-forum.com/\](http://www.ruby-forum.com/%5C).

---

<div class="post-metadata">

**Author:** ![Rock\_Roll](https://avatars.discourse-cdn.com/v4/letter/r/ce7236/32.png) [@Rock\_Roll](https://rubytalk.org/u/Rock_Roll)\
**Post date:** [28 August 2008 18:47 UTC](https://rubytalk.org/t/a-general-doubt/48693/14 "2008-08-28T18:47:17Z")

</div>

Michael Morin wrote:

> You can't really do that, the best you can do is obfuscation. Even  
> then, a skilled person can de-obfuscate the code or otherwise reverse  
> engineer it. All you do is raise the bar a little bit, you don't  
> prevent anyone from doing anything.
> 
> Strictly speaking, all software is open source. You cannot hide the  
> source code to your application, only translate it into something less  
> human readable. Also, in almost all cases, preventing someone from  
> reading the code in the first place is a useless endeavor. Only where  
> something like trade secrets and industrial espionage is a factor does  
> hiding your source code make sense.

Thank you. But when a hacker who knows the internals of the software  
gets access to the software in an End user's computer, and if he changes  
the code after getting root access wont that harm the user's computer  
and when he knows that the software is damaged or causing some trouble  
wont he blame the makers

> **···**
>
> --  
> Posted via [http://www.ruby-forum.com/\](http://www.ruby-forum.com/%5C).

---

<div class="post-metadata">

**Author:** ![James\_Britt3](https://avatars.discourse-cdn.com/v4/letter/j/b782af/32.png) [@James\_Britt3](https://rubytalk.org/u/James_Britt3)\
**Post date:** [28 August 2008 20:42 UTC](https://rubytalk.org/t/a-general-doubt/48693/15 "2008-08-28T20:42:51Z")

</div>

Thomas Wieczorek wrote:

> **···**
>
> > On Thu, Aug 28, 2008 at 8:03 PM, Lex Williams \<etaern@yahoo.com\> wrote:
> > 
> > > but,what if I don't want the end-user to be able to see the source code  
> > > of the script ?
> > 
> > You might try to obscure the code, but it will be still available in  
> > the Application Data folder of the user. I don't believe much in  
> > obfuscation.  
> > Another way would be to develop in JRuby and compile it. I am not sure  
> > if there will be class files or rb files(Anyone else?)
> 
> I've a fork of rawr while I work on adding .rb-to-.class -\> jar behavior so that you can pre-compile the ruby files as .class files, all bundled into a jar.
> 
> &nbsp;&nbsp;&nbsp;&nbsp;[http://gitorious.org/projects/rawr/repos/jamesbritts-clone](http://gitorious.org/projects/rawr/repos/jamesbritts-clone)
> 
> When it's working and tested it will get rolled in rawr proper.
> 
> --  
> James Britt
> 
> [www.happycamperstudios.com](http://www.happycamperstudios.com) - Wicked Cool Coding  
> [www.jamesbritt.com](http://www.jamesbritt.com) - Playing with Better Toys  
> [www.ruby-doc.org](http://www.ruby-doc.org) - Ruby Help & Documentation  
> [www.rubystuff.com](http://www.rubystuff.com) - The Ruby Store for Ruby Stuff

---

<div class="post-metadata">

**Author:** ![Alex\_Fenton2](https://avatars.discourse-cdn.com/v4/letter/a/7ab992/32.png) [@Alex\_Fenton2](https://rubytalk.org/u/Alex_Fenton2)\
**Post date:** [28 August 2008 18:40 UTC](https://rubytalk.org/t/a-general-doubt/48693/16 "2008-08-28T18:40:16Z")

</div>

Rock Roll wrote:

> Lex Williams wrote:
> 
> > but,what if I don't want the end-user to be able to see the source code of the script ?
> 
> Ya. I too have doubt in the expose of .rb files to the end user.
> 
> I installed Weft-Qda( www.pressure.to/qda/ ) which is s qualitative analysis software application which is built using ruby. After installation i saw the .rb files inside the installation directory. They could be easily changed by the user or if any hacker gets access to the user's computer..

Weft QDA's an open-source product aimed at end-users so the fact that the source is accessible in the installation directory of the source isn't a problem.

Even with a compiled product, if the user starts tinkering with the program's files in C:/Program Files/ they might expect trouble, and if a hacker has access to their local file system, they've got more to worry about in general ...

It would be nice in some circumstances to properly obscure the ruby source, but RubyScript2Exe definitely isn't it. It solves other problems quite well though, even though for Weft QDA I've moved away from using it.

alex

---

<div class="post-metadata">

**Author:** ![Michael\_Morin](https://avatars.discourse-cdn.com/v4/letter/m/d78d45/32.png) [@Michael\_Morin](https://rubytalk.org/u/Michael_Morin)\
**Post date:** [29 August 2008 10:41 UTC](https://rubytalk.org/t/a-general-doubt/48693/17 "2008-08-29T10:41:51Z")

</div>

Rock Roll wrote:

> Michael Morin wrote:
> 
> > You can't really do that, the best you can do is obfuscation. Even  
> > then, a skilled person can de-obfuscate the code or otherwise reverse  
> > engineer it. All you do is raise the bar a little bit, you don't  
> > prevent anyone from doing anything.
> > 
> > Strictly speaking, all software is open source. You cannot hide the  
> > source code to your application, only translate it into something less  
> > human readable. Also, in almost all cases, preventing someone from  
> > reading the code in the first place is a useless endeavor. Only where  
> > something like trade secrets and industrial espionage is a factor does  
> > hiding your source code make sense.
> 
> Thank you. But when a hacker who knows the internals of the software gets access to the software in an End user's computer, and if he changes the code after getting root access wont that harm the user's computer and when he knows that the software is damaged or causing some trouble wont he blame the makers

If a "hacker" has write access to your end user's files (including the program you gave them), they can change it however they want. There's nothing you can do there. There are some methods involving cryptographically signed binaries and such, but there are always way around it.

Like I said before, there isn't much you can do about things like this. This is also not a problem unique to Ruby, all computer code suffers from this "problem."

> **···**
>
> --  
> Michael Morin  
> Guide to Ruby
> 
> > **[Ruby Programming](https://www.thoughtco.com/ruby-programming-4133469)**
> >
> > Learn the Ruby programming language with simple, step-by-step tutorials.
> 
> Become an About.com Guide: beaguide.about.com  
> About.com is part of the New York Times Company

---

<div class="post-metadata">

**Author:** ![Joost\_Diepenmaat](https://avatars.discourse-cdn.com/v4/letter/j/ea5d25/32.png) [@Joost\_Diepenmaat](https://rubytalk.org/u/Joost_Diepenmaat)\
**Post date:** [29 August 2008 11:00 UTC](https://rubytalk.org/t/a-general-doubt/48693/18 "2008-08-29T11:00:48Z")

</div>

Rock Roll \<karoljouis@gmail.com\> writes:

> Thank you. But when a hacker who knows the internals of the software  
> gets access to the software in an End user's computer, and if he changes  
> the code after getting root access wont that harm the user's computer  
> and when he knows that the software is damaged or causing some trouble  
> wont he blame the makers

Are you seriously suggesting that generic application software should  
be able to withstand someone with root (and probably physical) access  
to the machine it's running on for the purposes of keeping the  
original author free from user complaints?

> **···**
>
> --  
> Joost Diepenmaat | blog: [http://joost.zeekat.nl/](http://joost.zeekat.nl/) | work: [http://zeekat.nl/](http://zeekat.nl/)

---

<div class="post-metadata">

**Author:** ![Rock\_Roll](https://avatars.discourse-cdn.com/v4/letter/r/ce7236/32.png) [@Rock\_Roll](https://rubytalk.org/u/Rock_Roll)\
**Post date:** [29 August 2008 11:16 UTC](https://rubytalk.org/t/a-general-doubt/48693/19 "2008-08-29T11:16:05Z")

</div>

> Joost Diepenmaat wrote:
> 
> Are you seriously suggesting that generic application software should  
> be able to withstand someone with root (and probably physical) access  
> to the machine it's running on for the purposes of keeping the  
> original author free from user complaints?

Thank you for your reply. What i am telling is if if a hacker accesses  
and changes some function in the code which is exposed in the  
distributed application and not in the source code which is open.  
Complaints may be in the form of bugs. In this case the user will  
complain for some other reason. Pardon me if i am wrong in sense

> **···**
>
> --  
> Posted via [http://www.ruby-forum.com/\](http://www.ruby-forum.com/%5C).

---

<div class="post-metadata">

**Author:** ![Randy\_Kramer](https://avatars.discourse-cdn.com/v4/letter/r/dbc845/32.png) [@Randy\_Kramer](https://rubytalk.org/u/Randy_Kramer)\
**Post date:** [29 August 2008 12:02 UTC](https://rubytalk.org/t/a-general-doubt/48693/20 "2008-08-29T12:02:52Z")

</div>

Another approach to the problem is to strictly separate code from data (and  
store all variables and the like separate from the code), then put the code  
into ROM or similar.

Randy Kramer

> **···**
>
> On Friday 29 August 2008 06:41 am, Michael Morin wrote:
> 
> > If a "hacker" has write access to your end user's files (including the  
> > program you gave them), they can change it however they want. There's  
> > nothing you can do there. There are some methods involving  
> > cryptographically signed binaries and such, but there are always way  
> > around it.
> 
> --  
> "I didn't have time to write a short letter, so I created a video  
> instead."--with apologies to Cicero, et.al.

[Next page](https://rubytalk.org/t/a-general-doubt/48693.md?page=2)
