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

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?

13 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.
iliyapolak's picture

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

iliyapolak's picture

@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.

iliyapolak's picture

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.

>>...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.

iliyapolak's picture

>>>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.

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.

iliyapolak's picture

Quote:

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.

>>... 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. ).

iliyapolak's picture

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.

iliyapolak's picture

>>>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.

>>...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...

iliyapolak's picture

>>>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.

Login to leave a comment.