批处理的加密,批处理乱码的查看

来源:互联网 发布:李涛疯狂淘宝扒皮 编辑:程序博客网 时间:2024/06/07 16:37

有的批处理文件是加密的,我们用记事本一打开全部是乱码,它是怎么制作的?怎么查看它?看了下面的应该就可以知道了。

先给个例子,一个加密批处理文件的例子。

%%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a
cls
@echo off
CLS
color 0a
echo.
echo                    Vmware Workstaion6.0绿色精简版
echo.
echo                 中国vmware专版 http://www.vmware.cn
echo.
echo                                 即将进行安装,是否要继续......
echo.    
echo ---------------------------------------------------------------------------
echo.
SET /P ST=   请输入 Y (继续安装)或 N (退出安装):
echo.
if /I "%ST%"=="Y" goto ST
if /I "%ST%"=="N" goto EX
goto EX

:ST
start winrar x drive.rar -ibck -y %systemroot%/

echo 正在注册所需的DLL文件....
regsvr32 /s "%cd%/vmappcfg.dll"
regsvr32 /s "%cd%/vmappsdk.dll"
regsvr32 /s "%cd%/vmdbCOM.dll"
regsvr32 /s "%cd%/vmhwcfg.dll"

:addreg
echo 正在添加注册表项目...
set regadd=reg add "HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Setup
%regadd%" /v "SourcePath" /d "%systemroot%/inf" /f
set regadd=reg add "HKEY_LOCAL_MACHINE/SOFTWARE/VMware, Inc.
%regadd%" /v Core /d "VMware Workstation" /f
set regadd=%regadd%/VMware Workstation
%regadd%" /v "InstallPath" /d "%cd%" /f
set regadd=%regadd%/License.ws.6.0.200907
%regadd%" /v "StartFields" /d "Cpt, ProductID, LicenseVersion, LicenseType, Epoch" /f
%regadd%" /v "Cpt" /d "COPYRIGHT (c) VMware, Inc. 1999-2007" /f
%regadd%" /v "ProductID" /d "VMware Workstation for Win32" /f
%regadd%" /v "LicenseVersion" /d "6.0" /f
%regadd%" /v "LicenseType" /d "User" /f
%regadd%" /v "Epoch" /d "2009-7-1" /f
%regadd%" /v "Hash" /d "6b3d34d9-b34f898e-2600b82e-9f65a272-44f2afe8" /f
%regadd%" /v "Serial" /d "ERHUD-2RGAC-X01FZ-4MRN2" /f
%regadd%" /v "Name" /d "vmware.cn" /f
%regadd%" /v "CompanyName" /d "中国虚拟化先锋" /f

:adduser
echo 开始创建 __vmware_user__ 账户 ...
net user __vmware_user__ /add /comment:"VMware User" /fullname:"__vmware_user__"
net localgroup __vmware__ /add /comment:"VMware User Group"  >nul
net localgroup users __vmware_user__ /del >nul
net localgroup __vmware__ __vmware_user__ /add >nul

:Start VM basic service
echo 装载虚拟机需要基本服务 ...
sc create vmx86 type= kernel start= auto binpath= "system32/DRIVERS/vmx86.sys" displayname= "VMware Virtualization Driver"
net start vmx86
sc create VMnetuserif type= kernel start= auto binpath= "system32/DRIVERS/vmnetuserif.sys" displayname= "VMware Network Application Interface"
net start VMnetuserif
CALL server.bat
 
----------------------------------------------------------------------------------------------------------------------------------------

上面给出了一个例子,在开始加上许多%%a  ,也不知道加多少个,把上面的内容复制到bat文件中,看着还没事,一运行,在用记事本编辑bat文件,可以看到怎么是乱码的,这其实是前面的许多个%%a  让系统误认为这是一个Unicode 编码的文件了,其实它不是Unicode编码的文件.是ANSI的.

    我们做个小实验,把上文中前面的%%a去掉,分别保存为ans、/UNICODE、UNICODE BIG ENDIAN、UTF-8格式的bat文件,只有ANSI 和UTF-8编码的bat文件可以运行,但是UTF-8文本不是乱码,显示却是乱码,这说明,包含中文的字符的bat文件只能在ANSI格式下正常运行;

    下面我们进行另外一个试验,加上%%a我们再保存为ANSI 和UNICODE编码的文本文件,此时,我们分别用记事本打开ANSI和UNICODE编码的文件,发现,ANSI的是乱码,而UNICODE的不是。这说明了系统认为在ANSI编码下的这些%%a是UNICODE编码的,其后面的所有字符也都被误认为是UNICODE编码的。

    具体系统是怎么识别这些编码的我也不知道,有时间了我再百度吧。这个方法可以为自己的批处理文件做个简单的加密,但是我不喜欢,还怕版权问题?如果不懂的人看了代码也看不懂,能看懂代码的人,这点加密算什么啊。

    从网上下载一个 乱码查看器.EXE 277KB 就一个文件,把那个文件往乱码查看器一拖就能看到乱码的本来面目了。用一些编辑器也可以看,因为我们一般用记事本来查看bat批处理文件的嘛·~

    第一篇文章,有空了再写。CSDN.NET 很不错啊。以后在这里扎窝了,有时间了就写点自己研究的东西。

    我还没有工作,还在学习中,以后将会向那一个方向发展还说不清楚,可能就是网络方向了。

原创粉丝点击