On Saturday 15 September 2007, Rui Miguel Silva Seabra wrote: > On Fri, Sep 14, 2007 at 03:25:38PM -0700, J.C. Roberts wrote: > > > I'd love to see how an user who gets a modified binary version > > > has the freedom to modify it. Go ahead. Prove me that it doesn't > > > allow some users to loose freedom... > > > > Hello again Rui, > > > > the US. Over here, if you own a copy of a program, you can modify > > it as much as you want > > Good luck doing so without any source code. > > > Of course, you are free to have strong feelings about whatever you > > like, and hold opinions based on flawed understanding, but as long > > as you insist on remaining uneducated about the laws, you are > > failing yourself and failing your supposed "duty" to make things > > clear. Please stop. > > You seem uneducated about how powerless someone is without the > freedom to change a program because he has no access to the source > code. > > You stop. > > Rui
Actually Rui, what we have here is a perspective gap. You think of things as a typical day-job programmer where your whole world is source code. I think of things as a reverse engineer where everything (source, executables, hardware) can be inspected, understood and controlled exactly as I see fit. If you had done the least bit of homework about the person you were chatting with, you would have realized I am far more educated in the field of reverse engineering than most people you might meet. Unlike most people, I actually do know what can and cannot be done without source code. In fact, my license for the newest and most cutting edge tool in the field arrived in my inbox this morning; it's called the "Hex-Rays Decompiler" and it's a brand new plugin for the IDA Pro Disassembler. As it's name implies, it can build a high level source code representation from nothing more than a binary. I've been involved with reverse engineering on a professional level for over a decade, and more than twice that as a hobbyist. For *me* bending a binary to my will is not magic, and certainly isn't a big deal. But like all code, it does take time and effort. Also, the result of modification of a binary can be more fragile than working with source simply because there are more ways to get it wrong. But again like all code, if you take the time to do it right, there is no problem. Modifying a binary is certainly not magic and is certainly not difficult. Uneducated, snot nosed kids regularly "reverse engineer" shareware and successfully disable copyright protection schemes. Search the web for the term "crack" and you'll see what I mean. Also you should realize the skill set of most of these software protection crackers is pathetic at best. When you get into real reverse engineering, such as reimplementation (or recovery), documentation, augmentation, integration, auditing, analysis, modeling and similar, the skill level required is exponentially increased but it's still not magic and it's still perfectly doable. Though over the years I've managed to learn (and forget) the instruction sets and architectures of more systems than most people can name, I'm by no means special. In fact when it comes to useful talent, I'm on the lower rung of the ladder in comparison to many of the people on this list. If you ask any of the openbsd developers on this list if they thought I was a godly coder of some sort, they would all laugh hysterically at such an absurd suggestion. And so would I. Whether you wish to accept it or not, each of us are only as powerless to change binary programs as we want to be. If you or anyone decides to be powerless, I don't hold it against you mainly because I actually know the pain, agony and near obsessive-compulsive level of dedication it takes to be anything other than powerless. As ironic as it may seem, with today being the long anticipated release of the very first working decompiler, the world of open source drivers is going to get very interesting in the near future. In a few hours, possibly days, after I've installed, read the docs and got a feel for this thing, I could easily build a source code representation from the vendor released Atheros binary windows drivers. Yep, all of the vendor secret sauce and all of the vendor work-arounds for silicon bugs will be sitting right in front of me to read... Rui, you're a bright guy and you've made an admirable attempt to posit your views as well as support them with your reasoning but it's really time to stop. I hope we can agree to disagree on a few things and still go have a beer as friends one of these days. kind regards, jcr