<p>Am 04.12.2015 09:29 schrieb "Richard Mace" <<a href="mailto:richard.mace@gmail.com">richard.mace@gmail.com</a>>:<br>
><br>
> Hi All,<br>
> I was wondering if there was a way where an application, written in Lazarus, could detect when a compiler is running, perhaps by it's mutex?<br>
> My idea was, in my application, I could periodically check to see if a decompiler was running and then my app could perform an operation, such as maybe closing.</p>
<p>You can't do anything actively against a decompiler (please don't confuse this with "compiler"...) or dissasembler as these are running while your application is not. You'd need to use code obfuscation for that - especially on the assembly level - so that neither a human nor an algorithm can easily reconstruct the code's meaning.<br>
What you cam do at runtime though is to protect against debuggers.<br>
Since this isn't specific to Lazarus/Free Pascal I'd suggest you to look also in context of C/C++ programs.</p>
<p>Do you want to protect your whole application or only a specific part? (e.g. a specific algorithm you don't want to disclose or the license validation code)</p>
<p>Regards,<br>
Sven</p>