Link to home
Start Free TrialLog in
Avatar of http29
http29

asked on

Can someone take linux C++ binary to break into individual objects or components?

Hi Guru:

Can someone take linux C++'s binary file and break into individual objects or components with same object name or different object name?

I am asking the questions since one company ask us to give them binary file. If they can break the binary into objects, it is easy for them to reverse engineer our code since. Please let me know if you already have the answers. Thanks.
ASKER CERTIFIED SOLUTION
Avatar of Karl Heinz Kremer
Karl Heinz Kremer
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of http29
http29

ASKER

You mean that to reverse engineer those objects are same as to reverse engineer binary file? If this is the case, I should be fine to deliver indivisual objects instead of binary file (in worst case, they might ask for these), right? Thanks.
The only difference is that the individual object files are smaller.

I don't know about your product, but I doubt that your customer needs the object files. They probably want to run the software, which means that all they need are the executables.
Hi http29,

Keep in mind: Binaries have been distributed for ages. Yes, people could split them into little .o chunks. This probably requires even quite limited effort thanks to ELF :-)

But no, the resulting little chunks (one .o for every global symbol *shudder*) are not of much use in terms of reverse-engineering.

Cheers,
Stefan
BTW: If you want to be on the safe side, you need a tool like "shroud" for C++. This will create an unreadable copy of your sources, renaming everthing to meaningless names (like a5235). Then you can even deliver your source code :-)))

Such a tool should be commercially available.
Avatar of http29

ASKER

Thanks all of the replys. Since our product doesn't run on their platform, they think lib problems and ask for objects (most possible) so that they can relink and recompile (I don't know how). This is why we have so many concerns.