Intel® C++ Compiler
Community support and assistance for creating C++ code that runs on platforms based on Intel® processors.
7932 Discussions

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

www_q_
Beginner
542 Views

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
542 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
0 Kudos
Bernard
Black Belt
542 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.

0 Kudos
Bernard
Black Belt
542 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.

0 Kudos
SergeyKostrov
Valued Contributor II
542 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.
0 Kudos
Bernard
Black Belt
542 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.

0 Kudos
SergeyKostrov
Valued Contributor II
542 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.
0 Kudos
Bernard
Black Belt
542 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.

0 Kudos
SergeyKostrov
Valued Contributor II
542 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. ).
0 Kudos
Bernard
Black Belt
542 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.

0 Kudos
Bernard
Black Belt
542 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.

0 Kudos
SergeyKostrov
Valued Contributor II
542 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...
0 Kudos
Bernard
Black Belt
542 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.

0 Kudos
Reply