How to figure out if a certain technology/library is used in development of a proprietary application [closed]

softwareengineering.stackexchange https://softwareengineering.stackexchange.com/questions/402293

Question

Not sure if the question is relevant here, but basically it is expressed on the title.

I'm curious to know if a certain library/technology is used in a proprietary software. How can I satisfy my curiosity?

Was it helpful?

Solution

In theory, you cannot deduce the source of a compiled program because clues such as variable names, comments etc. are removed in the process of compilation.

In practice, people use code libraries to reduce development effort, which almost always means that they don't go to the trouble of purposefully removing all the direct and indirect evidence of having used a particular module, library, technology etc. etc. In fact, you can usually grep through the binaries of a compiled application and find all sorts of string literals, class structures, copyright strings, and even variable and class names (e.g. for linkers and debuggers) that prove with almost overwhelming certainty which versions of which libraries were used for the project. Even if you couldn't, the structures in machine code that a particular library produces are characteristic enough that you can do the same thing entirely without finding any human-readable strings, if you know what to look for.

Licensed under: CC-BY-SA with attribution
scroll top