Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

Re: Debugging Question

by almut (Canon)
on Feb 14, 2009 at 11:05 UTC ( #743797=note: print w/ replies, xml ) Need Help??


in reply to Debugging Question

In short, you can't. The only thing you can do is to attempt to detect the presence of the debugger (and any modules of the B:: namespace) and terminate your script if found. This is not as trivial as it might seem. Additionally, you'd need to at least obfuscate things sufficiently, so that people will give up before they succeed (for example because it's just not worth it)...

The only way to make it reasonably difficult for people to work around your mechanisms is to distribute a modified perl binary, statically linked with the decrypting source filter module (written is XS). With anything else it's trivial to get at your decrypted Perl source and simply disable the debugger detection. (But even with a modified perl binary, it's only a matter of how much time someone is willing to invest to crack your 'protection'...)

Generally - as you can infer from the Anonymous Monk's reaction - trying to hide your source is widely frowned upon in the community, so you probably won't get a lot of help here...


Comment on Re: Debugging Question

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://743797]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (9)
As of 2014-12-27 06:22 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (176 votes), past polls