Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

This thread is a great example of why I think open-source is a distracter for true freedom: it emphasises the notion that source is somehow necessary to understand and modify software, when the truth is far from it.

Legal or not, you can always take a disassembler to a binary and find out the truth, just like you can do the same to other devices and understand their workings much like what the "true scientists" do[1]. Crackers and the security industry have been doing that for decades. PC magazines of the 80s and early 90s even told you how to patch your own software --- without source --- to accomplish certain things like fixing bugs or changing "annoyances".

I often wonder what the state of software would be like if Stallman emphasised the right to inspect and modify regardless of source code availability; perhaps there would be far less open-source projects, but people would have a much more intimate familiarity with how computers work in general.

If I can modify the binary, I don't need the source. Especially for large projects, where trying to figure out how to compile the exact same binary I already have and know works, along with its massive tree of dependencies, can be even more difficult compared to just opening it in a hex editor and patching a few bytes.

[1] It seems computer scientists mainly focus on construction unlike physicists, biologists, and chemists who focus on analysis first.



I would really like to see a "Right to Repair" for software.


You raise a valid point.

I still think open source is an important effort, editing/reading source code will always be more efficient then reverse engineering and modifying the binary.

That being said, I agree with much of what you say, and I am working on learning re/binary patching. Are there any good resources you could recommend?


Get a manual for your processors assembly and a description of the way binaries are organized for your operating system (Headers, sections). Try to build a minimal binary with c, analyze it, try to modify it. Find out what the appropriate tools are for your operating system.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: