Community
cancel
Showing results for 
Search instead for 
Did you mean: 
www_q_
Beginner
105 Views

How good Intel compiler is against popular de-compilers like hexrays and such?

Does icc  add obfuscated codes automatically during the building process or I have to enable such functionalities through compilation options?

0 Kudos
12 Replies
Bernard
Black Belt
105 Views

If you are interested in theory please read the following article. Link: ://patft.uspto.gov/netacgi/nph-Parser?Sect1=PTO2&Sect2=HITOFF&p=1&u=%2Fnetahtml%2FPTO%2Fsearch-adv.htm&r=1&f=G&l=50&d=PALL&S1=07584354&OS=PN/07584354&RS=PN/07584354
Bernard
Black Belt
105 Views

@www.q

I have not found in ICC any options related to code obfuscation.If you have hex-rays you can perform various tests on de-compilation of compiled sources.

Bernard
Black Belt
105 Views

If you have a Hex-Rays you can also perform a set of decompilation tests on disassembled executables.Bear in mind that decompilation  due to varoius optimization can not exactly represent the initial source code.

SergeyKostrov
Valued Contributor II
105 Views

>>...Does icc add obfuscated codes automatically during the building process or I have to enable such functionalities >>through compilation options? If you verify Intel C++ compiler options you won't find any related to obfuscation of codes.
Bernard
Black Belt
105 Views

>>>If you verify Intel C++ compiler options you won't find any related to obfuscation of codes>>>

Maybe code obfuscation is used on compiled Intel software like MKL library modules.

SergeyKostrov
Valued Contributor II
105 Views

As far as I know obfuscation of codes is a .NET ( possibly applicable to Java? ) feature used on 32-bit and 64-bit .NET assemblies.
Bernard
Black Belt
105 Views

Sergey Kostrov wrote:

As far as I know obfuscation of codes is a .NET ( possibly applicable to Java? ) feature used on 32-bit and 64-bit .NET assemblies.

Yes , that is true.Regarding Intel software it could be used as a another layer of protection against the reverse engineerinng.

SergeyKostrov
Valued Contributor II
105 Views

>>... it could be used as a another layer of protection against the reverse engineerinng... Do you have icl.exe on your computer? This is a main executable for Intel C++ compiler on Windows platforms. 1. If Yes just take a look inside ( at binary codes ) and you will see that nothing is obfuscated. 2. If No, install Intel C++ compiler for Windows and look inside of icl.exe ( see 1. ).
Bernard
Black Belt
105 Views

Unfortunately now I    have not access to Intel compiler.Intel  could in theory use obfuscators to protect other parts of its software  products.For  example the exact implementation of various algorithms in MKL library could be protected in such a way against the decompilers.

Bernard
Black Belt
105 Views

>>>As far as I know obfuscation of codes is a .NET ( possibly applicable to Java? ) feature used on 32-bit and 64-bit .NET assemblies.>>>

This is performed by Dotfuscator.

SergeyKostrov
Valued Contributor II
105 Views

>>...Unfortunately now I have not access to Intel compiler... You could use free evaluation versions of Intel C++ compiler. >>...Intel could in theory use obfuscators to protect other parts of its software products... Very big companies, like Intel, won't discuss how they actually protect intellectual property. Also, everybody knows that "army" of lawyers is always on guard...
Bernard
Black Belt
105 Views

>>>You could use free evaluation versions of Intel C++ compiler>>>

Thanks.

>>>Very big companies, like Intel, won't discuss how they actually protect intellectual property. Also, everybody knows that "army" of lawyers is always on guard>>>

Completely agree with you.

Reply