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

This node falls below the community's minimum standard of quality and will not be displayed.
  • Comment on Re: Re^7: Here is a commercial obfuscator

Replies are listed 'Best First'.
Re^9: Here is a commercial obfuscator
by diotalevi (Canon) on Mar 22, 2003 at 13:03 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.

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

      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.
Re^9: Here is a commercial obfuscator
by adrianh (Chancellor) on Mar 22, 2003 at 14:42 UTC
    Could you explain then why B::DeObfuscate is usefull for *non-obfuscated* code? Obviously there is no use in running it over non-obfuscated code. So the sole purpose of it is making studying obfuscated code simpler.

    I never said is was useful for non-obfu code. I said:

    It's a generic deobfuscator, not specific to Perl-Obfus.

    Making obfuscated code easier to understand is not illegal, unless it contradicts the licence agreement you have the code under.

    Writing code to de-obfuscate code is not illegal full stop.

    A reply falls below the community's threshold of quality. You may see it by logging in.
Re: Re: Re^7: Here is a commercial obfuscator
by herveus (Prior) on Mar 24, 2003 at 12:23 UTC
    Howdy!

    Could you explain then why B::DeObfuscate is usefull for *non-obfuscated* code?

    Why should he? adrianh never claimed that -- merely that it would work on any Perl code.

    yours,
    Michael