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

Frage

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?

War es hilfreich?

Lösung

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
scroll top