Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot
 
PerlMonks  

Re^9: Here is a commercial obfuscator

by diotalevi (Canon)
on Mar 22, 2003 at 13:03 UTC ( [id://245130]=note: print w/replies, xml ) Need Help??


in reply to Re: Re^7: Here is a commercial obfuscator
in thread Here is a commercial obfuscator

That's easy! A few weeks prior I wanted something similar so all my variable names and such were replaced with flower names. My thought was to post it under Cool Uses for Perl or such and say that it produced "fragrant" code or something silly. Added That's most of the functionality of B::D right there.

[Added Oh and yes, the whole point to B::Deobfuscate is to make obfuscated source code easier to read than B::Deparse normally affords. But there's no question regarding the legality of that. Anyhow, take a gander at a problem I had with an obfuscated JavaScript program over here. I tend to view obfuscated source as an impediment to business but that's not even related to my original though for B::D. My thought here was that the various claims to invunerability were really annoying so I decided to prove them wrong. I can't say I've ever had a need to deobfuscate perl source so its not as if the module was coded with the explicit purpose of violating a contract or anything (not that I have any contracts to violate here anyway).

So it just boils down to one person's annoyance one morning with some silly claims.]

Replies are listed 'Best First'.
Re^10: Here is a commercial obfuscator
by adrianh (Chancellor) on Mar 22, 2003 at 15:08 UTC
    That's easy! A few weeks prior I wanted something similar so all my variable names and such were replaced with flower names. My thought was to post it under Cool Uses for Perl or such and say that it produced "fragrant" code or something silly. Added That's most of the functionality of B::D right there.

    Some of the non-obfu code I've had to maintain in the past would have probably been improved by passing it through B::D! It amazes me how bad some production perl code can be.

    If you want some suggestions for improvements :-)

    You make a stab at adding the appropriate suffixes to the variables (_hashref, _arrayref, _scalarref, etc.). You should be able to get some idea by looking at the way they're dereferenced.

    You could also take a look at how variables are used in functions and give them more useful names, e.g. translate close $x173ed to close $fh_2.

    Give longer variable names to variables with larger scope.

    ucfirst any variable name with package scope.

    uc anything created with use constant.

    uc any FILEHANDLES

A reply falls below the community's threshold of quality. You may see it by logging in.
A reply falls below the community's threshold of quality. You may see it by logging in.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others avoiding work at the Monastery: (2)
As of 2024-04-19 21:31 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found