B-Deobfuscate

 view release on metacpan or  search on metacpan

lib/B/Deobfuscate.pm  view on Meta::CPAN

                        local $/ = "__DATA__\n";
                        seek *{ $laststash . "::DATA" }, 0, 0;
                        readline *{ $laststash . "::DATA" };
                    }
                }

                $source .= "__DATA__\n";
                $source .= join '', readline *{ $laststash . "::DATA" };
            }
        }

        my $p    = $self->{ +__PACKAGE__ };
        my %dump = (
            lexicals     => $p->{pad_symbols},
            globals      => $p->{gv_symbols},
            dictionary   => $p->{unknown_dict_file},
            global_regex => $p->{gv_match}
        );

        if ( $p->{output_yaml} ) {
            $p->{output_fh}->print( Dump( \%dump, $source ) );
        }
        else {
            $p->{output_fh}->print($source);
        }

        return;
    };
}

sub padname {
    my $self    = shift @_;
    my $padname = $self->SUPER::padname(@_);

    return $self->rename_pad($padname);
}

sub gv_name {
    my $self    = shift @_;
    my $gv_name = $self->SUPER::gv_name(@_);

    return $self->rename_gv($gv_name);
}

# BEGIN {
#     ## no critic
#     no strict 'refs';
#     for my $sub ( grep defined &$_, keys %B::Deobfuscate:: ) {
#         my $orig = \&$sub;
#         *$sub = sub {
#             print "$sub\n";
#             &$orig;
#         };
#     }
# }

1;

## Local Variables:
## perl-lint-bin: "/home/josh/bin/perl/5.9.4/bin/perl5.9.4"
## eval: (setenv "/home/josh/src/B-Deobfuscate/lib" "PERL5LIB")
## End:



( run in 1.813 second using v1.01-cache-2.11-cpan-cdf2f3d4e48 )