2.0 中实现文件上载

2018-09-06 11:47

阅读:500

  最近 重新巩固 perl 翻出以前初学的代码 改了一下 配套 让win 的cmd 使用 linux 的方法 给cmd 的使用 加上 口令验证 呵呵
下面的这个是 设置在运行cmd.exe 的时候 自动执行 linux.bat 的 方法:
打开注册表编辑器,
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftCommand Processor]
将AutoRun=linux.bat

  接着就是 linux.bat的内容了
@echo off
@titel 需要口令的cmd.exe
@color c
@prompt [fire@火焰linux $p]
@doskey pwd=cd $*
@doskey mkdir=md $*
@doskey rmdir=rd $*
@doskey mv=move $*
@doskey clear=cls
@doskey uname=ver
@doskey cp=copy
@D:perlinperl D:perlhello1.pl
rem 上面的 是 执行 我编辑的 perl的 代码的 命令行 个人的路径有所不同 请根据自己的情况而定
@D:perl1.vbs
rem 这个是 一个 vbs 脚本 执行一个弹出窗口的

  @cls
@echo 欢迎来到火焰系统
然后就是 要安装的 一个工具 就是 上面 要运行的 perl 代码的工具 ActivePerl
这个程序 是用来 运行 perl 代码的

  
好 现在来 写perl代码
首先编辑 hello1.pl
内容为:
#!/user/bin/perl -w
use Term::ReadKey;
use Digest::MD5 qw( md5_base64 );#制定一个函数
$pass1=’AV8oud8b3TZCfdl2+3OynQ’;#加密的代码
#print ’请输入你的名字:’;
#$a=<STDIN>;#截取输入的内容 和shell下的 read类似
#chomp $a;#赋值给a
ReadMode( ’noecho’ );# 关闭回显
print 请输入pass(如果输入错误就会自动关闭cmd): ;
$password = ReadLine(0);
chomp $password;
print ;
print 你的 password 长度为: [ . length( $password ) . ] ;
ReadMode( ’restore’ );
$pass=md5_base64($password);#用上面制定的函数对pass的值运算出加密代码
if ($pass eq $pass1){
print 口令正确 ;

  #print ***************************************;
sleep 1;#延时时间 可以自己决定 不延时的话就直接注释掉
#验证是否正确并且延时并且清除输入
} else {
print 口令错误;
sleep 0;
exec ’taskkill’,’/F’,’/IM’,’cmd.exe’;#,’/IM’,’WScript.exe’;#如果错误就调用系统的 命令杀掉cmd.exe进程
}
exit;

  然后编辑 一个 得到 上面加密密码字符串的 工具
pass.pl 运行这个脚本 只要进入perl 执行工具的目录中 (也可以在环境变量中加上目录 那就不需要加目录运行了)
perl pass.pl 就会让你输入口令 然后产生字符串 把字符串 粘贴 替换掉 #加密后的字符串 的那一行中的内容就行了

  pass.pl 内容如下:
#!/usr/bin/perl -w
use Digest::MD5 qw( md5_base64 );
print 请输入需要加密的字符串:;
$pass=<STDIN>;
chomp $pass;
$pass1=md5_base64($pass);
print 加密后的字符串为:$pass1 ;
剩下的 一个是 1.vbs 的内容了 这个可要可不要 我只是为了好看罢了!!
内容如下 :
DIM WSH
SET WSH=WSCRIPT.CreateObject(WSCRIPT.SHELL)
WSH.POPUP(欢迎来到 ☆火焰☆ 系统)
这个会跳出一个窗口 显示上面的文字内容
呵呵 !!!
一个简单的 加密 cmd.exe 的使用的 方法就成了
当然 这种方法需要 对 用户权限进行设置 所以只有 ntfs 格式的才行
因为 在运行过程中 cmd的窗口上方的标题栏 会显示 读取 的linux.bat 的准确路径
就算是 禁用了注册表 别人只要删除了 linux.bat 文件 这个对cmd.exe 使用的方法 就没用了
所以 加了 title 命令 隐藏窗口 输出路径
大家只要把 linux.bat 放到 path命令显示的 任何一个路径下 就行了!
其实没什么技术的东西 只是自己给自己学习 找点乐趣 请大家不要 扔我砖头!! 扔水果的话
我倒是蛮欢迎的!!


评论


亲,登录后才可以留言!