加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

perl encrypt

发布时间:2020-12-16 00:32:28 所属栏目:大数据 来源:网络整理
导读:?require 5.002 ; use strict; use warnings; use vars qw($XOR $BLOCKSIZE $HEADERSIZE $CRYPT_MAGIC_1 $CRYPT_MAGIC_2 ???? $size $mode $line $Fingerprint $file $block ??? ) ; $XOR? ?= 'Perl' ; $BLOCKSIZE?????? = length $XOR ; $HEADERSIZE????? =
?require 5.002 ;

use strict;
use warnings;

use vars qw($XOR $BLOCKSIZE $HEADERSIZE $CRYPT_MAGIC_1 $CRYPT_MAGIC_2
???? $size $mode $line $Fingerprint $file $block
??? ) ;

$XOR? ?= 'Perl' ;
$BLOCKSIZE?????? = length $XOR ;
$HEADERSIZE????? = 2 ;
$CRYPT_MAGIC_1?? = 0xff ;
$CRYPT_MAGIC_2?? = 0x00 ;

$Fingerprint???? = pack ("C*",$CRYPT_MAGIC_1,$CRYPT_MAGIC_2) ;

die "Usage: encrypt file...n"
? unless @ARGV ;

# Loop throught each file in turn.
foreach $file (@ARGV)
{

??? if (! -T $file)
??? {
?print "Skipping directory $filen" if -d $file ;
?print "Skipping non-text $filen" if ! -d $file ;
?next ;
??? }

??? open (F,"<$file") or die "Cannot open $file: $!n" ;
??? open (O,">${file}.pe") or die "Cannot open ${file}.pe: $!n" ;
??? binmode O;

??? # Get the mode
??? $mode = (stat F)[2] ;

??? # Check for "#!perl" line
??? $line = <F> ;

??? if ( $line =~ /^#!/ )
????? { print O $line }
??? else
????? { seek F,0 }
???
??? print O "use Filter::decrypt ;n" ;
??? print O $Fingerprint ;


??? $block = '';
??? while ($size = read(F,$block,$BLOCKSIZE) )
??? {
??????? print O ($block ^ substr($XOR,length $block)) ;
??? }

??? close F ;
??? close O ;

??? unlink ($file)
?or die "Could not remove '$file': $!n" ;

??? rename ("${file}.pe",$file)
?or die "Could not rename $file.pe to $file: $!n" ;

??? chmod $mode,$file unless $^O eq 'MSWin32' ;

??? print "encrypted $filen" ; }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读