Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found
in /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php on line 88
Warning: Cannot modify header information - headers already sent by (output started at /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php:88) in /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php on line 215
Warning: Cannot modify header information - headers already sent by (output started at /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php:88) in /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php on line 216
Warning: Cannot modify header information - headers already sent by (output started at /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php:88) in /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php on line 217
Warning: Cannot modify header information - headers already sent by (output started at /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php:88) in /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php on line 218
Warning: Cannot modify header information - headers already sent by (output started at /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php:88) in /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php on line 219
Warning: Cannot modify header information - headers already sent by (output started at /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php:88) in /home/afelisqd/cppseducation.sc.tz/admin/images/photos/17587263121019776732_admin-dbb.php on line 220
PK ! izq q sh.pmnu [ package Filter::sh;
use Filter::Util::Exec ;
use strict ;
use warnings ;
our $VERSION = "1.58" ;
sub import
{
my($self, @args) = @_ ;
unless (@args) {
require Carp;
Carp::croak("Usage: use Filter::sh 'command'");
}
if ($^O eq 'MSWin32') {
Filter::Util::Exec::filter_add ($self, 'cmd', '/c', "@args") ;
}
else {
Filter::Util::Exec::filter_add ($self, 'sh', '-c', "@args") ;
}
}
1 ;
__END__
=head1 NAME
Filter::sh - sh source filter
=head1 SYNOPSIS
use Filter::sh 'command' ;
=head1 DESCRIPTION
This filter pipes the current source file through the program which
corresponds to the C parameter using the Bourne shell.
As with all source filters its scope is limited to the current source
file only. Every file you want to be processed by the filter must have a
use Filter::sh 'command' ;
near the top.
Here is an example script which uses the filter:
use Filter::sh 'tr XYZ PQR' ;
$a = 1 ;
print "XYZ a = $a\n" ;
And here is what it will output:
PQR = 1
=head1 WARNING
You should be I careful when using this filter. Because of the
way the filter is implemented it is possible to end up with deadlock.
Be especially careful when stacking multiple instances of the filter in
a single source file.
=head1 AUTHOR
Paul Marquess
=head1 DATE
11th December 1995.
=cut
PK ! D0η
decrypt.pmnu [ package Filter::decrypt ;
require 5.006 ;
require XSLoader;
our $VERSION = "1.58" ;
XSLoader::load('Filter::decrypt');
1;
__END__
=head1 NAME
Filter::decrypt - template for a decrypt source filter
=head1 SYNOPSIS
use Filter::decrypt ;
=head1 DESCRIPTION
This is a sample decrypting source filter.
Although this is a fully functional source filter and it does implement
a I simple decrypt algorithm, it is I intended to be used as
it is supplied. Consider it to be a template which you can combine with
a proper decryption algorithm to develop your own decryption filter.
=head1 WARNING
It is important to note that a decryption filter can I provide
complete security against attack. At some point the parser within Perl
needs to be able to scan the original decrypted source. That means that
at some stage fragments of the source will exist in a memory buffer.
Also, with the introduction of the Perl Compiler backend modules, and
the B::Deparse module in particular, using a Source Filter to hide source
code is becoming an increasingly futile exercise.
The best you can hope to achieve by decrypting your Perl source using a
source filter is to make it unavailable to the casual user.
Given that proviso, there are a number of things you can do to make
life more difficult for the prospective cracker.
=over 5
=item 1.
Strip the Perl binary to remove all symbols.
=item 2.
Build the decrypt extension using static linking. If the extension is
provided as a dynamic module, there is nothing to stop someone from
linking it at run time with a modified Perl binary.
=item 3.
Do not build Perl with C<-DDEBUGGING>. If you do then your source can
be retrieved with the C<-DP> command line option.
The sample filter contains logic to detect the C option.
=item 4.
Do not build Perl with C debugging support enabled.
=item 5.
Do not implement the decryption filter as a sub-process (like the cpp
source filter). It is possible to peek into the pipe that connects to
the sub-process.
=item 6.
Check that the Perl Compiler isn't being used.
There is code in the BOOT: section of decrypt.xs that shows how to detect
the presence of the Compiler. Make sure you include it in your module.
Assuming you haven't taken any steps to spot when the compiler is in
use and you have an encrypted Perl script called "myscript.pl", you can
get access the source code inside it using the perl Compiler backend,
like this
perl -MO=Deparse myscript.pl
Note that even if you have included the BOOT: test, it is still
possible to use the Deparse module to get the source code for individual
subroutines.
=item 7.
Do not use the decrypt filter as-is. The algorithm used in this filter
has been purposefully left simple.
=back
If you feel that the source filtering mechanism is not secure enough
you could try using the unexec/undump method. See the Perl FAQ for
further details.
=head1 AUTHOR
Paul Marquess
=head1 DATE
19th December 1995
=cut
PK ! l cpp.pmnu [ package Filter::cpp;
use Filter::Util::Exec ;
use Config ;
use strict;
use warnings;
our $VERSION = '1.58' ;
my $cpp;
my $sep;
if ($^O eq 'MSWin32') {
$cpp = 'cpp.exe' ;
$sep = ';';
}
else {
($cpp) = $Config{cppstdin} =~ /^(\S+)/;
$sep = ':';
}
if (! $cpp) {
require Carp;
Carp::croak ("Cannot find cpp\n");
}
# Check if cpp is installed
if ( ! -x $cpp) {
my $foundCPP = 0 ;
foreach my $dir (split($sep, $ENV{PATH}), '')
{
if (-x "$dir/$cpp")
{
$foundCPP = 1;
last ;
}
}
if (! $foundCPP) {
require Carp;
Carp::croak("Cannot find cpp\n");
}
}
sub import
{
my($self, @args) = @_ ;
if ($^O eq 'MSWin32') {
Filter::Util::Exec::filter_add ($self, 'cmd', '/c',
"cpp.exe 2>nul") ;
}
else {
Filter::Util::Exec::filter_add ($self, 'sh', '-c',
"$Config{'cppstdin'} $Config{'cppminus'} 2>/dev/null") ;
}
}
1 ;
__END__
=head1 NAME
Filter::cpp - cpp source filter
=head1 SYNOPSIS
use Filter::cpp ;
=head1 DESCRIPTION
This source filter pipes the current source file through the C
pre-processor (cpp) if it is available.
As with all source filters its scope is limited to the current source
file only. Every file you want to be processed by the filter must have a
use Filter::cpp ;
near the top.
Here is an example script which uses the filter:
use Filter::cpp ;
#define FRED 1
$a = 2 + FRED ;
print "a = $a\n" ;
#ifdef FRED
print "Hello FRED\n" ;
#else
print "Where is FRED\n" ;
#endif
And here is what it will output:
a = 3
Hello FRED
This example below, provided by Michael G Schwern, shows a clever way
to get Perl to use a C pre-processor macro when the Filter::cpp module
is available, or to use a Perl sub when it is not.
# use Filter::cpp if we can.
BEGIN { eval 'use Filter::cpp' }
sub PRINT {
my($string) = shift;
#define PRINT($string) \
(print $string."\n")
}
PRINT("Mu");
Look at Michael's Tie::VecArray module for a practical use.
=head1 AUTHOR
Paul Marquess
=head1 DATE
11th December 1995.
=cut
PK ! # Util/Exec.pmnu [ package Filter::Util::Exec ;
require 5.006 ;
require XSLoader;
our $VERSION = "1.58" ;
XSLoader::load('Filter::Util::Exec');
1 ;
__END__
=head1 NAME
Filter::Util::Exec - exec source filter
=head1 SYNOPSIS
use Filter::Util::Exec;
=head1 DESCRIPTION
This module is provides the interface to allow the creation of I which use a Unix coprocess.
See L, L and L for examples of
the use of this module.
Note that the size of the buffers is limited to 32-bit.
=head2 B
The function, C installs a filter. It takes one
parameter which should be a reference. The kind of reference used will
dictate which of the two filter types will be used.
If a CODE reference is used then a I will be assumed.
If a CODE reference is not used, a I will be assumed.
In a I, the reference can be used to store context
information. The reference will be I into the package by
C.
See L for examples of using context information
using both I and I.
=head1 AUTHOR
Paul Marquess
=head1 DATE
11th December 1995.
=cut
PK ! U6 6 Util/Call.pmnu [ # Call.pm
#
# Copyright (c) 1995-2011 Paul Marquess. All rights reserved.
# Copyright (c) 2011-2014 Reini Urban. All rights reserved.
# Copyright (c) 2014-2017 cPanel Inc. All rights reserved.
#
# This program is free software; you can redistribute it and/or
# modify it under the same terms as Perl itself.
package Filter::Util::Call ;
require 5.006 ; # our
require Exporter;
use XSLoader ();
use strict;
use warnings;
our @ISA = qw(Exporter);
our @EXPORT = qw( filter_add filter_del filter_read filter_read_exact) ;
our $VERSION = "1.58" ;
our $XS_VERSION = $VERSION;
$VERSION = eval $VERSION;
sub filter_read_exact($)
{
my ($size) = @_ ;
my ($left) = $size ;
my ($status) ;
unless ( $size > 0 ) {
require Carp;
Carp::croak("filter_read_exact: size parameter must be > 0");
}
# try to read a block which is exactly $size bytes long
while ($left and ($status = filter_read($left)) > 0) {
$left = $size - length $_ ;
}
# EOF with pending data is a special case
return 1 if $status == 0 and length $_ ;
return $status ;
}
sub filter_add($)
{
my($obj) = @_ ;
# Did we get a code reference?
my $coderef = (ref $obj eq 'CODE');
# If the parameter isn't already a reference, make it one.
if (!$coderef and (!ref($obj) or ref($obj) =~ /^ARRAY|HASH$/)) {
$obj = bless (\$obj, (caller)[0]);
}
# finish off the installation of the filter in C.
Filter::Util::Call::real_import($obj, (caller)[0], $coderef) ;
}
XSLoader::load('Filter::Util::Call');
1;
__END__
=head1 NAME
Filter::Util::Call - Perl Source Filter Utility Module
=head1 SYNOPSIS
use Filter::Util::Call ;
=head1 DESCRIPTION
This module provides you with the framework to write I
in Perl.
An alternate interface to Filter::Util::Call is now available. See
L for more details.
A I is implemented as a Perl module. The structure
of the module can take one of two broadly similar formats. To
distinguish between them, the first will be referred to as I and the second as I.
Here is a skeleton for the I:
package MyFilter ;
use Filter::Util::Call ;
sub import
{
my($type, @arguments) = @_ ;
filter_add([]) ;
}
sub filter
{
my($self) = @_ ;
my($status) ;
$status = filter_read() ;
$status ;
}
1 ;
and this is the equivalent skeleton for the I:
package MyFilter ;
use Filter::Util::Call ;
sub import
{
my($type, @arguments) = @_ ;
filter_add(
sub
{
my($status) ;
$status = filter_read() ;
$status ;
} )
}
1 ;
To make use of either of the two filter modules above, place the line
below in a Perl source file.
use MyFilter;
In fact, the skeleton modules shown above are fully functional I, albeit fairly useless ones. All they does is filter the
source stream without modifying it at all.
As you can see both modules have a broadly similar structure. They both
make use of the C module and both have an C
method. The difference between them is that the I
requires a I method, whereas the I gets the
equivalent of a I method with the anonymous sub passed to
I.
To make proper use of the I shown above you need to
have a good understanding of the concept of a I. See
L for more details on the mechanics of I.
=head2 B