How can a software be “Closed source” if I am downlaoding the files on my device?

492 views

Can’t I just read the files to see the code?

In: 3

14 Answers

Anonymous 0 Comments

The executable is compiled – which turns it into instructions for the computer. During compilation the *intent* of every piece of code is lost. This means that for even very simple pieces of code it becomes very difficult to understand what the code wanted to achieve. Machine code can do things like jump anywhere in the instructions and works in terms of memory locations (which may change!) instead of variables, so any sort of high level abstractions that are useful for people like functions, classes, comments and so on are completely lost.

Program intent:

Drive to the shops
Buy milk

High level language:

Drive forward 200m
Turn left
Drive forward 100m
Stop
e.t.c…..

With a few comments, sensibly named functions and variables – it would be super easy to work out what this program was trying to achieve.

Compiled code:

Read memory location 3472
Copy to register 1
Read memory location 3619
Copy to register 2
Add register 1 and 2
Copy result to memory location 4372
*a few thousand more steps*……

It’s a mammoth effort to untangle these basically meaningless steps. Even if you do, this isn’t a one piece of machine code decompiles to a unique piece of code situation – machine code can decompile to many possible pieces of code which functionally may be the same, but are very unlikely to be equally easy to understand.

You are viewing 1 out of 14 answers, click here to view all answers.