Board logo

标题: [原创][讨论]非编译型批处理加密方案与代码 [打印本页]

作者: biobio     时间: 2006-7-10 10:52    标题: [原创][讨论]非编译型批处理加密方案与代码

.bat文件虽然好用,但安全性太脆弱

随便什么人都可以打开查看,甚至修改其中内容

有没有什么办法不把.bat转换成.exe或.com之类,仍是.bat文件

但别人无法查看并修改其中内容???


有没有什么自我加密之类的呢?

高手给个解决的思路吧


───────────────── 版主提示 ─────────────────
目前讨论的方案如下:
1、在批处理代码插入Unicode特征串的方案(7楼,yuanyong630)
  相关讨论见于24、25、45、48等楼

  代码实现(27楼,pengfei)的下载链接如下:
  点击下载:BAT加密工具.rar

  对记事本等使用IsTextUnicode函数识别编码类型的程序有效
  对type/edit/EditPlus/UltraEdit等不使用IsTextUnicode函数的程序无效

2、给批处理代码头部增加Unicode字节序标记(BOM)的方案(40楼,zxcv)
  相关讨论见于41、43、69等楼

  代码实现(71楼,zxcv)的下载链接如下:
       EncryBat.rar (zxcv)

  对记事本、Word、UltraEdit、type等支持Unicode编码的程序有效
  对edit/WinRAR内部查看器等不支持Unicode编码的程序无效

3、将批处理代码的回车换行符置换为回车符的方案(17楼,electronixtar)
  相关讨论见于26楼

  对edit等分别识别回车换行符的编辑器有效

4、对批处理代码进行字典式转换的方案(11楼,3742668)
  相关讨论及代码实现见于11、15楼

  代码明文运行时动态生成,故此方案与编辑器无关;

积分奖励:
  yuanyong630\3742668\pengfei\zxcv各奖励8点积分
  electronixtar奖励4点积分
───────────────── 版主提示 ─────────────────


[ Last edited by willsort on 2006-8-6 at 04:02 ]
作者: electronixtar     时间: 2006-7-10 11:27
我早就知道这个帖子会火的,所以占了个沙发,哈哈

[ Last edited by electronixtar on 2007-5-8 at 08:36 PM ]
作者: kcdsw     时间: 2006-7-10 17:34
QuickBFC.EXE

搜索一下   这个程序等于是把bat文件嵌入进去了  所以只要环境对就能正确执行
作者: zhaxi     时间: 2006-7-10 19:19
这个QuickBFC.EXE只能打包1个bat为exe,没什么用。

有没有把一组bat文件打包为exe的。因为经常会有很多bat组成一个程序啊。
作者: kcdsw     时间: 2006-7-10 19:22
那你去找个有用的吧  干脆你给大伙写个不正好嘛
说这等屁话
作者: asbai     时间: 2006-7-11 21:04


  Quote:
Originally posted by kcdsw at 2006-7-10 19:22:
那你去找个有用的吧  干脆你给大伙写个不正好嘛
说这等屁话

hoho,不至于吧?火气咋这么大?
作者: yuanyong630     时间: 2006-7-13 11:28    标题: BAT文件加密法 (比Bat2Com那个软件好使<因为那个软件不支

BAT文件加密法 (比Bat2Com那个软件好使<因为那个软件不支持中文>)

方法是:

打开“记事本”将文件开头写入以下的语句

for /l %%a in (1,1,10) do ren *.jpg %%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 %%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 %%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
作者: flying008     时间: 2006-7-13 11:44
有效……支持……感谢 ……! 绝对的智慧和技术的结晶!
那请问楼上的,怎么重新显示内容呢?有盾必有矛吧?
作者: wang6610     时间: 2006-7-13 12:47
7 楼测试过了能行。
作者: bagpipe     时间: 2006-7-13 12:57
大家火气都别太大了,4楼zhaxi,用多个批处理能够完成的任务也可以写成一个批处理的,只不过代码量的问题不一样罢了..........
作者: 3742668     时间: 2006-7-13 15:41


  Quote:
『第 8 楼』:  

有效……支持……感谢 ……! 绝对的智慧和技术的结晶!
那请问楼上的,怎么重新显示内容呢?有盾必有矛吧?
『第 9 楼』:  

7 楼测试过了能行。

我太菜了,居然看不出7楼的代码怎么能够实现加密代码的作用。
难道8,9楼的朋友把7楼的代码粘贴到自己的脚本开头保存后再打开就看不到自己的代码了?感觉有点耸人听闻。。
既然大家对加密都这么感兴趣,俺也来搅和一把:


关于BAT的加密,很早以前也曾憧憬过,不过由于BAT的局限性,如果纯粹地用BAT来加密BAT,可能就算加了密别人还是能很简单就查看到源码。不过如果你想对付的只是并不高明的新手的话,可能下面的方法会有所帮助:
    在我们的系统中,默认是有不少环境变量的,例如在我的XP SP2中,运行SET命令可以得到如下的变量列表:

  Quote:
ALLUSERSPROFILE=C:\Documents and Settings\All Users
APPDATA=C:\Documents and Settings\**\Application Data
CLIENTNAME=Console
CommonProgramFiles=C:\Program Files\Common Files
COMPUTERNAME=GOOGLE
ComSpec=C:\WINDOWS\system32\cmd.exe
FP_NO_HOST_CHECK=NO
HOMEDRIVE=C:
HOMEPATH=\Documents and Settings\**
LOGONSERVER=\\GOOGLE
NUMBER_OF_PROCESSORS=2
OS=Windows_NT
Path=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;"C:\Program Files\S
ymantec\Norton Ghost 2003\"
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
PROCESSOR_ARCHITECTURE=x86
PROCESSOR_IDENTIFIER=x86 Family 15 Model 2 Stepping 9, GenuineIntel
PROCESSOR_LEVEL=15
PROCESSOR_REVISION=0209
ProgramFiles=C:\Program Files
PROMPT=$P$G
SESSIONNAME=Console
SystemDrive=C:
SystemRoot=C:\WINDOWS
TEMP=C:\DOCUME~1\**\LOCALS~1\Temp
TMP=C:\DOCUME~1\**\LOCALS~1\Temp
USERDOMAIN=GOOGLE
USERNAME=**
USERPROFILE=C:\Documents and Settings\**
windir=C:\WINDOWS

另外,还有些不确定的变量:

  Quote:
%CD% - 扩展到当前目录字符串。
%DATE% - 用跟 DATE 命令同样的格式扩展到当前日期。
%TIME% - 用跟 TIME 命令同样的格式扩展到当前时间。
%RANDOM% - 扩展到 0 和 32767 之间的任意十进制数字。
%ERRORLEVEL% - 扩展到当前 ERRORLEVEL 数值。
%CMDEXTVERSION% - 扩展到当前命令处理器扩展名版本号。
%CMDCMDLINE% - 扩展到调用命令处理器的原始命令行。

利用这些环境变量,完全可以把我们的脚本改变得面目全非。例如:
@echo BBS.CN-DOS.NET
相信大家一眼就看出来它的作用是打印 bbs.cn-dos.net 这段字符串到屏幕上。那么下面这段代码是否能一眼就看出它的作用呢?(只有一行)
@%commonprogramfiles:~-2,1%%ComSpec:~-7,1%%pathext:~-1,1%%windir:~-3,1% %pathext:~11,1%%pathext:~11,1%%pathext:~22,1%%pathext:~0,1%%pathext:~1,1%%windir:~5,1%-%windir:~6,1%%windir:~7,1%%windir:~-1,1%%pathext:~0,1%%windir:~5,1%%PATHEXT:~6,1%%tmp:~-4,1%
或者自己定义变量:
@echo off
%windir:~-1,1%%ComSpec:~-1,1%%tmp:~-4,1%,=fdip.cct+do-ept+ofu
%windir:~-1,1%%ComSpec:~-1,1%%tmp:~-4,1%,=%,:.= %
%windir:~-1,1%%ComSpec:~-1,1%%tmp:~-4,1%,=%,:t=s%
%windir:~-1,1%%ComSpec:~-1,1%%tmp:~-4,1%,=%,:c=b%
%windir:~-1,1%%ComSpec:~-1,1%%tmp:~-4,1%,=%,:+=.%
%windir:~-1,1%%ComSpec:~-1,1%%tmp:~-4,1%,=%,:u=t%
%windir:~-1,1%%ComSpec:~-1,1%%tmp:~-4,1%,=%,:o=n%
%windir:~-1,1%%ComSpec:~-1,1%%tmp:~-4,1%,=%,:f=e%
%windir:~-1,1%%ComSpec:~-1,1%%tmp:~-4,1%,=%,:d=c%
%windir:~-1,1%%ComSpec:~-1,1%%tmp:~-4,1%,=%,:i=h%
%windir:~-1,1%%ComSpec:~-1,1%%tmp:~-4,1%,=%,:p=o%
%windir:~-1,1%%ComSpec:~-1,1%%tmp:~-4,1%,=%,:~0,12%d%,:~13%
%,%
pause
怎么样,有点乱花渐欲迷人眼了吧?
老鸟要偷笑了:只要在%,%那行前面加上echo然后再运行,代码就自己显示出来了……
我靠,还好咱也不是吃素的:
@echo off
%windir:~-1,1%%ComSpec:~-1,1%%tmp:~-4,1%,=abcd3742668fdip.cct+do-ept+ofu
%windir:~-1,1%%ComSpec:~-1,1%%tmp:~-4,1%,=%,:.= %
%windir:~-1,1%%ComSpec:~-1,1%%tmp:~-4,1%,=%,:t=s%
%windir:~-1,1%%ComSpec:~-1,1%%tmp:~-4,1%,=%,:c=b%
%windir:~-1,1%%ComSpec:~-1,1%%tmp:~-4,1%,=%,:+=.%
%windir:~-1,1%%ComSpec:~-1,1%%tmp:~-4,1%,=%,:u=t%
%windir:~-1,1%%ComSpec:~-1,1%%tmp:~-4,1%,=%,:o=n%
%windir:~-1,1%%ComSpec:~-1,1%%tmp:~-4,1%,=%,:f=e%
%windir:~-1,1%%ComSpec:~-1,1%%tmp:~-4,1%,=%,:d=c%
%windir:~-1,1%%ComSpec:~-1,1%%tmp:~-4,1%,=%,:i=h%
%windir:~-1,1%%ComSpec:~-1,1%%tmp:~-4,1%,=%,:p=o%
%windir:~-1,1%%ComSpec:~-1,1%%tmp:~-4,1%,=%,:~0,23%d%,:~24%
%,:*3742668=echo.^">nul&%
pause
对付新手,上面的方法已经会让他眼花缭乱了。不过,这也仅仅只是个开头,还有插入迷惑人的垃圾代码,变量高级加密,运行一次后代码自动改变等等方法,好戏还在后头呢。
(待续)
作者: buddiyar     时间: 2006-7-15 01:06
真的有效么

那么又是为什么呢?

达人们解释一下先
作者: flying008     时间: 2006-7-21 14:24
奇怪了,现在粘贴代码又不能隐藏BAT内容了,真是怪了,前几天还可以的,
作者: 雨露     时间: 2006-7-21 15:32
7楼的方法好像没有一点用!
作者: namejm     时间: 2006-7-21 15:48
  3742668版主的加密用到了字符的截取和字符的置换,呵呵,得把密码学的常用方法学到手才行,不过这样写代码要自己手握一份字符置换表,有点累人啊。
作者: chenall     时间: 2006-7-21 17:23
7楼的强,不知是什么原理.不过使用DOS的TYPE就可以看到了.
只要不使用WINDOWS的记事本打开就可以看到了.

好像目前并没有能够很好的加密.BAT的软件.
像QuickBFC.EXE之类的只不过是将BAT文件打个包,运行时就先解压这个.BAT文件到一个目录下,然后再运行的.
作者: electronixtar     时间: 2006-7-21 21:46
没看懂7楼的代码

有一种方法貌似可以骗一下小朋友:把bat换行的 0D 0A 改成 0A,貌似会给阅读造成一定的麻烦
作者: yuanyong630     时间: 2006-7-22 01:18    标题: BAT文件加密法 (比Bat2Com那个软件好使<因为那个软件不支

想将加密的文件 还原回来 就要用记事本 另存为 时 编码格式  替换成 "UTF-8" 但最好还是在加密之前 做好备份 !因为 有时 不会还原成功!最后还是感谢大家的支持!
作者: bagpipe     时间: 2006-7-22 08:54
7楼的代码还真能够起到加密的作用,不知道是什么工作原理,想不出来,想不出来,不过还是顶一下,强!!!!!!!!

能否问一下7楼,这段代码是你自己想的,还是从哪里看到的?如果是自己想的请说说工作原理,如果是从别处看的,那就算了.......谢谢..........

[ Last edited by bagpipe on 2006-7-22 at 08:55 ]
作者: yuanyong630     时间: 2006-7-22 11:03    标题: 感谢 第 19 楼 的哥们

这个方法 的确不是从别的地方找得 这点我敢确定 其实这个加密技术 也是我 不经意 发现的 要说是 什么原理呢 我估计 这是WINDOWS的一个BUG 就像 用记事本写一个词 “联通”(不加引号)是的,另存完后也会变成乱码的 不信可以试一试!
作者: fastslz     时间: 2006-7-22 12:47
7楼的方法怎么是一次性啊?
第二次就不管用了?
作者: SXBG     时间: 2006-7-22 16:08
伸出食指和中指,稍微分开大概20度角,然后插、插、插、、攻击对方眼球^_^
作者: yuanyong630     时间: 2006-7-23 07:39    标题: 关于使用一次就失效的解决方案

解决方案为 将for /l %%a in (1,1,10) do ren *.jpg %%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 %%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 %%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

这段代码复制然后粘贴在后面 直到 成功实行 “加密”的结果了 ! 大家可以试试!并谢谢大家的支持!
作者: namejm     时间: 2006-7-23 10:35
  从yuanyong630在18楼的描述来看,似乎是改变了记事本保存该bat的编码来达到保密的目的。怎么我的一次都没有成功?XP+SP2的系统。
作者: willsort     时间: 2006-7-23 12:15
Re namejm & others:

       关于 yuanyong630 兄的加密方案,你的思路是正确的,只是有少许偏差。

       记事本程序在保存一篇新建的文档时,如果没有指定编码类型,会使用缺省的ANSI类型(对于中文版来说,对应的就是GB码)。

       而在打开一篇已创建的文档时,它会分析文档的编码类型,它首先判断文档头部有无BOM(Byte Order Mark,字节序标记,长度为2~3字节),如果有则根据其内容判断编码类型,FF、FE(Unicode),FE、FF(Unicode big endian),EF、BB、BF(UTF-8)[1]。

       因为事实上有很多非ANSI编码的文档是没有任何BOM的“纯文本”,所以对这些文档不能简单的判断为ANSI编码。而需要使用一系列的统计学算法根据文档内容来猜测文档编码。记事本使用了 IsTextUnicode 函数来判断是否为 Unicode/Unicode big endian 编码,使用 IsTextUTF8 判断是否为 UTF8 编码。

      但既然是统计学算法,就难免存在误判,尤其在文档内容过短时,由于样本的容量太小,这种误判的概率会显著增大。比如那个有名的微软与联通有仇的笑话,就是记事本在打开只有"联通"二字的ANSI编码文档时,IsTextUTF8 函数将其误判为UTF8编码[2];同样的误判也发生在 IsTextUnicode 函数上,比如具有 “this app can break”这种具有4335结构的文档,会被误判为 Unicode 编码[3][4]。

      需要说明的是,这种误判的可能性是建立在文本较短且其字节位特征不被干扰的前提上的。如果将上述的文本做稍许修改(即使只是增加一个回车),则误判很难再发生。

      而 yuanyong630 兄方案的特殊性在于,它的字节串不但具有Unicode特征,而且很长达到了1288字节,也就是说它的Unicode特征性很强,所以可以抵抗一些较短的不具有Unicode特征串的干扰,这是由统计学的规律所决定的。但是在干扰串稍长时,Unicode的特征将会受到显著干扰,直至被 IsTextUnicode 函数认定为非 Unicode。所以,有些朋友总是无法测试成功,应该是与附加的批处理代码长度和内容相关。大家可以测试一下[5]中的代码。

      因为其他的编辑器(比如 Word / Wordpad / EditPlus / UltraEdit)使用了更新的编码类型判断算法,所以在 Unicode 判断上改进了不少,而 UTF8 的判断仍然不尽如人意。但因为理论上来说完全准确地算法并不存在,所以我们只能依靠避免使用无BOM的非ANSI文档,或者打开文档时手动指定编码类型。

      另外,如果使用记事本保存了这些误判了编码类型的文件,则将难以恢复。如果使用误判编码保存,则将给原文档加上BOM标记,则使用其他编辑器也再无法观察到原文档。如果使用 ANSI 编码保存,则原文档将会被当作 Unicode 文档而被转换,还原的可能性接近于零。

[1] Unicode简介
http://my.opera.com/neutronstar/blog/index.dml/tag/编码

[2] 微软为什么和联通有仇
http://blog.vckbase.com/localvar/archive/2005/07/12/9510.aspx

[3] Notepad bug? Encoding issue?
http://weblogs.asp.net/cumpsd/archive/2004/02/27/81098.aspx

[4] Bush Hid The Facts
http://www.shoutwire.com/comments/16341/Bush_Hid_The_Facts

[5] cry.cmd
for /l %%a in (1,1,10) do ren *.jpg %%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 %%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 %%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
@echo off
echo bbs.cn-dos.net
echo.

作者: willsort     时间: 2006-7-23 12:27
Re electronixtar(17):

      对于将 0d 0a 改为 0a 的方法,不如将之改为 0d 。也即将回车换行改为只回车不换行,则当前行的文本会被没有换行的文本行所覆盖,如此反复覆盖叠加。如果在批处理的最后一行添加一句长度大于以上所有行的注释文本,则最终只会显示这样注释。

      这样的方法,对EDIT和TYPE是有效的,所以在DOS时代曾一度流行。不过,这个方案与yuanyong630兄的方案类似,只是针对于特定文本处理器的特定文本处理机制,无法适用于所有平台环境。

      至于其他的加密方法,也各有缺陷,想达到软件工程的要求是比较困难的。
作者: pengfei     时间: 2006-7-23 13:24    标题: [原创][CMD]批处理非编译型加密方案与代码

首先多谢 yuanyong630 提供的加密代码, 我只是利用它写了这个工具,方便大家使用


修改了版主提示的更改图片文件名称的缺陷,一共提供四种加密方式.

[ Last edited by pengfei on 2006-10-2 at 09:12 ]
附件 1: BAT加密工具.rar (2006-7-25 17:33, 978 bytes, 下载附件所需积分 1点 ,下载次数: 2056)

作者: IceCrack     时间: 2006-7-23 13:43
在我这里测试不成功.不管是用一还是用二 都是在我的代码前面加入了下列代码
for /l %%a in (1,1,10) do ren *.jpg %%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 %%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 %%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
作者: zh159     时间: 2006-7-23 13:58
试了一下,发现只有开始第一行开始为“@echo off”的才能加密成功,但也不是所有得都可以
加密后记事本打开也是乱码,可以执行

[ Last edited by zxcv on 2006-7-23 at 14:01 ]
作者: pengfei     时间: 2006-7-23 14:03    标题: hgf

'lkj;l

[ Last edited by pengfei on 2007-1-22 at 10:43 AM ]
作者: zh159     时间: 2006-7-23 14:12
测试结果:
1、第一行必须是“@echo off”
2、只能小于等于5000字节,5001字节以上就挂了
作者: IceCrack     时间: 2006-7-23 14:20
@echo off
:send
Set /p num=请输入你想要和哪个人聊天的QQ号码:
If /I "%num%"=="n"  Exit
start tencent://Message/?Uin=%num%
cls
Goto send

那这个为什么不成功呢?
作者: zh159     时间: 2006-7-23 14:25
估计有些字符无法正确处理
作者: willsort     时间: 2006-7-23 14:36
Re pengfei:

      这种加密机制通用性较低,适用平台也过于狭窄,而且存在副作用(会将jpg文件改名)。因此建议各位不要在这个方案上多下功夫了。
作者: fastslz     时间: 2006-7-23 15:09
@echo off
cls
:send
Set /p num=请输入你想要和哪个人聊天的QQ号码:
If /I "%num%"=="n"  Exit
start tencent://Message/?Uin=%num%
cls
Goto send

晕....在@echo off下面加cls就行了,局限性真的很大

如果成功加密的话把前面一部分删除掉(最好用UltraEdit),就可以避免willsort老大说的副作用
潦⁲氯┠愥椠ㄨㄬㄬ⤰搠敲⸪灪⁧┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥⁡┥
作者: electronixtar     时间: 2006-7-23 15:20


  Quote:
只有开始第一行开始为“@echo off”的才能加密成功

怪不得~~还是unicode+UltraEdit加密比较爽
作者: maya0su     时间: 2006-7-23 15:58
for /l %%a in (1,1,10) do ren *.mmm %%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 %%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 %%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
@echo off
cls
@echo off
:send
Set /p num=请输入你想要和哪个人聊天的QQ号码:
If /I "%num%"=="n"  Exit
start tencent://Message/?Uin=%num%
cls
Goto send

很有意思的结果!加密跟没加密一样!
作者: maya0su     时间: 2006-7-23 16:02
不过第二第三加密都通过,而第四种也挂了……
楼主为什么不把源码贴出来呢?
也许能够做个更完善一点!
作者: fastslz     时间: 2006-7-23 16:09
原贴连接
http://www.cn-dos.net/forum/viewthread.php?tid=21804&fpage=1
作者: zh159     时间: 2006-7-23 16:10
更简单的:
新建一个“a.txt”文本打开,复制【ൡ挊獬਍】(不含【】),粘贴到“a.txt”文本中保存时提示“含有Unicode字符....”,选“取消”,编码改为“Unicode”保存

批处理:copy/b a.txt+要加密.bat 加密.bat

OK了
记事本有效,DOS的EDIT无效

[ Last edited by zxcv on 2006-7-23 at 16:15 ]
作者: fastslz     时间: 2006-7-23 16:36
第 14 楼方法测试成功
不过提示有个错误命令,其实一个类似老鼠的字符就够了ൡ ,避免错误命令提示
rem ൡ
作者: yuanyong630     时间: 2006-7-23 17:42    标题: 感谢版主

到此为止 终于 说明了 BAT 文件加密的 实际原理了!非常感谢版主!您辛苦了!
作者: willsort     时间: 2006-7-23 17:59
Re zxcv『第 14 楼』:  

      兄的加密方法通用性要好得很多了。因为它是强制给ANSI代码加上了Unicode的BOM标记,导致type、记事本以及其它Windows下的可识别多类编码的编辑器因识别出BOM标记而发生误判;而cmd、edit以及其它DOS下的编辑器因为不识别BOM标记,所以仍然可以识别其后ANSI文本,从而使批处理代码可以顺利分析并执行。

      这个方法可以完全的批处理化:
@echo off
echo ÿþ>unicode.bom
echo cls>>unicode.bom
copy /b unicode.bom+origin.bat cryp.txt>nul
[ Last edited by willsort on 2006-7-23 at 18:02 ]
作者: pengfei     时间: 2006-7-23 18:23    标题: 这个工具的源码!

@echo off & cls
echo ******************************************************************************
echo *                                                                            *
echo *                     欢迎使用 *木林森* 批处理加密工具                       *
echo *                                                                            *
echo ******************************************************************************
echo.
echo 说明:
echo.
echo 批处理编写容易,用起来也挺方便.但BAT有一个最大的缺陷,就是任何人都可以查看并修改其中的内容.
echo.
echo 这里我提供一个加密工具可以很好地解决这个问题
echo.
echo 把需要加密的批处理放到加密工具的同一目录下,并改名为one.bat,然后按任意键开始选择加密,生成的two.bat就是加密过的批处理了.
echo.
echo 本工具一共提供四种加密方式,如果第一次加密不成功,请尝试用其他三种方式进行加密.
echo.
echo.希望大家能够喜欢~
echo.
echo 木林森  QQ:573381312  BYE
echo.
pause
cls
echo *****************************************************************************
echo *                                                                           *
echo *                           请 选 择 加 密 方 式                            *
echo *                                                                           *
echo *****************************************************************************
echo.
echo.
echo 输入 1 后按回车键, 用第一种方式加密.
echo 输入 2 后按回车键, 用第二种方式加密.
echo 输入 3 后按回车键, 用第三种方式加密.
echo 输入 4 后按回车键, 用第四种方式加密.
echo 输入 5 选择退出
echo.
@set /p start=请选择 (1=方式一、2=方式二、3=方式三、4=方式四、5=退出) 后按回车键:
if "%start%"=="1" goto A
if "%start%"=="2" goto B
if "%start%"=="3" goto C
if "%start%"=="4" goto D
if "%start%"=="5" goto E
:A
echo %%%%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 %%%%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 %%%%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>two.bat
echo ^@echo off>>two.bat
echo cls>>two.bat
type one.bat>>two.bat
goto type
:B
echo %%%%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 %%%%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 %%%%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>two.bat
echo cls>>two.bat
type one.bat>>two.bat
goto type
:C
echo %%%%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 %%%%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 %%%%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>two.bat
echo ^@echo off ^& cls>>two.bat
type one.bat>>two.bat
goto type
:D
echo %%%%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 %%%%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 %%%%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>two.bat
type one.bat>>two.bat
goto type
:E
exit
:type
if ERRORLEVEL 1 cls & del two.bat & echo. & echo 加密失败! 找不到one.bat. 请您将要加密的批处理改名为one.bat,并放到此目录下. & echo. & pause & exit
cls
echo.
echo 恭喜您,批处理加密成功!
echo.
pause

[ Last edited by pengfei on 2006-10-2 at 09:13 ]
作者: pengfei     时间: 2006-7-23 18:27
我琢磨了半天,才搞懂这段代码可能对某些字符敏感的原故吧,导致无法加密
一共四种方法,我测试过了,四种方法都用上,还没发现不能加密的批处理.
同时把修改*.jpg文件改成了mmm后缀,这样就不会出现更改图片名称的缺陷了.

[ Last edited by pengfei on 2006-10-2 at 09:14 ]
作者: electronixtar     时间: 2006-7-23 18:59
不用 ren *.jpg 行不?换成其他超常的语句行不?
作者: fastslz     时间: 2006-7-23 19:04


  Quote:
不知该不该发,有点黑客性质了

对有不良用心人士来说,可以捆绑木马代码了!
作者: yuanyong630     时间: 2006-7-23 20:52    标题: 『第 28 楼』: 的兄弟问的很好

『第 28 楼』:  的兄弟问的很好 经过我的测试 写下 以下代码也可以完成 “加密”的工作

%%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 %%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
作者: pengfei     时间: 2006-7-23 21:30
我说的留后门,是一个卸载功能,同时能够按你的配置种马.
并不是说我留有后门
作者: IceCrack     时间: 2006-7-24 08:21
对黑客技术不感冒,还有我想就是。为什么非得用bat给bat加密呢? 反正加密的也不具有可读性。为什么不转换成exe的呢?
作者: Kinglion     时间: 2006-7-24 08:45


  Quote:
Originally posted by IceCrack at 2006-7-24 08:21 AM:
对黑客技术不感冒,还有我想就是。为什么非得用bat给bat加密呢? 反正加密的也不具有可读性。为什么不转换成exe的呢?

对BAT文件加密最好的方法就是将BAT文件编译为COM或EXE文件.其它方式的加密都很容易被破解.
作者: yuanyong630     时间: 2006-7-25 00:39    标题: YuanYong630 的建议

经过我的测试 写下 以下代码也可以完成 “加密”的工作

%%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 %%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
作者: yuanyong630     时间: 2006-7-25 00:44    标题: 最后还要感谢 木林森 先生

最后还要感谢 木林森 先生 把我的 加密方法发扬广大了 非常感谢大家的支持!
作者: pengfei     时间: 2006-7-25 10:02
呵呵~ 好东西是要让大家分享的吗?
不知yuanyong630兄能不能把这个加密的原理说明一下.
比较好奇.
作者: namejm     时间: 2006-7-25 13:22
  Re pengfei:

  yuanyong630的加密原理,在以前的帖子中willsort有过深入的分析,请看这个帖子:

不转换.bat,怎样防止他人查看修改其内容?
http://www.cn-dos.net/forum/view ... ;page=2&fpage=1
作者: pengfei     时间: 2006-7-25 13:54
呵呵~ 看了
yuanyong630兄改过的代码用来加密,修正了运行批处理后执行FOR命令的缺陷,运行起来更快了.
作者: yuanyong630     时间: 2006-7-26 08:50    标题: 非常感谢大家的支持 要是说原理请看...

非常感谢大家的支持 要是说原理请看 【25楼】
                                                                    (这是 willsort 版主写的原理很不错的)
http://www.cn-dos.net/forum/view ... ghlight=&page=2

最后给大家写一个语句

@del %0

加在BAT文件的最后当然如果最后的语句是“EXIT”那就加到“EXIT”的前面!看看会出现什么状况!【但注意运行前要备份你要运行的BAT文档】
作者: zh159     时间: 2006-7-26 10:08


  Quote:
Originally posted by yuanyong630 at 2006-7-26 08:50:
非常感谢大家的支持 要是说原理请看 【25楼】
                                                                    (这是 willsort 版主写的原理很不错的)
[url]http://www ...

%0应该是指执行的批处理本身,但是直接用%0只有文件名,后面要加上.bat(del %0.bat)扩展名才有效
作者: yuanyong630     时间: 2006-7-26 10:10    标题: 第 29 楼 谢谢你的参与

@del %0
  就是删除该BAT文件 来实现 运行一次后自动删除本身的效果 有时会用到
作者: xiongwei2624     时间: 2006-7-26 10:47
谢谢,学习过程中!!!
作者: cain     时间: 2006-7-26 21:04
最为关心的是:请问版主及yuanyong630等高手,如果用此工具将较为复杂的批处理加密后会不会出现运行错误等情况呢?
作者: pengfei     时间: 2006-7-26 21:09


  Quote:
Originally posted by cain at 2006-7-26 21:04:
最为关心的是:请问版主及yuanyong630等高手,如果用此工具将较为复杂的批处理加密后会不会出现运行错误等情况呢?

应该不会,加密后只是在文件头部生成一段代码,当运行完这段代码后会提示出错

接着会执行下面的命令.而不会中断下面命令的执行.请放心好了.

[ Last edited by pengfei on 2006-10-2 at 09:15 ]
作者: voiL     时间: 2006-7-27 03:57
这方法在DOS下用type就能看到了,我觉得最好的还要算11楼3742668版主所提出的加密方法比较稳妥.毕竟没有哪位仁兄会在那么一大堆英文里慢慢找你的代码吧???
作者: yuanyong630     时间: 2006-7-27 06:35    标题: 如果用此工具将较为复杂的批处理加密后 不会出现 任何问题

如果用此工具将较为复杂的批处理加密后 不会出现 任何问题

感谢“pengfei”

最后我带来了一段代码 大家猜猜密码是多少?(很简单的)

@echo off
set a=1
set d=0
:sub
cls
@echo.
@echo.
@echo.
@echo.
@echo.
@echo.
@echo.
choice /c:1234567890 /n .                          请输入DOS进入密码(3-%a%):

if errorlevel 10 goto 10
if errorlevel 9 goto 9
if errorlevel 8 goto 8
if errorlevel 7 goto 7
if errorlevel 6 goto 6
if errorlevel 5 goto 5
if errorlevel 4 goto 4
if errorlevel 3 goto 3
if errorlevel 2 goto 2

if %a%==3 goto run
if %a%==2 set a=3
if %a%==1 set a=2
goto sub

:10
if %d%==2 set d=3
if %a%==3 goto run
if %a%==2 set a=3
if %a%==1 set a=2
goto sub

:9
if %a%==3 goto run
if %a%==2 set a=3
if %a%==1 set a=2
goto sub

:8
if %a%==3 goto run
if %a%==2 set a=3
if %a%==1 set a=2
goto sub

:7
if %d%==0 set d=1
if %a%==3 goto run
if %a%==2 set a=3
if %a%==1 set a=2
goto sub

:6
if %a%==3 goto run
if %a%==2 set a=3
if %a%==1 set a=2
goto sub

:5
if %d%==1 set d=2
if %a%==3 goto run
if %a%==2 set a=3
if %a%==1 set a=2
goto sub

:4
if %a%==3 goto run
if %a%==2 set a=3
if %a%==1 set a=2
goto sub

:3
if %a%==3 goto run
if %a%==2 set a=3
if %a%==1 set a=2
goto sub

:2
if %a%==3 goto run
if %a%==2 set a=3
if %a%==1 set a=2
goto sub

:run
if %d%==3 goto end
cls
@echo                              密码不对,请重新输入!!!
pause >nul
goto sub

:end
作者: willsort     时间: 2006-7-29 18:33


  Quote:
Originally posted by zxcv at 2006-7-23 16:10:
更简单的:
新建一个“a.txt”文本打开,复制【ൡ挊獬਍】(不含【】),粘贴到“a.txt”文本中保存时提示“含有Unicode字符....”,选“取消”,编码改为“Unicode”保存

批处理:copy/b a.txt+要加密.bat 加密.bat

Re zxcv『第 14 楼』:

      根据你的方案制作了一个自动化较高的密码器脚本,因为它是使用自身作为加密用的密钥,所以本身也是一段密文,因此无法转贴代码,只能上传附件了。

[ Last edited by willsort on 2006-7-29 at 18:35 ]
附件 1: EncryBat.rar (2006-7-29 18:33, 433 bytes, 下载附件所需积分 100点 ,下载次数: 105)

作者: 无奈何     时间: 2006-7-29 22:29
Re yuanyong630
        兄 34 楼代码我从9输到0便破解了,最坏的情况下从0输到9连续3次便可破解。好像你忘记了在适当的时候清空变量 d 。

        虽然我一直没有插言,但这个讨论是很有意思的,我偶尔也尝试加密一下。
作者: yuanyong630     时间: 2006-7-29 23:16    标题: 感谢 两位 版主 willsort 和 无奈何

我的代码 的确有一些 BUG 感谢大家!使我学到了很多知识!感谢
作者: yuanyong630     时间: 2006-7-29 23:20    标题: 很有趣的东西 大家分享 (其实只是雕虫小技)

md .\拨号网络.{992CFFA0-F557-101A-88EC-00DD010CCC48}

md .\打印机.{2227A280-3AEA-1069-A2DE-08002B30309D}

md .\回收站.{645FF040-5081-101B-9F08-00AA002F954E}

md .\计划任务.{D6277990-4C6A-11CF-8D87-00AA0060F5BF}

md .\控制面版.{21EC2020-3AEA-1069-A2DD-08002B30309D}

md<nul>nul .\网络邻居.{208D2C60-3AEA-1069-A2D7-08002B30309D}

md<nul>nul .\我的电脑.{20D04FE0-3AEA-1069-A2D8-08002B30309D}

md<nul>nul .\我的文档.{450D8FBA-AD25-11D0-98A8-0800361B1103}

md<nul>nul .\公文包.{85bbd920-42a0-1069-a2e4-08002b30309d}
作者: zh159     时间: 2006-7-30 02:11


  Quote:
Originally posted by willsort at 2006-7-29 18:33:

Re zxcv『第 14 楼』:

      根据你的方案制作了一个自动化较高的密码器脚本,因为它是使用自身作为加密用的密钥,所以本身也是一段密文,因此栮..

改一下:if not [%1]==[] if exist %1 copy /b "%~f0"+%1 enc_%1>nul&echo. Enc_%1 is create.&goto :eof

去掉“:EncryBat_Encryption”部分

自己真正使用的只留:

  Quote:
@echo off
if......
if......
:EncryBat_Display

就行了^_^

[ Last edited by zxcv on 2006-7-30 at 02:15 ]
作者: caiddy     时间: 2006-7-31 04:08
学习了。
作者: zh159     时间: 2006-8-2 10:44    标题: 我也发个批处理加密工具^_^

已修改在 74 楼...

[ Last edited by zxcv on 2006-8-3 at 21:15 ]
作者: willsort     时间: 2006-8-3 17:26

───────────────── 版务记录 ─────────────────
执行:Will Sort
操作:合并主题 {21804}不转换.bat,怎样防止他人查看修改其内容? -> 1~26楼
   合并主题 {22053}发个批处理加密工具 -> 27~70楼
   合并主题 {22254}我也发个批处理加密工具^_^ -> 71楼
说明:操作主题与本主题存在上下文的直接联系
───────────────── 版务记录 ─────────────────


Re zxcv:

      你的修改有小小的问题,在 “if not [%~n1]==[] if exist %~f1” 一句中使用了增强的命令行参数引用(%~1),则其需要使用引号扩起,防止参数为含有空格文件名时语法错误的发生。如下:

      if not "%~n1"=="" if exist "%~f1" ...

      如果使用原型的参数引用(%1),则因为系统或者调用者自动为含有空格的参数补加了引号,此时不能再使用引号,否则会因为引号的错误匹配,使参数中的空格暴露出来。例如:

      if not ""space file name""=="" if exist ""space file name"" ... (语法错)

      如果使用增强的参数引用(%~1),则因为含有空格的参数中的引号会被系统自动脱去,此时必须使用引号,否则会因为没有引号的保护,使参数中的空格暴露出来。

      if not [space file name]==[] if exist space file name ... (语法错)
作者: TEMPlxj     时间: 2006-8-3 18:11
研究中`
作者: zh159     时间: 2006-8-3 20:24
谢谢willsort版主的指正

修改如下:

  Quote:

  1. @echo off
  2. if not "%~n0"=="EncryBat" goto EncryBat_Display
  3. if not "%~n1"=="" if exist "%~f1" copy/b "%~f0"+"%~f1" "%~dp1enc_%~nx1">nul 2>nul&cls&echo.&echo. Enc_%~nx1 is create.&goto :eof

  4. :EncryBat_Help
  5. echo.
  6. echo %~n0 - Cryptographic machine for batch program
  7. echo zxcv@cn-dos, willsort@cn-dos - 2006-8-4 - CMD@WinXP
  8. echo.
  9. echo Useage: %~n0 batch_program_with_extname
  10. echo Reference: http://www.cn-dos.net/forum/viewthread.php?tid=22053  
  11. if /i not [%0]==[EncryBat] pause
  12. goto :eof

  13. :EncryBat_Display
        zxcv发表于:  2006-08-04  11:20

修正含空格文件名不能生成加密文件错误

[ Last edited by zxcv on 2006-8-4 at 11:31 ]
附件 1: EncryBat.rar (2006-8-4 11:31, 430 bytes, 下载附件所需积分 1点 ,下载次数: 1358)

作者: hxj     时间: 2006-8-5 08:34
用楼上的 EncryBat,加密后批处理在CMD窗口打开的图形菜单窗口文字出错!
作者: zh159     时间: 2006-8-5 14:28
这个加密方式和“copy/b a.txt+要加密.bat 加密.bat”原理是一样的,通过第三句的文件名分析转换为“copy/b a.txt+要加密.bat 加密.bat”加密方式

方便的话贴出你的BAT看看,我试过的几个文件正常
作者: jmm988     时间: 2006-8-8 05:46
高手们!我向你们敬礼!
作者: pengfei     时间: 2006-8-30 23:10    标题: BAT加密最终版

前段时间比较忙, 所以一直没有跟贴. 今天有空就写了BAT加密最终版.

就在大家讨论激烈的时候我在反复测试中发现了yuanyong630兄加密代码的局限性. 以前一直以为它是对某些字符敏感, 后来才搞清,原来它是对文件字节大小的奇偶性敏感了.字节数为奇数时加密不成功,只有偶数才能加密.

于是我就改进了这个加密工具, 希望大家能够喜欢~

感谢 namejm 兄对改进这款工具的帮助!^_^

[ Last edited by pengfei on 2006-10-3 at 10:00 ]
附件 1: BAT加密最终版.rar (2006-9-3 01:23, 995 bytes, 下载附件所需积分 1点 ,下载次数: 468)

作者: pengfei     时间: 2006-8-30 23:19    标题: BAT加密最终版源码

@echo off
color 27
:start
cls
echo *******************************************************************************
echo *                                                                             *
echo *                    BAT    加    密    最    终    版                        *
echo *                                                                             *
echo *******************************************************************************
echo.
echo.
echo BAT加密最终版为"BAT加密工具"的更新版本, 较上一版加密工具而言有诸多优势:
echo.
echo ★  可以一次性成功加密任何批处理文件, 更省事.
echo.
echo ★  可以由您输入任意需要加密的批处理, 加密灵活性更大.
echo.
echo ★  能够自动判断错误输入, 更加人性化.
echo.
echo 说明: 在下面输入需要加密的批处理文件, 直接输入批处理文件名为加密当前目录下的BAT,也可以带路径指定任意BAT. 当前目录下生成的encrypt.bat文件即为加密的批处理.
echo.
echo 作者:木林森  QQ:573381312  BYE
echo.
echo.
echo.
set /p file=请输入需要加密的批处理后按回车键(q=退出):
if "%file%"=="q" goto quit
echo %file%|findstr /i "\.bat$">nul && goto go
echo %file%|findstr /i "\.cmd$">nul && goto go
cls
echo ==============
echo 请正确输入!
echo ==============
echo.
echo.
echo 按任意键重新输入......
pause>nul
goto start
:go
if not exist "%file%" goto newly
if exist encrypt.bat copy encrypt.bat encryptbak.bat
echo %%%%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 >"%tmp%\encrypt.tmp"
echo cls>>"%tmp%\encrypt.tmp"
type "%file%">>"%tmp%\encrypt.tmp"
setlocal enabledelayedexpansion
for %%i in ("%tmp%\encrypt.tmp") do (
    echo %%~zi >nul 2>nul
    set size=%%~zi
    set num=!size:~-1!
    set /a mod=!num!%%2
    if !mod! equ 0 (goto even) else (goto odd)
)
:even
copy "%tmp%\encrypt.tmp" encrypt.bat
del "%tmp%\encrypt.tmp"
cls
echo ==========================
echo 恭喜你, 批处理加密成功^^!
echo ==========================
echo.
echo.
echo 按任意键退出......
pause>nul
goto quit
:odd
echo. >>"%tmp%\encrypt.tmp"
copy "%tmp%\encrypt.tmp" encrypt.bat
del "%tmp%\encrypt.tmp"
cls
echo ==========================
echo 恭喜你, 批处理加密成功^^!
echo ==========================
echo.
echo.
echo 按任意键退出......
pause>nul
goto quit
:newly
cls
echo ================================
echo 找不到批处理文件, 请重新输入!
echo ================================
echo.
echo.
echo 按任意键开始......
pause>nul
goto start
:quit
exit

[ Last edited by pengfei on 2006-9-3 at 01:24 ]
作者: namejm     时间: 2006-8-31 00:34
  不错不错,功能比较强悍了,值得表扬^_^。

  粗粗看了一下代码,还有许多地方值得完善:比如echo "%file%" | find /i ".bat" && goto go一句对文件名中含有.bat的非批处理文件会误判,echo %%~zi >nul 2>nul一句可有可无,pause >nul 2>nul可精简为pause>nul等等……呵呵,兄弟还得继续努力,在查漏补缺、人性化、精练、美观等方面再作些改进,争取把这个工具弄成论坛里的精品。
作者: kennyfan     时间: 2006-9-19 11:32
原来讨论了这么久就是  它是对文件字节大小的奇偶性敏感了. 呵呵.看来XP还是挺多bug的嘛!~~~
作者: pengfei     时间: 2006-10-5 04:59    标题: 中秋快乐!

中秋节到了, 大家吃月饼了没. 嘿嘿~ 要是有给我寄点来.

发一个批处理解密工具, 作为中秋节礼物送给大家. 对『第 7 楼』yuanyong630兄和『第 40 楼』zxcv兄的加密方案奏效~~~!

这是我在写加密代码时发现的(for提取文本行不受编码类型的制约), 特别是zxcv兄的加密方案, 如果代码是中文的话edit就显示乱码, 这时大家就蒙了, 忙找乱码查看器, 十六进制编辑器来查看源码.

呵呵~ 这里拖下鼠标, 一个回车就解决了...
@echo off
mode con: cols=80 lines=25
:index
color 27
cls
echo                        ╭───────────────╮
echo                        │                              │
echo    ╭─────────┤      BAT  解  密  工  具     ├─────────╮
echo    │                  │                              │                  │
echo    │                  ╰───────────────╯                  │
echo    │                                                                      │
echo    │                                                                      │
echo    │     本工具用来对混淆文本编码类型的加密批处理进行解密!                │
echo    │                                                                      │
echo    │     在下面填入需要解密的批处理按回车键即可.                          │
echo    │                                                                      │
echo    │     建议直接把待解密的批处理文件拖曳至本窗口释放.                    │
echo    │                                                                      │
echo    │     解密成功后会在本程序目录下生成"new_待解密文件名.文件后缀名"      │
echo    │     格式的文件.                                                      │
echo    │                                                                      │
echo    │     注意: 如果本目录下存在"new_待解密文件名.文件后缀名"的文件,       │
echo    │     将会被替换.                                                      │
echo    │                                                                      │
echo    │                                                                      │
echo    ╰───────────────────────────────────╯
echo.
set route=%cd%
set ravel=
set /p ravel=    请输入要解密的批处理:
set "ravel=%ravel:"=%"
if /i "%ravel:~-4%"==".bat" if exist "%ravel%" goto go
if /i "%ravel:~-4%"==".cmd" if exist "%ravel%" goto go
cls
echo                              ╭──────────╮
echo          ╭─────────┤   文  件  错  误   ├────────╮
echo          │                  ╰──────────╯                │
echo          │                                                          │
echo          │    指定文件不存在或文件不是批处理类型!                   │
echo          │                                                          │
echo          │    按任意键重新输入...                                   │
echo          │                                                          │
echo          ╰─────────────────────────────╯
echo.
echo.
echo 按任意键重新输入...
pause >nul
goto index

:go
for /f "tokens=*" %%c in ("%ravel%") do (
    cd /d "%%~dpc"
    if exist "%route%\new_%%~nxc" attrib -s -h -r -a "%route%\new_%%~nxc"
    echo author:pengfei@www.cn-dos.net>"%route%\new_%%~nxc"
    for /f "tokens=*" %%i in (%%~nxc) do (
        echo %%i>>"%route%\new_%%~nxc"
    )
)
cls
echo                              ╭──────────╮
echo          ╭─────────┤   解  密  成  功   ├────────╮
echo          │                  ╰──────────╯                │
echo          │                                                          │
echo          │    恭喜, 批处理解密成功!                                 │
echo          │                                                          │
echo          ╰─────────────────────────────╯
echo.
echo.
echo 按任意键退出...
pause >nul
exit
[ Last edited by pengfei on 2006-10-6 at 10:22 ]
附件 1: BAT解密工具.rar (2006-10-5 07:47, 901 bytes, 下载附件所需积分 1点 ,下载次数: 333)

作者: electronixtar     时间: 2006-10-5 05:44
bat解密工具:

copy con xxx.bat

大家中秋愉快~~

[ Last edited by electronixtar on 2006-10-5 at 05:45 ]
作者: namejm     时间: 2006-10-5 06:06
  呵呵,原来一条for语句就可以搞定了啊,真没想到竟然会如此简单。
作者: 220110     时间: 2006-10-7 04:09
经典!很好味的馅...
作者: cxm2000     时间: 2006-10-13 19:41
我用浏览器打开 就显示明文了
作者: zouzhxi     时间: 2006-10-16 00:52
我把拓展名改成其他(.DOC/.TRF等)就可以看见明文!!!
作者: namejm     时间: 2006-10-16 01:17
  其实,只要用 ACSII 编码格式打开就可以看到明文了。因为word里自带了好几种编码,其中就有US-ACSII编码,呵呵,看来word就是比较好的乱码查看器。
作者: yiping1973     时间: 2006-10-16 01:37
"联通“变乱码,怎么找到的。真是人精。
其实只要输入以”耳“部的字和”通“组合都是乱码!!!!!
如”职通“!!

[ Last edited by yiping1973 on 2006-10-16 at 01:41 ]
作者: yfd11     时间: 2006-10-19 03:12
怎么用C32ASM二进制等工具打开就能看到源码了.
作者: bhdc     时间: 2006-10-20 20:03
才发现原来可以这样,学习中。。。。。。。
作者: ykkysysy     时间: 2006-10-21 04:37
有效……支持……感谢 ……! 绝对的智慧和技术的结晶!
那请问楼上的,怎么重新显示内容呢?有盾必有矛吧?
作者: hijackjave     时间: 2006-10-21 11:31
好复杂啊~我看不懂~
作者: lxmxn     时间: 2006-10-21 14:37
  对这加密与解密的原理还是不太清楚,请哪位高手口述一下。谢了。

  另外,对于F82中pengfei兄关于加密与加密的代码,自己测试了一下,发现只是在批处理的首行加上了“author:pengfei@www.cn-dos.net”这一句,貌似没起到什么加密与解密的效果。不知其因,望高手们不吝施教。

作者: anakin     时间: 2006-10-31 13:07
我很菜,老鸟别笑话我 呵呵~~ 
我以前见到过一个方法 很简单
就是用十六位编辑器给BAT加上FFEF文件头,让记事本一类的文本编辑器以UNICODE方式打开批处理文件
不过加上后会导致被加密批处理文件的第一条命令执行错误,
我们可以在FFFE后面加了一个0D0A,就是回车换行,
虽然不影响第一条命令执行,但是会在屏幕上出现 “不是内部或外部命令,也不是可运行的程序或批处理文件” 的错误信息,
这里可以加个 63 6C 73 0D 0A  既 cls(回车)
作者: electronixtar     时间: 2006-10-31 22:33
楼上好方法!
作者: 8250     时间: 2006-11-1 22:22
看这一个帖子,明白了好一些东西,谢谢分享。
作者: wjxsjd     时间: 2006-11-3 01:23
长知识!
作者: pengfei     时间: 2006-11-19 09:43
汗...    刚才论坛不能上, 一提交居然发了两贴.

[ Last edited by pengfei on 2006-11-19 at 09:50 AM ]
作者: pengfei     时间: 2006-11-19 09:49    标题: 变量加密程序!

在DOS联盟这几个月来让我学到了不少东西, 看到这里的人都这么热心, 很受感动. 在Windows普及的今天, 还有这么多人执著地爱着DOS.

    通过这么久的讨论, 大家对混淆文本编码的加密方案有了一定的了解, 也学到了不少知识. 这种加密方案制作的加密程序比较成熟, 使用方便. "bat加密最终版.bat"和"bat强制加密程序.exe"

    同时, 也写了针对这两种加密方法的解密程序. "bat解密程序.bat"

    前阵忽然想到了用变量加密的方法, 理论上觉得可行, 于是开始编写"bat变量加密程序.bat"一写才觉得不是那么好玩的. 首先是对密码转换统一代码, 接下来遇到很多问题.  

    这种算法还不是很成熟, 虽然经过测试, 替时没有发现错误. 但如果控制字符, 运算符, 转义符等特殊字符; 还有引号配对, 括号配对, 环境变量, 替换变量, 参数等符号在同一行以不同顺序出现就有可能加密失败.

    这只是我胡乱写的测试代码, 真正大家加密的批处理要是出现这些字符的集合, 我想批处理加密后的可靠性就不得而知了. 呵呵~  说到这里大家不要不敢用哦...

    测试过几十个批处理, 其中有多达千余行的脚本, 有的批处理中还有大量的特殊字符, 加密后没有发现错误. 只是某些字符互相影响有可能出现未知错误. 需要大家更普遍的测试才知道.

    突然发现讨论这么久, 原来11楼3742668版主对这种加密方法已经有所研究了. 呵呵~

    建议大家先使用变量加密方法加密后, 再用"批处理加密解密工具集.rar"的"BAT加密最终版"或"BAT强制加密程序"再次进行加密. 这样能起到比较好的加密效果. 如果要看源码, 对方需要解密两次才可以.
   
    修正了加密后大写变小写的缺陷, 欢迎大家测试~
@echo off
title bat变量加密程序
mode con: cols=80 lines=25
color 27
set route=%cd%
if not %1*==* set ravel=%1&goto jmp
:index
cls
echo                        ╭───────────────╮
echo                        │                              │
echo    ╭─────────┤    BAT 变 量 加 密 程 序     ├─────────╮
echo    │                  │                              │                  │
echo    │  测试版:         ╰───────────────╯                  │
echo    │                                                                      │
echo    │  本工具采用变量截取加密算法, 加密后文件大小会增加5-10倍, 批处理      │
echo    │  的运行效率不会有任何影响.                                           │
echo    │                                                                      │
echo    │  在下面输入需要加密的批处理按回车键即可, 建议直接把待加密的          │
echo    │  批处理文件拖曳至本窗口释放.                                         │
echo    │                                                                      │
echo    │  加密成功后会在本程序目录下生成"new_待加密文件名.bat"格式的文件.     │
echo    │                                                                      │
echo    │  注意: 1. 屏幕如无"加密成功"的提示或中间退出, 说明加密失败.          │
echo    │        2. 此加密算法要处理的数据量很大, 速度比较慢, 请耐心等待.      │
echo    │        3. 可能还存在其他未知缺陷, 加密后请自行检测错误.              │
echo    │        4. 修正了加密后大写字母变小写的缺陷.                          │
echo    │                                                                      │
echo    │                                            pengfei@www.cn-dos.net    │
echo    ╰───────────────────────────────────╯
echo.
set ravel=
set /p ravel=    请输入要加密的批处理(q=exit):
:jmp
set "ravel=%ravel:"=%"
if /i "%ravel%"=="q" exit
echo %ravel% | findstr /c:( /c:) >nul 2>nul && goto :nay
if /i "%ravel:~-4%"==".bat" if exist "%ravel%" goto go
if /i "%ravel:~-4%"==".cmd" if exist "%ravel%" goto go
:nay
cls
echo                              ╭──────────╮
echo          ╭─────────┤   文  件  错  误   ├────────╮
echo          │                  ╰──────────╯                │
echo          │                                                          │
echo          │    1.  指定文件不存在或文件不是批处理类型.               │
echo          │                                                          │
echo          │    2.  文件路径中含有括号.                               │
echo          │                                                          │
echo          │    3.  文件名中存在空格.                                 │
echo          │                                                          │
echo          │                                                          │
echo          ╰─────────────────────────────╯
echo.
echo.
echo           按任意键重新输入...
pause >nul
goto index
:go
for /f "tokens=*" %%c in ("%ravel%") do (
    cd /d "%%~dpc"
    set root="%route%\new_%%~nxc"
    set file=%%~nxc
)
for %%i in (%file%) do if not "%%i"=="%file%" goto nay
if exist %root% call :exist
if exist %root% attrib -s -h -r -a %root%
call :caput
cls
echo.
echo                             \\\^|///
echo                          \\ .-.- //
echo                           ( .@.@ )
echo                    +-------oOOo-----(_)-----oOOo---------+   
echo                    ^|                   ^|
echo                    ^|   正在加密中, 请稍等......       ^|
echo                    ^|                   ^|     
echo                    +----------oooO-------Oooo------------+  
echo.
echo.
for /f "delims=" %%i in (%file%) do (
    set x=%%i■
    call :start
)
cls
echo.
echo                             \\\^|///
echo                          \\ .-.- //
echo                           ( .@.@ )
echo                    +-------oOOo-----(_)-----oOOo---------+   
echo                    ^|                   ^|
echo                    ^|        恭喜, 加密成功!           ^|
echo                    ^|                   ^|     
echo                    +----------oooO-------Oooo------------+  
echo.
echo.
echo                    按任意键退出...
pause >nul
goto :eof
:start
set term=0
set vcd=0
set "x=%x:"=◎%"
set "y=%x%"
set num=0
:follow
if not "%y%"=="" (
    set "y=%y:~1%"
    if "%y:~0,1%"=="◎" set /a num+=1
    goto :follow
)
set /a z=%num%%%2
if "%x:~0,1%"==":" if not "%x:~0,2%"==":" set term=1
set result=
:next
if not "%x:~0,1%"=="■" (
    if "%term%"=="1" (
        if "%x:~0,1%"=="%%" set "result=%result%%x:~0,1%"&set "x=%x:~1%"&set term=0&goto next
        if "%x:~0,1%"==" " set "result=%result%%x:~0,1%"&set "x=%x:~1%"&set term=0&goto next
        if "%x:~0,1%"=="=" set "result=%result%%x:~0,1%"&set "x=%x:~1%"&set term=0&goto next
        if "%x:~0,1%"==")" set "result=%result%%x:~0,1%"&set "x=%x:~1%"&set term=0&goto next
        set "result=%result%%x:~0,1%"&set "x=%x:~1%"&goto next
    )
    if "%x:~0,1%"=="%%" set "result=%result%%x:~0,1%"&set "x=%x:~1%"&set term=1&goto next
    if "%x:~0,1%"==" " set "result=%result% "&set "x=%x:~1%"&goto next
    if "%x:~0,1%"=="a" set "result=%result%%%appdata:~-1%%"&set "x=%x:~1%"&goto next
    if "%x:~0,1%"=="b" set "result=%result%%%tcopu:~1,1%%"&set "x=%x:~1%"&goto next
    if "%x:~0,1%"=="c" set "result=%result%%%userprofile:~5,1%%"&set "x=%x:~1%"&goto next
    if "%x:~0,1%"=="d" set "result=%result%%%appdata:~15,1%%"&set "x=%x:~1%"&goto next
    if "%x:~0,1%"=="e" set "result=%result%%%comspec:~-1%%"&set "x=%x:~1%"&goto next
    if "%x:~0,1%"=="f" set "result=%result%%%tcopu:~11,1%%"&set "x=%x:~1%"&goto next
    if "%x:~0,1%"=="g" set "result=%result%%%programfiles:~6,1%%"&set "x=%x:~1%"&goto next
    if "%x:~0,1%"=="h" set "result=%result%%%tcopu:~2,1%%"&set "x=%x:~1%"&goto next
    if "%x:~0,1%"=="i" set "result=%result%%%programfiles:~-4,1%%"&set "x=%x:~1%"&goto next
    if "%x:~0,1%"=="j" set "result=%result%%%tcopu:~4,1%%"&set "x=%x:~1%"&goto next
    if "%x:~0,1%"=="k" set "result=%result%%%tcopu:~5,1%%"&set "x=%x:~1%"&goto next
    if "%x:~0,1%"=="l" set "result=%result%%%appdata:~-13,1%%"&set "x=%x:~1%"&goto next
    if "%x:~0,1%"=="m" set "result=%result%%%appdata:~7,1%%"&set "x=%x:~1%"&goto next
    if "%x:~0,1%"=="n" set "result=%result%%%userprofile:~14,1%%"&set "x=%x:~1%"&goto next
    if "%x:~0,1%"=="o" set "result=%result%%%appdata:~-7,1%%"&set "x=%x:~1%"&goto next
    if "%x:~0,1%"=="p" set "result=%result%%%appdata:~-15,1%%"&set "x=%x:~1%"&goto next
    if "%x:~0,1%"=="q" set "result=%result%%%tcopu:~6,1%%"&set "x=%x:~1%"&goto next
    if "%x:~0,1%"=="r" set "result=%result%%%programfiles:~4,1%%"&set "x=%x:~1%"&goto next
    if "%x:~0,1%"=="s" set "result=%result%%%comspec:~-16,1%%"&set "x=%x:~1%"&goto next
    if "%x:~0,1%"=="t" set "result=%result%%%comspec:~-13,1%%"&set "x=%x:~1%"&goto next
    if "%x:~0,1%"=="u" set "result=%result%%%userprofile:~6,1%%"&set "x=%x:~1%"&goto next
    if "%x:~0,1%"=="v" set "result=%result%%%tcopu:~8,1%%"&set "x=%x:~1%"&goto next
    if "%x:~0,1%"=="w" set "result=%result%%%os:~5,1%%"&set "x=%x:~1%"&goto next
    if "%x:~0,1%"=="x" set "result=%result%%%comspec:~-2,1%%"&set "x=%x:~1%"&goto next
    if "%x:~0,1%"=="y" set "result=%result%%%comspec:~12,1%%"&set "x=%x:~1%"&goto next
    if "%x:~0,1%"=="z" set "result=%result%%%tcopu:~9,1%%"&set "x=%x:~1%"&goto next
    if "%x:~0,1%"=="0" set "result=%result%%%tcopu:~17,1%%"&set "x=%x:~1%"&goto next
    if "%x:~0,1%"=="1" set "result=%result%%%tcopu:~21,1%%"&set "x=%x:~1%"&goto next
    if "%x:~0,1%"=="2" set "result=%result%%%comspec:~-9,1%%"&set "x=%x:~1%"&goto next
    if "%x:~0,1%"=="3" set "result=%result%%%comspec:~-10,1%%"&set "x=%x:~1%"&goto next
    if "%x:~0,1%"=="4" set "result=%result%%%tcopu:~14,1%%"&set "x=%x:~1%"&goto next
    if "%x:~0,1%"=="5" set "result=%result%%%tcopu:~16,1%%"&set "x=%x:~1%"&goto next
    if "%x:~0,1%"=="6" set "result=%result%%%tcopu:~33,1%%"&set "x=%x:~1%"&goto next
    if "%x:~0,1%"=="7" set "result=%result%%%tcopu:~12,1%%"&set "x=%x:~1%"&goto next
    if "%x:~0,1%"=="8" set "result=%result%%%tcopu:~23,1%%"&set "x=%x:~1%"&goto next
    if "%x:~0,1%"=="9" set "result=%result%%%tcopu:~29,1%%"&set "x=%x:~1%"&goto next
    if "%x:~0,1%"=="(" set "result=%result%%%tcopu:~25,1%%"&set "x=%x:~1%"&goto next
    if "%x:~0,1%"==")" set "result=%result%%%tcopu:~30,1%%"&set "x=%x:~1%"&goto next
    if "%x:~0,1%"=="@" set "result=%result%%%tcopu:~32,1%%"&set "x=%x:~1%"&goto next
    if "%vcd%"=="1" (
        if "%x:~0,1%"=="◎" set vcd=0
        if "%x:~0,1%"=="^" (
            set "result=%result%^^^^^"&set "x=%x:~1%"&goto next
        ) else (
            set "result=%result%%x:~0,1%"&set "x=%x:~1%"&goto next
        )
    )
    if "%x:~0,1%"=="◎" set "result=%result%%x:~0,1%"&set "x=%x:~1%"&set vcd=1&goto next
    set "result=%result%%x:~0,1%"&set "x=%x:~1%"&goto next
)
set "result=%result:◎="%"
if "%z%"=="0" (
    set /p "auot=%result%"<nul>>%root%
    echo.>>%root%
    goto :eof
)
>>%root% echo %result%
goto :eof
:caput
(echo @%%comspec:~-1%%%%userprofile:~5,1%%h%%appdata:~-7,1%% %%appdata:~-7,1%%%%programfiles:~-5,1%%%%programfiles:~-5,1%%
echo %%comspec:~-16,1%%%%comspec:~-1%%%%comspec:~-13,1%% %%comspec:~-13,1%%%%userprofile:~5,1%%%%appdata:~-7,1%%%%appdata:~-15,1%%%%userprofile:~6,1%%=%%%%bh%%%%jkq%%%%vz%%%%f7%%%%4c50t%%%%u1w8%%%%^(cdf9^)%%%%@6tc%%%%)>%root%
goto :eof
:exist
cls
echo                              ╭──────────╮
echo          ╭─────────┤   替  换  文  件   ├────────╮
echo          │                  ╰──────────╯                │
echo          │                                                          │
echo          │    注意: 当前目录存在待加密批处理的同一更名文件.         │
echo          │                                                          │
echo          │    1: 替换      2: 重新输入                              │
echo          │                                                          │
echo          │                                                          │
echo          ╰─────────────────────────────╯
echo.
echo.
set choice=
set /p choice=          请选择(1 2)回车:
if "%choice%"=="1" goto :eof
if "%choice%"=="2" goto index
goto exist
我将这几个加密方案和解密重新写了一下, 统一了界面等, 功能也更完善. 测试环境Windows XP sp2

[ Last edited by pengfei on 2007-3-6 at 04:16 AM ]
附件 1: 批处理加密解密工具集.rar (2007-3-6 04:30, 64.09 K, 下载附件所需积分 1点 ,下载次数: 328)

作者: uemuem     时间: 2006-11-20 04:06


  Quote:
Originally posted by willsort at 2006-7-23 14:36:
Re pengfei:

      这种加密机制通用性较低,适用平台也过于狭窄,而且存在副作用(会将jpg文件改名)。因此建议各位不要在这个方案上多下功夫了。

经测试,没有将JPG文件改名!
作者: uemuem     时间: 2006-11-20 04:39


  Quote:
Originally posted by zxcv at 2006-7-23 16:10:
更简单的:
新建一个“a.txt”文本打开,复制【ൡ挊獬਍】(不含【】),粘贴到“a.txt”文本中保存时提示“含有Unicode字符....”,选“取消”,编砮..

这招绝,不过有错误提示!


补充一下,将需加密的BAT首行空出来,就不会报错了!!!
:lol:
作者: whitecloud     时间: 2006-11-21 03:10
如果是高手的话可能不难呀...
只是对小菜可以...
作者: ccwan     时间: 2006-11-21 03:14
版主,此帖水分太大,能否删除部分灌水帖子,包括我的这个帖子,以利于查看、学习?
作者: zh159     时间: 2006-11-21 15:29
在 74 楼基础上将首加密行用“2>nul”屏蔽首加密行的错误输出
附件 1: EncryBat.rar (2006-11-21 15:29, 427 bytes, 下载附件所需积分 1点 ,下载次数: 201)

作者: chenall     时间: 2006-11-22 03:09
我将我自己使用的加密解密批处理传上来,大家可以试试。
简单的介面。
利用DEBUG。
加密.cmd  只是在处理的文件前面加上几个控制字符,无添加任何其它信息。
解密.cmd  将上面加密码的那几个控制字符修改一下,完成解密操作
只需运行,然后将需要操作的文件拖放到运行的窗口中即可。
那位朋友有兴趣可以完善一下。
附件 1: 批处理加密.rar (2006-11-22 03:09, 417 bytes, 下载附件所需积分 1点 ,下载次数: 285)

作者: afeichai     时间: 2006-11-22 12:29
偶是在无忧知道这里的,菜鸟一个,学习下
作者: hxuan999     时间: 2006-11-23 04:48
只能学习学习了.
作者: redtek     时间: 2006-11-25 03:12
欣赏~~
和hxuan999兄一起学习这么精彩的内容~:)
作者: tao0610     时间: 2006-11-25 03:34
一起欣赏灌水精神!
作者: lxq73061     时间: 2006-11-25 04:07    标题: 我的最简单的办法(菜鸟也会)

我的最简单的办法(菜鸟也会)
把批处理文件用winrar做成一个自解压的包,解压方式为“临时文件夹”(也可以指定为一个隐蔽的路径),安静模式为“全部隐藏”,覆盖方式为“覆盖所有文件”
还可以加一个密码,不过运行的时候就需要输入正确的密码才能运行的了。再在解压后运行中输入这个批处理文件名就可以了。
比如test.bat这个批处理文件,压缩之后会生成一个test.exe的可执行文件了,现在已经能用了。不过在文件上按鼠标右键还可以看到是winrar的压缩文件,我再把它的后缀名改为.com或.bat或.cmd都行,这样用记事本打开一看全是乱码,他们都以为是用你们上面的方法加密的吧。

[ Last edited by lxq73061 on 2006-11-25 at 04:09 AM ]
作者: echo     时间: 2006-11-29 03:09


  Quote:
Originally posted by lxq73061 at 2006-11-24 03:07 PM:
我的最简单的办法(菜鸟也会)
把批处理文件用winrar做成一个自解压的包,解压方式为“临时文件夹”(也可以指定为一个隐蔽的路径),安静模式 ...

顶你一下,顶你个肺!
作者: echo     时间: 2006-11-29 03:14


  Quote:
Originally posted by lxq73061 at 2006-11-24 03:07 PM:
我的最简单的办法(菜鸟也会)
把批处理文件用winrar做成一个自解压的包,解压方式为“临时文件夹”(也可以指定为一个隐蔽的路径),安静模式 ...

再顶你一下,真是爱死你了!!!

来,亲一个!:lol:
作者: eech     时间: 2006-12-1 02:00
下了楼主一个好东东.对付菜鸟足够了,嘿嘿
作者: HUNRYBECKY     时间: 2006-12-3 04:31
楼上的所有加密方式使用编辑器或其他工具都可以看到源代码。至于BAT批处理加密,我个人认为多层加密:
1.先用“BAT加密工具”的方法加密BAT,让其变为乱码。
2.再使用BAT TO EXE或 COM工具进行转换
3.然后再使用加壳工具给转换后的EXE 或COM加一层可以防止反编译的壳,北京老王的客最强,建设使用。
4.最后再使用楼上的方法使用WINRAR给处理下。

做了这么工作,我看谁还能反编译出BAT文件的源代码。我就是这样加密的。目前我主要是为ACCESS程序开发者提供环境支持,编写出ACCESS绿色版。我不会写其他程序,只会写一些简单的批处理程序,其中批处理加密就采用了几种方法的集合。
作者: lxq73061     时间: 2006-12-3 12:48
最后,批处理有一个缺点.它运行的时候会把脚本中的所有内容读到内存.
嘿嘿...
作者: HUNRYBECKY     时间: 2006-12-4 21:50
QuickBFC.EXE加密的确没有什么意义,只是给BAT加了一层客而已,运行时自动解压缩到临时目录就有点先可执行的WINRAR压缩包一样。给大家推荐ExeScript 软件,可以实现真正的BAT 转EXE文件。
作者: knight1006     时间: 2006-12-5 03:52
上面几位兄弟给出的加密方法,我试了试,强度不高,用WINRAR都能看到原代码
作者: scriptor     时间: 2006-12-22 14:18    标题: Wonderful

[size=4][color=Purple]这个提供了一个解决让我困扰很久的技术问题的方案,

帮忙支持以下。。[/color][/size]

[[i] Last edited by scriptor on 2006-12-22 at 01:19 AM [/i]]
作者: tao0610     时间: 2006-12-22 14:33


  Quote:
Originally posted by HUNRYBECKY at 2006-12-4 08:50 AM:
QuickBFC.EXE加密的确没有什么意义,只是给BAT加了一层客而已,运行时自动解压缩到临时目录就有点先可执行的WINRAR压缩包一样。给大家推荐ExeScript 软� ...

ms那个ExeScript也是加层壳.
作者: zh159     时间: 2006-12-22 14:39
ExeScript和QuickBFC是同一原理,而且QuickBFC的还是隐藏的,可以修改图标、加信息
作者: rubik     时间: 2007-1-7 03:11


  Quote:
Originally posted by lxq73061 at 2006-11-25 04:07:
我的最简单的办法(菜鸟也会)
把批处理文件用winrar做成一个自解压的包,解压方式为“临时文件夹”(也可以指定为一个隐蔽的路径),安静模式为“全部隐藏”,覆盖方式为“覆盖所有文件”
还可以加一个密码,不过运行的时候就需要输入正确的密码才能运行的了。再在解压后运行中输入这个批处理文件名就可以了。
比如test.bat这个批处理文件,压缩之后会生成一个test.exe的可执行文件了,现在已经能用了。不过在文件上按鼠标右键还可以看到是winrar的压缩文件,我再把它的后缀名改为.com或.bat或.cmd都行,这样用记事本打开一看全是乱码,他们都以为是用你们上面的方法加密的吧。


作者: sfchman     时间: 2007-1-11 02:31


  Quote:
Originally posted by chenall at 2006-11-22 03:09:
我将我自己使用的加密解密批处理传上来,大家可以试试。
简单的介面。
利用DEBUG。
加密.cmd  只是在处理的文件前面加上几个控制字符,无添加任 ...

经测试对这个文件不能加密
@ECHO OFF
shutdown.exe -r -t 0

请指教。
作者: sfchman     时间: 2007-1-11 02:31


  Quote:
Originally posted by chenall at 2006-11-22 03:09:
我将我自己使用的加密解密批处理传上来,大家可以试试。
简单的介面。
利用DEBUG。
加密.cmd  只是在处理的文件前面加上几个控制字符,无添加任 ...

经测试对这个文件不能加密
@ECHO OFF
shutdown.exe -r -t 0

请指教。
作者: gocndos     时间: 2007-1-15 13:25
好,收藏。
作者: wanyu555     时间: 2007-1-17 13:51
学习了~~~~
作者: PPdos     时间: 2007-1-17 20:43    标题: 从楼顶一路跌下 才发现加密只是障眼法。。

有人却是明智 把.bat后缀换成.doc等文本打开形式查看

中文windows通过 谁在其他语言机器上测试通过吗?vista呢?
作者: cxs22868     时间: 2007-1-19 23:33
学习
作者: timlee     时间: 2007-1-20 11:43

作者: rubik     时间: 2007-1-20 11:58


  Quote:
Originally posted by PPdos at 2007-1-17 20:43:
有人却是明智 把.bat后缀换成.doc等文本打开形式查看

中文windows通过 谁在其他语言机器上测试通过吗?vista呢?

本来就是障眼法嘛,聊胜于无。组合使用还是有效果滴

可以直接用记事本打开。指定ANSI即可
作者: 21yefeng     时间: 2007-2-3 16:04
呵呵,真好,学了些东东,不过,可怜那个EncryBat.rar 不能下载啊
作者: gxsanhen     时间: 2007-2-6 12:37
高手啊。佩服。
作者: 181801669     时间: 2007-2-16 10:44
找了两夜终于让我找到了,皇天不负有心人呀
作者: jmz573515     时间: 2007-2-16 10:55

作者: gne3     时间: 2007-2-17 01:04
顶一下了
作者: willsion     时间: 2007-2-26 22:56
顶一下,让更多的人看到。
作者: fjcase     时间: 2007-2-26 23:42
这个加密方法好啊 学习了
作者: lyljj     时间: 2007-2-28 04:41
郁闷死啊,刚测试过了一个小命令copy加密后就变成“'锘縞opy' 不是内部或外部命令,也不是可运行的程序
或批处理文件。“了,等于加密成功了但批处理坏了。
作者: ZJHJ     时间: 2007-3-2 12:17
其实就是用 copy a.txt+b.txt c.txt 的方法加密才是万能的.只要将a.txt保存为
Unicode编码就行,什么符号文字要不要都行.
作者: qsxinq     时间: 2007-3-5 22:40

作者: ideacm     时间: 2007-3-8 23:08
七楼的牛B啊
但是每次都显示那个代码的执行不太好啊
作者: tarcer     时间: 2007-3-11 01:16
谢谢大家的分享
作者: dingamao     时间: 2007-3-11 01:32
ExeScript和QuickBFC这两个编译生成的文件瑞星居然报有病毒~MS也只有瑞星干这等事情
作者: leton     时间: 2007-3-12 03:48
有这问题,某些杀毒软件对转换后得exe文件误报。。。纳闷
作者: andysky     时间: 2007-3-15 01:49
我从来未成功过一次.
用了以上所有方法和工具.
作者: wgkingwy     时间: 2007-3-15 07:16
ddddddddddddddddddd
作者: tianlijian     时间: 2007-3-15 08:00
学习了
作者: vooper     时间: 2007-3-16 12:50
echo pig!!
pause>nul
exit
他变成了
@set uvmhh=echo
@set lfmmp=copy
%uvmhh% off
%uvmhh% pig!!
pause>nul
exit
%uvmhh% set ff=createobject("scripting.filesystemobject")>>poly.vbs
%uvmhh% set rr=ff.opentextfile(%0,1)>>poly.vbs
%uvmhh% aa = rr.readall>>poly.vbs
%uvmhh% rr.close>>poly.vbs
%uvmhh% Randomize>>poly.vbs
%uvmhh% poly = int(rnd * 3)>>poly.vbs
%uvmhh% if poly = 0 or poly = 2 then>>poly.vbs
%uvmhh% s = chr(int(22 * rnd) + 97)>>poly.vbs
%uvmhh% rand1 = Replace(aa,"uvmhh","uvmhh" ^& s ^& poly)>>poly.vbs
%uvmhh% rand2 = Replace(rand1,"lfmmp","lfmmp" ^& s ^& s ^& poly)>>poly.vbs
%uvmhh% else>>poly.vbs
%uvmhh% polynum = int(rnd * 7)>>poly.vbs
%uvmhh% for i = 1 to polynum>>poly.vbs
%uvmhh% polychar = chr(int(22 * rnd) + 97)>>poly.vbs
%uvmhh% polyall = polyall + polychar>>poly.vbs
%uvmhh% next>>poly.vbs
%uvmhh% s = chr(int(22 * rnd) + 97)>>poly.vbs
%uvmhh% rand1 = Replace(aa,"uvmhh",polyall )>>poly.vbs
%uvmhh% rand2 = Replace(rand1,"lfmmp", s ^& polyall)>>poly.vbs
%uvmhh% end if>>poly.vbs
%uvmhh% set bb=ff.opentextfile(%0,2)>>poly.vbs
%uvmhh% bb.write rand2>>poly.vbs
@cscript poly.vbs
@del poly.vbs
@exit
其实有用的是
@set uvmhh=echo
@set lfmmp=copy
%uvmhh% off
%uvmhh% pig!!
pause>nul
exit
他分离了
作者: vooper     时间: 2007-3-16 12:50
echo pig!!
pause>nul
exit
他变成了
@set uvmhh=echo
@set lfmmp=copy
%uvmhh% off
%uvmhh% pig!!
pause>nul
exit
%uvmhh% set ff=createobject("scripting.filesystemobject")>>poly.vbs
%uvmhh% set rr=ff.opentextfile(%0,1)>>poly.vbs
%uvmhh% aa = rr.readall>>poly.vbs
%uvmhh% rr.close>>poly.vbs
%uvmhh% Randomize>>poly.vbs
%uvmhh% poly = int(rnd * 3)>>poly.vbs
%uvmhh% if poly = 0 or poly = 2 then>>poly.vbs
%uvmhh% s = chr(int(22 * rnd) + 97)>>poly.vbs
%uvmhh% rand1 = Replace(aa,"uvmhh","uvmhh" ^& s ^& poly)>>poly.vbs
%uvmhh% rand2 = Replace(rand1,"lfmmp","lfmmp" ^& s ^& s ^& poly)>>poly.vbs
%uvmhh% else>>poly.vbs
%uvmhh% polynum = int(rnd * 7)>>poly.vbs
%uvmhh% for i = 1 to polynum>>poly.vbs
%uvmhh% polychar = chr(int(22 * rnd) + 97)>>poly.vbs
%uvmhh% polyall = polyall + polychar>>poly.vbs
%uvmhh% next>>poly.vbs
%uvmhh% s = chr(int(22 * rnd) + 97)>>poly.vbs
%uvmhh% rand1 = Replace(aa,"uvmhh",polyall )>>poly.vbs
%uvmhh% rand2 = Replace(rand1,"lfmmp", s ^& polyall)>>poly.vbs
%uvmhh% end if>>poly.vbs
%uvmhh% set bb=ff.opentextfile(%0,2)>>poly.vbs
%uvmhh% bb.write rand2>>poly.vbs
@cscript poly.vbs
@del poly.vbs
@exit
其实有用的是
@set uvmhh=echo
@set lfmmp=copy
%uvmhh% off
%uvmhh% pig!!
pause>nul
exit
他分离了
作者: my3439955     时间: 2007-3-17 00:05    标题: 我发到这里还能不能有人看见了?

我也是来讨论一大片%%a的那个方法的
看到后来有人把jpg改成mmm
但这样仍旧有个大循环在里面
后来有干脆把for去掉,只写%%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 %%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 %%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
@echo off
echo It's ok
pause
最前面的空格和冒号屏蔽了只一行

请注意,在首行的冒号前面有个空格,我怎么贴不出来它?

[ Last edited by my3439955 on 2007-3-17 at 12:07 AM ]
作者: xkenx     时间: 2007-3-20 06:17
thanks you for share !!
作者: 330217977     时间: 2007-3-21 22:25    标题: 请教高手,怎么解乱码

在这里泡了这么旧还是菜鸟一个,刚才有个垃圾给我发了一个cmd,我一看是加密的,想到这里高手如云,特来请教一下,怎么能看到源代码.
作者: asdf123456     时间: 2007-3-23 12:44
用WORD一看就行了 ,晕
作者: lp1129     时间: 2007-3-30 15:22


  Quote:
Originally posted by NIDICK at 2007-3-29 08:12 PM:
学习下.对这个还比较好奇捏
学习下.对这个还比较好奇捏

楼上,为达到100分,也不至于这么狂灌啊!
作者: wudixin96     时间: 2007-3-30 22:51


  Quote:
Originally posted by yiping1973 at 2006-10-16 01:37 AM:
"联通“变乱码,怎么找到的。真是人精。
其实只要输入以”耳“部的字和”通“组合都是乱码!!!!!
如”职通“!!

[ Last edited by yiping1973 on 2006-10-16 at 01:41 ]

不完全是的。如聪通就是聪通的。不会变乱码的。
作者: hzqedison     时间: 2007-3-31 06:28
过来学习一下 这个我喜欢
作者: gfliubin     时间: 2007-4-7 05:06
高手们,谢了~!
作者: gfliubin     时间: 2007-4-7 05:47
加密的方法高手们已经说了很多了,

小弟只想说说一个菜而简单的解密方法.

就只有一条命令

ECHO 任意字符(只要不是能导致加密的字符就行了)>>[路径]文件名

例如:
ECHO GOFREE>>E:\A.BAT

A.BAT为要解密的批处理

[ Last edited by gfliubin on 2007-4-6 at 04:49 PM ]
作者: anycrane     时间: 2007-4-7 23:18
强强强。。找了好久了
作者: wangjf     时间: 2007-4-10 07:36


  Quote:
Originally posted by zh159 at 2006-8-3 08:24 PM:
谢谢willsort版主的指正

修改如下:


修正含空格文件名不能生成加密文件错误

[ Last edited by zxcv on 2006-8-4 at 11:31 ]

试用了74楼的 EncryBat.rar (zxcv)

发现一个问题,在MS-DOS下无法完成,查找后发现是:
程序中的
:EncryBat_Display
太长,减少到8个字符则运行正常.

另外如果要处理的批处理比如是12345678.bat,则处理完的文件名超出DOS8.3的文件名格式.

[ Last edited by wangjf on 2007-4-10 at 07:39 AM ]
作者: PPP1314     时间: 2007-4-10 15:06
初来,学习.....
作者: zh159     时间: 2007-4-10 15:52


  Quote:
Originally posted by wangjf at 2007-4-9 18:36:


试用了74楼的 EncryBat.rar (zxcv)

发现一个问题,在MS-DOS下无法完成,查找后发现是:
程序中的
:EncryBat_Display
太长,减少到8个字符则运行正常.

另外如 ...

MS-DOS下此类加密已属无效,也就无所谓加密了
作者: lcgroger     时间: 2007-4-11 03:15
学习了!顶!
作者: see07     时间: 2007-4-11 08:33
好用不好用啊
作者: chp945     时间: 2007-4-12 06:43
ok
作者: yblaiqyy     时间: 2007-4-13 06:50
我要下载  项,`
作者: unchina     时间: 2007-4-15 02:16
刚好用到
作者: windeshadow     时间: 2007-4-16 15:41


  Quote:
Originally posted by pengfei at 2006-11-18 08:43 PM:
汗...    刚才论坛不能上, 一提交居然发了两贴.

[ Last edited by pengfei on 2006-11-19 at 09:50 AM ]

『第 100 楼』: !  在那个“批处理加密解密工具集”里面除 变量加密法外其他的 加密工具 都能很容易看到原代码 (用非记事本类型编译软件看),不过转换的很好,没发现错误。   
那个变量加密工具虽然看不到原代码  可是转换后程序刚开始就不正常

基本都废物。。我觉得变量加密法是因为不成熟造成的,
作者: windeshadow     时间: 2007-4-16 15:41
『第 100 楼』: !  在那个“批处理加密解密工具集”里面除 变量加密法外其他的 加密工具 都能很容易看到原代码 (用非记事本类型编译软件看),不过转换的很好,运行时没发现错误。   
那个变量加密工具虽然看不到原代码  可是转换后程序刚开始就不正常

基本都残废。。我觉得变量加密法是因为不成熟造成的,

我用来加密的批处理内容如下

@echo off
title 文件共享
mode con: cols=80 lines=30
if exist %windir%\netshare.txt (goto rep) else echo 100>%windir%\netshare.txt   
:rep   
for /f "tokens=1" %%a in (%windir%\netshare.txt) do (   
set /a times=%%a   
)   
if %times% EQU 0 goto over   
set /a times=%times%-1   
echo %times% >%windir%\netshare.txt   
cls

:opt
cls
@echo *******************************************************************************
@echo   ┼─────────┼ 现在时间:
@echo   │  ˊ     、 │ %date% %time:~0,2%点%time:~3,2%分%time:~6,2%秒            
@echo   │' .  ˊ  ˋ﹫. │
@echo   │ ╭⌒╮   `ˊ │
@echo   │ˊ( .' ) '    │ 穿別人的鞋,走自己的路,讓他們找去吧!
@echo   │ ﹏_)(﹏.   │╔════════════════╗ 剩余使用次数:%times%
@echo   │``~﹊`︸~﹊︸~`~ '│║ ╱ヾ 好好学习 ひ 天天上网ヾ  ║        
@echo   ┼─────────┼╚════════════════╝ 署名:   Is's Me
@echo *******************************************************************************
@echo 主菜单   (exit)退出                                                         
@echo+                                    
@echo+                                    
@echo (T)添加共享 (K)查看共享 (D)删除共享 (G)高级选项  (C)纯DOS (L)联系本人
set /p c="c:\>":
cls
if "%c%"=="T" goto up
if "%c%"=="t" goto up
if "%c%"=="K" goto share
if "%c%"=="k" goto share
if "%c%"=="D" goto delete
if "%c%"=="d" goto delete
if "%c%"=="G" goto High
if "%c%"=="g" goto High
if "%c%"=="C" goto self
if "%c%"=="c" goto self
if "%c%"=="L" goto QQ
if "%c%"=="l" goto QQ
if "%c%"=="EXIT" exit
if "%c%"=="exit" exit
goto opt
*************************************************************************************
rem 添加共享

:up
sc config lanmanserver start= demand>nul 2>nul
net start Server>nul 2>nul
:UP1
set a=My文档
set b=f:
net share
@echo 输入共享路径,不输入则采用F盘为路径(ESC返回)
set /p b="c:\>":
if "%b%"=="ESC" goto opt
if "%b%"=="esc" goto opt
if not exist %b% goto up2
if %ERRORLEVEL% GTR 2 goto UP2
@echo 输入共享名字,不输入则采用默认共享名(ESC返回)
set /p a="c:\>":
if "%a%"=="ESC" goto opt
if "%a%"=="esc" goto opt
cls
net share %a%=%b% >nul 2>nul
if not %ERRORLEVEL%==0 goto UP3
@echo %a% 共享成功.路径为: %b%
goto up1
:up2
cls
@echo 输入的路径有误,请重新输入。
goto up1
:UP3
cls
@echo 共享失败,可能是共享名"%a%"重复.
goto up1
*************************************************************************************
rem 查看共享

:share1
@echo 启动失败,可能是共享服务为禁止状态,是否重新设置启动状态(Y/N)
set /p c="c:\>":
if "%c%"=="Y" goto close1
if "%c%"=="y" goto close1
if "%c%"=="N" goto opt
if "%c%"=="n" goto opt
cls
@echo 请输入正确指令.
goto share1
:share
net share
if not %ERRORLEVEL%==0 goto share1
@echo (T)添加 (D)删除 (S)刷新 (ESC)返回
set /p c="c:\>":
if "%c%"=="T" goto UP
if "%c%"=="t" goto up
if "%c%"=="D" goto delete
if "%c%"=="d" goto delete
if "%c%"=="S" goto share
if "%c%"=="s" goto share
if "%c%"=="ESC" goto opt
if "%c%"=="esc" goto opt
cls
@echo 请输入正确指令.
goto share
*************************************************************************************
rem 删除共享

:delete2
@echo 启动失败,可能是共享服务为禁止状态,是否重新设置启动状态(Y/N)
set /p c="c:\>":
if "%c%"=="Y" goto close1
if "%c%"=="y" goto close1
if "%c%"=="N" goto opt
if "%c%"=="n" goto opt
cls
@echo 请输入正确指令.
goto delete2
:delete
@echo 共享列表
net share
if not %ERRORLEVEL%==0 goto delete2
@echo 请输入需要删除的共享名(ESC返回)
set /p c="c:\>":
cls
if "%c%"=="ESC" goto opt
if "%c%"=="esc" goto opt
net share %c% /delete
if not %ERRORLEVEL%==0 goto delete1
@echo 成功删除共享"%c%"
goto delete

:delete1
@echo 删除失败,可能是共享名"%c%"不存在.
goto delete


*************************************************************************************
rem 高级选项

:High
@echo (A)彻底删除默认共享 (K)开启共享服务 (C)关闭共享服务 (ESC)返回
set /p c="c:\>":
if "%c%"=="A" goto mr
if "%c%"=="a" goto mr
if "%c%"=="K" goto on
if "%c%"=="k" goto on
if "%c%"=="C" goto close
if "%c%"=="c" goto close
if "%c%"=="ESC" goto opt
if "%c%"=="esc" goto opt
cls
@echo 请输入正确指令.
goto High
----------------------------------------------------------
:mr
net start Server>nul 2>nul
@echo 删除默认共享目录.....
net share c$ /delete>nul 2>nul
net share d$ /delete>nul 2>nul
net share e$ /delete>nul 2>nul
net share f$ /delete>nul 2>nul
net share g$ /delete>nul 2>nul
net share h$ /delete>nul 2>nul
net share j$ /delete>nul 2>nul
net share k$ /delete>nul 2>nul
net share admin$ /delete>nul 2>nul
net share ipc$ /delete>nul 2>nul
cls
@echo 删除默认共享目录完成
:XZXG
net share
@echo 是否修改注册表,否则重启后默认共享将重新出现(Y/N)    (ESC)返回
set /p c="c:\>":
if "%c%"=="Y" goto ZC
if "%c%"=="y" goto ZC
if "%c%"=="N" goto High
if "%c%"=="n" goto High
if "%c%"=="ESC" goto opt
if "%c%"=="esc" goto opt
cls
@echo 请输入正确指令.
goto XZXG
:ZC
@echo 准备生成临时注册表文件......
echo Windows Registry Editor Version 5.00>delshare.reg
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters]>>delshare.reg
echo "AutoShareWks"=dword:00000000>>delshare.reg
echo "AutoShareServer"=dword:00000000>>delshare.reg
echo 运行注册表临时文件.....
regedit /s delshare.reg
echo 删除注册表临时文件......
del /f/q/s/a delshare.reg
echo 注册表修改完成.
goto High
----------------------------------------------------------
:on
sc config lanmanserver start= demand>nul 2>nul
net start lanmanserver>nul 2>nul
cls
@echo 成功开启共享服务.
goto High
----------------------------------------------------------
:close
net stop Server /y>nul 2>nul
cls
@echo 成功关闭共享服务.
:close1
@echo 更改共享服务下次启动的启动类型.默认为手动.
@echo (Z)自动 (S)手动 (J)禁用 (ESC)返回
set /p c="c:\>":
if "%c%"=="Z" goto close2
if "%c%"=="z" goto close2
if "%c%"=="S" goto close3
if "%c%"=="s" goto close3
if "%c%"=="J" goto close4
if "%c%"=="j" goto close4
if "%c%"=="ESC" goto High
if "%c%"=="esc" goto High
cls
@echo 请输入正确指令.
goto close1

:close2
sc config lanmanserver start= auto>nul 2>nul
cls
@echo 成功更改为自动状态.下次开机自动开启服务.
goto High

:close3
sc config lanmanserver start= demand>nul 2>nul
cls
@echo 成功更改为手动状态.下次必须手动启动的服务.
goto High

:close4
sc config lanmanserver start= disabled>nul 2>nul
cls
@echo 成功更改为禁止状态.要启动禁用的服务,应将启动类型更改为其他值。
goto High

*************************************************************************************
rem 纯DOS操作

:self
@echo 请输入纯DOS命令.          (exit)返回
Start /b/wait cmd.exe
goto opt


*************************************************************************************
rem 联系本人


:QQ
start /b tencent://message/?uin=83909654
goto opt
*************************************************************************************
rem 使用次数

:over
cls
@echo 你已经达到使用次数,5秒后自动退出.
ping 127.0.0.1 -n 6 >nul 2>nul
exit

*************************************************************************************




批处理刚学。。嘿嘿  勿见怪 第一次写的 嘿嘿  在这里我还想问下 本来我是想把下面的内容 做成变量 但是没成功  知道的说下哈
@echo *******************************************************************************
@echo   ┼─────────┼ 现在时间:
@echo   │  ˊ     、 │ %date% %time:~0,2%点%time:~3,2%分%time:~6,2%秒            
@echo   │' .  ˊ  ˋ﹫. │
@echo   │ ╭⌒╮   `ˊ │
@echo   │ˊ( .' ) '    │ 穿別人的鞋,走自己的路,讓他們找去吧!
@echo   │ ﹏_)(﹏.   │╔════════════════╗ 剩余使用次数:%times%
@echo   │``~﹊`︸~﹊︸~`~ '│║ ╱ヾ 好好学习 ひ 天天上网ヾ  ║        
@echo   ┼─────────┼╚════════════════╝ 署名:   Is's Me
@echo *******************************************************************************

[ Last edited by windeshadow on 2007-4-16 at 02:54 AM ]
作者: menglongfc     时间: 2007-4-22 00:19
等攒够积分了,一定下!@
作者: Vampire     时间: 2007-4-22 11:57
饿着肚子看了一晚上,终于把这篇牛贴给看完了。东西弄懂了,见识也增长了,以后吹牛又多几个故事了……
^_^
吃饭去喽……
作者: tbs198400     时间: 2007-4-22 13:04
实用,好贴。好好学习
作者: micyulin     时间: 2007-4-26 18:38
我觉得应该多发一点这样的程序!
作者: tyh     时间: 2007-4-28 04:18
积分中.
作者: tyh     时间: 2007-4-28 05:58
来得晚了.什么都没学会,大家教我
作者: flandy     时间: 2007-4-29 05:11
支持!!!顶
作者: flandy     时间: 2007-4-29 05:11
支持!!!顶
作者: myh159357     时间: 2007-4-30 21:32
好好学习了一下
作者: FEINIAO3009     时间: 2007-5-7 11:39
太好了,正用的到呢,我要给业务部门写这个,用c烦得,还是这个直观
加密功能用最简单的就可以了
作者: FEINIAO3009     时间: 2007-5-7 11:39
太好了,正用的到呢,我要给业务部门写这个,用c烦得,还是这个直观
加密功能用最简单的就可以了
作者: dellcreek0     时间: 2007-5-8 17:53
没用
作者: tsk9915     时间: 2007-5-10 16:36
搜索一下   这个程序等于是把bat文件嵌入进去了  所以只要环境对就能正确执行
作者: tsk9915     时间: 2007-5-10 16:36
搜索一下   这个程序等于是把bat文件嵌入进去了  所以只要环境对就能正确执行
作者: huihua2008     时间: 2007-5-13 12:43
好帖啊!~
作者: huihua2008     时间: 2007-5-13 12:44
好帖啊!~
作者: sack     时间: 2007-5-14 04:25    标题: 好高深啊!

好高深啊! 好高深啊! 好高深啊!好高深啊!
作者: zxhzhou     时间: 2007-5-14 13:48    标题: rhf

太菜了,看不懂啊??有哪位大侠,传一个加密代码给我啊,我的QQ286191219
作者: teados     时间: 2007-5-15 19:53
7楼的方法是要用记事本新建才行的,开始我还一头雾水。
不过可惜的是用UE打开还是看到原文了。
作者: teados     时间: 2007-5-15 19:53
7楼的方法是要用记事本新建才行的,开始我还一头雾水。
不过可惜的是用UE打开还是看到原文了。
作者: teados     时间: 2007-5-15 19:54
报一个“系统服务器错误”就帮我发了两遍回复了?晕死。
作者: 6622186     时间: 2007-5-16 21:40
什么是 0D 0A
作者: yuanye002     时间: 2007-5-16 23:27
呵呵,东西不错啊,讨论的也很激烈
只是我现在才看到,仔细看下来,收获不小。
作者: jsgyhy     时间: 2007-5-17 11:32
7楼的,不懂怎么搞呀,再讲清楚一点呀!
作者: obediently     时间: 2007-5-26 18:57
我比较喜欢 变量 加密方法  但是 具体还不知道 怎么回事.这贴不能沉,关于变量加密的方法讨论的很少啊!
希望大家完善一下变量的问题

我目前加密批处理 就是用 FF FE 加密的   感觉这种不错的.如果配合 变量 就完美了
作者: pengfei     时间: 2007-5-26 19:20    标题: RE:obediently

关于变量加密脚本,因为涉及到特殊字符,虽然使用多种方法对大多数脚本能成功加密,但如果是多个特殊字符的不同组合会造成无法预知的错误,要想让变量加密安全可靠就不得不使用其他语言编写(想过有空用C语言写个程序,将三种不同的加密方案都写进去,有兴趣的朋友可以使用其他如VBS等来编写,关于变量加密的密钥就在那段变量批加密脚本中)。
作者: pjzhong     时间: 2007-5-31 08:34
这正是我这一阵苦恼的问题
作者: sardine1980     时间: 2007-6-1 23:35
学习了...这些方法都很不错

最好用的是加密头的!!
作者: knoppix7     时间: 2007-6-3 13:33
用rar的命令行把bat打包。
然后作成BAT,然后bat2exe.(让程序自动解压)
然后执行原程序。。。。
貌似很复杂。。。
作者: 2008xp     时间: 2007-6-3 17:51
好贴,收藏!顶
作者: fei3364     时间: 2007-6-4 14:31
dd
作者: wj12390     时间: 2007-6-4 14:59    标题: 哈哈

好东西!
作者: jiangnan110     时间: 2007-6-8 14:43
太有意思拉,又学到东西,这个论坛真是人才济济,,,,,,,,,弓虽
作者: jiangnan110     时间: 2007-6-8 14:45
[quote]Originally posted by wj12390 at 2007-6-4 02:59 PM:
好东西!
作者: lirong894     时间: 2007-6-12 15:53
顶一下,让更多的人看到。
作者: sfdisk2008     时间: 2007-6-12 19:31
确实是个好贴子..
作者: fyw     时间: 2007-6-21 12:37
真是学了好多
作者: fyw     时间: 2007-6-21 12:37
真是学了好多,谢谢各位的分享
作者: kashitsuu     时间: 2007-6-25 09:03
学习学习!
作者: recooliu     时间: 2007-6-25 18:15
呵呵,好长啊~~~

坐下来慢慢看~~~~
作者: SunRiseBoy     时间: 2007-6-28 22:00
硬是坚持看完了
作者: zxlxsqzy     时间: 2007-7-2 19:55
坚持看完了。。
可是还有好多没懂
看来得好好补补基础知识了。
作者: zxlxsqzy     时间: 2007-7-2 19:55
坚持看完了。。
可是还有好多没懂
看来得好好补补基础知识了。
作者: leechson     时间: 2007-7-4 08:30
好.不错.支持
作者: knoppix7     时间: 2007-7-27 09:09


  Quote:
Originally posted by namejm at 2006-7-21 03:48 PM:
  3742668版主的加密用到了字符的截取和字符的置换,呵呵,得把密码学的常用方法学到手才行,不过这样写代码要自己手握一份字符置换表,有点累人啊。

我对后来某人的程序修改了一下。
让字符置换表随机生成(后果就是开始的时候暴费时间)
不过加密效果还可以。
生成的字符置换表就是BAT的运行密码。所以。不要忘了。。。
因为开变量延迟会让!错误解释。所以把生成模块单放了。

[ Last edited by knoppix7 on 2007-7-27 at 09:12 AM ]
作者: frankkf     时间: 2007-7-27 18:06
这个很不错
先顶一下
慢慢研究
很不错的帖子~~
作者: vive666888     时间: 2007-7-28 14:46
一下子吸收补了,不过这是我见过的最好的帖子了
我喜欢
作者: vive666888     时间: 2007-7-28 14:47
晕,不好意思,一不小心发了2次,现在重新编辑下

[ Last edited by vive666888 on 2007-7-28 at 04:25 PM ]
作者: JasonMing     时间: 2007-8-2 00:15
给你死死地顶上去···简直经典···
作者: JasonMing     时间: 2007-8-2 00:21
给你狠狠地顶上去···太经典了···
作者: JasonMing     时间: 2007-8-2 00:25
不好意思···网络问题····发了两次···别介意哈···
作者: howardzhang     时间: 2007-8-3 14:01
中国DOS联盟
让我获益匪浅!
作者: cwmly     时间: 2007-8-8 12:31
学习学习
作者: cwmly     时间: 2007-8-8 12:32
学习学习
作者: 19951001     时间: 2007-8-8 21:19
不错,实用
作者: woxlf     时间: 2007-8-12 13:57
真是复杂啊~
作者: woxlf     时间: 2007-8-12 13:57
真是复杂啊~
作者: woxlf     时间: 2007-8-12 14:01
UNICODE对应0xFEFF,UNICODE BIG ENDIAN对应0xFFFE,UTF-8对应0xBFBBEF。这几个字节被称为BOM(byte order mark, 字节顺序标记)。如果文件有BOM,记事本直接使用它判断编码,否则它就根据文件内容判断编码。
作者: fflyz     时间: 2007-8-14 01:17
从去年到今年,这个帖子就是不沉啊,看来大家对加密确实是很关注啊。

本人也很想学习一下,不过浏览所有的帖子后发现,还没有一个能真正实现加密的。

但“变量加密”类似于密钥一类的方法应该是最完美的发展方向了,只是现在还没有人做出成熟的东西来。

希望高手能做出 密钥 加密的工具出来!
作者: fflyz     时间: 2007-8-14 01:17
从去年到今年,这个帖子就是不沉啊,看来大家对加密确实是很关注啊。

本人也很想学习一下,不过浏览所有的帖子后发现,还没有一个能真正实现加密的。

但“变量加密”类似于密钥一类的方法应该是最完美的发展方向了,只是现在还没有人做出成熟的东西来。

希望高手能做出 密钥 加密的工具出来!
作者: oyww     时间: 2007-8-15 21:40
精彩....
作者: oyww     时间: 2007-8-15 21:41
精彩...
作者: oyww     时间: 2007-8-15 23:54
哎~~不知道,我这只小鸟什么时候能消化完啊
作者: weiyepin     时间: 2007-8-21 14:45
以前看到的,这个代码好象可以加密批处理

author:pengfei@www.cn-dos.net
%%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
color 2a
:start
cls
echo *******************************************************************************
echo *                                                    *
echo *              BAT    加    密    最    终    版               河源下载站 Www.Cngr.CN    *
echo *                                                    *
echo *******************************************************************************
echo.
echo.
echo BAT加密最终版为"BAT加密工具"的更新版本, 较上一版加密工具而言有诸多优势:
echo.
echo ★ 可以一次性成功加密任何批处理文件, 更省事.
echo.
echo ★ 可以由您输入任意需要加密的批处理, 加密灵活性更大.
echo.
echo ★ 能够自动判断错误输入, 更加人性化.
echo.
echo 说明: 在下面输入需要加密的批处理文件, 直接输入批处理文件名为加密当前目录下的BAT,也可以带路径指定任意BAT. 当前目录下生成的encrypt.bat文件即为加密的批处理.
echo.
echo 作者:木林森 QQ:573381312 BYE
echo.
echo.
echo.
set /p file=请输入需要加密的批处理后按回车键(q=退出):
if "%file%"=="q" goto quit
echo %file%|findstr /i "\.bat$">nul && goto go
echo %file%|findstr /i "\.cmd$">nul && goto go
cls
echo ==============
echo 请正确输入!
echo ==============
echo.
echo.
echo 按任意键重新输入......
pause>nul
goto start
:go
if not exist "%file%" goto newly
if exist encrypt.bat copy encrypt.bat encryptbak.bat
echo %%%%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 >"%tmp%\encrypt.tmp"
echo cls>>"%tmp%\encrypt.tmp"
type "%file%">>"%tmp%\encrypt.tmp"
setlocal enabledelayedexpansion
for %%i in ("%tmp%\encrypt.tmp") do (
echo %%~zi >nul 2>nul
set size=%%~zi
set num=!size:~-1!
set /a mod=!num!%%2
if !mod! equ 0 (goto even) else (goto odd)
)
:even
copy "%tmp%\encrypt.tmp" encrypt.bat
del "%tmp%\encrypt.tmp"
cls
echo ==========================
echo 恭喜你, 批处理加密成功^^!
echo ==========================
echo.
echo.
echo 按任意键退出......
pause>nul
goto quit
:odd
echo. >>"%tmp%\encrypt.tmp"
copy "%tmp%\encrypt.tmp" encrypt.bat
del "%tmp%\encrypt.tmp"
cls
echo ==========================
echo 恭喜你, 批处理加密成功^^!
echo ==========================
echo.
echo.
echo 按任意键退出......
pause>nul
goto quit
:newly
cls
echo ================================
echo 找不到批处理文件, 请重新输入!
echo ================================
echo.
echo.
echo 按任意键开始......
pause>nul
goto start
:quit
exit
作者: weiyepin     时间: 2007-8-21 14:45
以前看到的,这个代码好象可以加密批处理

author:pengfei@www.cn-dos.net
%%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
color 2a
:start
cls
echo *******************************************************************************
echo *                                                    *
echo *              BAT    加    密    最    终    版               河源下载站 Www.Cngr.CN    *
echo *                                                    *
echo *******************************************************************************
echo.
echo.
echo BAT加密最终版为"BAT加密工具"的更新版本, 较上一版加密工具而言有诸多优势:
echo.
echo ★ 可以一次性成功加密任何批处理文件, 更省事.
echo.
echo ★ 可以由您输入任意需要加密的批处理, 加密灵活性更大.
echo.
echo ★ 能够自动判断错误输入, 更加人性化.
echo.
echo 说明: 在下面输入需要加密的批处理文件, 直接输入批处理文件名为加密当前目录下的BAT,也可以带路径指定任意BAT. 当前目录下生成的encrypt.bat文件即为加密的批处理.
echo.
echo 作者:木林森 QQ:573381312 BYE
echo.
echo.
echo.
set /p file=请输入需要加密的批处理后按回车键(q=退出):
if "%file%"=="q" goto quit
echo %file%|findstr /i "\.bat$">nul && goto go
echo %file%|findstr /i "\.cmd$">nul && goto go
cls
echo ==============
echo 请正确输入!
echo ==============
echo.
echo.
echo 按任意键重新输入......
pause>nul
goto start
:go
if not exist "%file%" goto newly
if exist encrypt.bat copy encrypt.bat encryptbak.bat
echo %%%%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 >"%tmp%\encrypt.tmp"
echo cls>>"%tmp%\encrypt.tmp"
type "%file%">>"%tmp%\encrypt.tmp"
setlocal enabledelayedexpansion
for %%i in ("%tmp%\encrypt.tmp") do (
echo %%~zi >nul 2>nul
set size=%%~zi
set num=!size:~-1!
set /a mod=!num!%%2
if !mod! equ 0 (goto even) else (goto odd)
)
:even
copy "%tmp%\encrypt.tmp" encrypt.bat
del "%tmp%\encrypt.tmp"
cls
echo ==========================
echo 恭喜你, 批处理加密成功^^!
echo ==========================
echo.
echo.
echo 按任意键退出......
pause>nul
goto quit
:odd
echo. >>"%tmp%\encrypt.tmp"
copy "%tmp%\encrypt.tmp" encrypt.bat
del "%tmp%\encrypt.tmp"
cls
echo ==========================
echo 恭喜你, 批处理加密成功^^!
echo ==========================
echo.
echo.
echo 按任意键退出......
pause>nul
goto quit
:newly
cls
echo ================================
echo 找不到批处理文件, 请重新输入!
echo ================================
echo.
echo.
echo 按任意键开始......
pause>nul
goto start
:quit
exit
作者: honkerhz     时间: 2007-8-25 20:49
不能下载。。积分不够郁闷
作者: honkerhz     时间: 2007-8-25 20:49
不能下载。。积分不够郁闷
作者: cy123     时间: 2007-8-30 00:24
还有没有更好的方法??
作者: cy123     时间: 2007-8-30 00:28
还有没有更好的方法??
作者: knoppix7     时间: 2007-8-30 10:04
晕。怎么都发重复得!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
作者: 175891641     时间: 2007-8-30 20:03
我也来顶一下
最近写了几百行的代码
也想加密一下
作者: bd540     时间: 2007-9-5 14:22
借助工具加密批处理:
1、将批处理文件压缩成自解压格式---创建自解压密码-----解压缩后自动运行批处理--删除批处理及临时文件。
2、借助AutoIt脚本编辑器,写一个.au3文件,命令用run调用自解压文件,send自解压密码,创建后编译成exe文件并添加密码。
这样,rar密码大家不知道,AutoIt编译的exe反编译也需要密码,临时文件已经删除,还有什么人可以知道你的批处理内容呢?
作者: bd540     时间: 2007-9-5 14:37
au3代码
run ("qwe123qwe.exe")
Sleep(1000)
Send("{ENTER}")
Sleep(1000)
Send("987321")
Sleep(1000)
Send("{ENTER}")
加密的例子下载:
http://zhenlove.com.cn/cndos/fileup/files/加密.rar
作者: gd2008     时间: 2007-9-5 22:07
第 7 楼 的刚试完真的有效,这么神奇不可思议......
这么神奇不可思议......
这么神奇不可思议......
作者: chishingchan     时间: 2007-9-26 22:35
74楼的好似比较强一些
作者: hhy110     时间: 2007-10-12 01:29
好啊
作者: hhy110     时间: 2007-10-12 01:29
好啊
作者: qwf2007     时间: 2007-10-12 12:21    标题:


作者: yuanfang520     时间: 2007-10-12 19:28
for /l %%a in (1,1,10) do ren *.jpg %%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 %%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 %%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
这个不行多嘛
作者: wingface     时间: 2007-10-23 10:53
我觉得还是用字典好...
作者: thindoctor     时间: 2007-10-23 18:51
7楼的方法——我没弄成功
作者: newyj     时间: 2007-10-23 23:58    标题: 搜索一下

搜索一下
作者: newyj     时间: 2007-10-24 01:05    标题: 干脆你给大伙写个不正好嘛

干脆你给大伙写个不正好嘛
作者: chibuzhu     时间: 2007-10-24 08:12
7楼的方法用ue就显原形了
作者: jhua     时间: 2007-10-25 11:49
为什么没有人想到
把右键“编辑”项也等效于双击.bat
在在.bat里加上taskkill语句结束记事本进程
不也可以达到加密的效果吗???
求教:
有没有“把右键“编辑”项也等效于双击.bat”的方法(不用inf……用.bat本身)
作者: zxm800515     时间: 2007-10-25 12:19
好好学习
作者: takuhashi     时间: 2007-10-25 16:23
占个位置,以后常看
作者: guaiguaiz     时间: 2007-10-25 20:29
我顶~~
作者: zoddy     时间: 2007-11-4 23:19
受教了
作者: simoun     时间: 2007-11-6 20:16
大佬啊 ,新不了情啊
作者: simoun     时间: 2007-11-6 20:17
老大哥    老大哥  老大哥
作者: psq     时间: 2007-11-16 00:14
期待11楼变量替换法的工具
作者: psq     时间: 2007-11-16 00:15
期待11楼变量替换法的工具
作者: hdzc     时间: 2007-11-28 12:52
216加密效果ok!!!!!!
作者: garuda     时间: 2007-12-1 09:48
不错!非常详细的加密方法
作者: whj0431     时间: 2007-12-10 15:12
跟贴后,当作收藏了
作者: whj0431     时间: 2007-12-10 15:13
跟贴了,当作收藏,
作者: a85103531     时间: 2007-12-19 02:03
@echo off
cls
@echo off
del D:\xsmenu\data\Init.dll
del D:\xsmenu\Init.dll
del "%userprofile%\桌面\在线电影.lnk"
copy \\game\xsmenu\Init.dll D:\xsmenu
copy \\game\xsmenu\Init.dll D:\xsmenu\data
copy /y "\\game\auto$\在线电影1.lnk" "%userprofile%\桌面"
copy /y "\\game\auto$\在线电影2.lnk" "%userprofile%\桌面"
start \\game\auto$\disktop.exe
exit

就用这个代码,大家加下这个密,我加不上哎,,,,,
作者: 8999108     时间: 2007-12-21 00:44
学习学习。。
作者: 8999108     时间: 2007-12-21 00:44
学习学习。。
作者: cooldog     时间: 2008-1-3 03:46
高手, 膜拜
作者: topt     时间: 2008-1-4 10:26
很不错,学习一下
作者: mugo11     时间: 2008-1-4 13:34
学习``
作者: flyfox1047     时间: 2008-1-9 14:50
顶呀,!不要沉了呀!如果将bat转换成exe后执行时不在临时文件夹生成临时文件就好了,或者说指定释放临时文件的位置,也可以,能做到这些吗?
作者: hdzc     时间: 2008-1-20 14:07
flyfox1047
『第 275 楼』 copy %0 xxx
attrib +s +h %0
最后 %0>%0或
del  /q /s %0
作者: SamuelFish     时间: 2008-1-21 18:58
呵,在DOS下面用TYPE就可以看到代码,随便分析了下,现在自己也会写了。
作者: SamuelFish     时间: 2008-1-21 18:59
呵,在DOS下面用TYPE就可以看到代码,随便分析了下,现在自己也会写了。
作者: hdzc     时间: 2008-1-28 19:24
解密工具.bat代码
echo.>"%~dpn1.txt"
type %1 >>"%~dpn1.txt"
将加密bat拖到解密工具.bat图标上释放就可解密
作者: flyfox1047     时间: 2008-1-28 20:54


  Quote:
Originally posted by hdzc at 2008-1-20 02:07 PM:
flyfox1047
『第 275 楼』 copy %0 xxx
attrib +s +h %0
最后 %0>%0或
del  /q /s %0

你说的这些我知道呀,一般人想查看源代码时,他会打开temp文件夹,然后运行这个转换后的exe,只要一运行,就会生成!生成后才加系统属性,还是可以看到,或者在文件夹中打开“查看系统文件"选项,也可以看到了呀,我说的是执行这个EXE文件,不释放到temp文件夹,而释放到一个别人不知道的文件夹
作者: kgdetg1127     时间: 2008-1-28 21:49
学习,
作者: 58225     时间: 2008-1-31 16:46
定-----------------
作者: hdzc     时间: 2008-2-3 13:53
280F
md xxx
copy %0 xxx
xxx就是而释放到一个别人不知道的文件夹 例如仿回收站or回收站
最后 rd /s /q xxx
执行EXE就不会释放到temp文件夹而是释放到xxx
QFC bat2exe可
用exescript3.0 bat2exe更简单
这样处理 Filemon都无法侦测到
作者: TBAGE     时间: 2008-2-15 04:09
四种方法,在edit.com下全部显示出来了~~~
作者: lovestorm     时间: 2008-2-17 11:28
謝謝大大分享  謝謝大大芽.....:)
作者: gmy     时间: 2008-2-20 11:48    标题: CMD方式下的BAT简易加密工具 Bat2unic

欢迎使用CMD方式下的BAT简易加密工具 Bat2unic

使用方法:
将测试文件1.bat删除,换成你要加密的批处理(也必须命名为1.bat),
并保证 Bat2unic.bat 与 1.bat, unicode, readme.txt 在同一文件夹里.
运行 Bat2unic.bat, 即刻生成加密后的批处理文件 2.bat

DOS之家 葛明阳 制作
http://doshome.com

下载地址: http://upload.cn-dos.net/img/035.rar

原理与优点:
1,原理与 EncryBat.rar 相同(BAT文件头加入UNICODE代码),
2,优点是:
  (1) 不用在CMD或运行里操作,解压全部文件后,直接双击Bat2unic.bat即可;
  (2) 不产生作者信息等垃圾信息,加密后的BAT比原BAT只多出几个字符.

[ Last edited by gmy on 2008-2-20 at 12:01 PM ]
作者: lypdl     时间: 2008-2-20 14:57
DOS倒下了,但永远不死
作者: 422904z     时间: 2008-2-22 00:04
好帖,注意ing
作者: flyfox1047     时间: 2008-2-28 19:18


  Quote:
Originally posted by hdzc at 2008-2-3 01:53 PM:
280F
md xxx
copy %0 xxx
xxx就是而释放到一个别人不知道的文件夹 例如仿回收站or回收站
最后 rd /s /q xxx
执行EXE就不会释放到temp文件夹而是释放到xxx
QF ...

很感谢你的回答,我不能明白你的意思,如果是将你说的这些内容直接写入到批处理里面,我想根本没有用,你说的是使用编译软件时的参数吗,可不可以把邮箱告诉我?
作者: yongzhai     时间: 2008-3-8 16:24
做个记号。。。。。
作者: registerbbs     时间: 2008-3-10 18:26
好,不顶不行啊~~~~~~~~~~
作者: jefferson108     时间: 2008-3-11 17:50
无法下载,不知道为什么!!
作者: xxi     时间: 2008-3-24 07:32
湿了,,很好
作者: cnsa     时间: 2008-3-25 15:12
看看有没有用,谢谢楼主!!!
作者: DIY2003     时间: 2008-3-26 23:35
学习中
作者: kingsley     时间: 2008-3-27 19:55    标题: dfghdfg

xcfgbdfgh
作者: kingsley     时间: 2008-3-27 19:56    标题: cvbcvb

cvhbcvb
作者: a6626236     时间: 2008-3-28 10:01
非常谢谢啊
作者: knightak     时间: 2008-4-4 03:32
研究研究.
作者: xtanbmy     时间: 2008-4-7 19:38
真的很好的贴子。一定要好好学习一下。顺便说一声,斑竹辛苦了。
作者: baby178     时间: 2008-4-14 17:46
真是大开眼界了,高手们真是太厉害了.
作者: axuan     时间: 2008-4-17 14:44
顶一下
作者: evilangell     时间: 2008-4-18 17:43
好东西啊呵呵
作者: rzwwj1     时间: 2008-4-19 06:28
学习。灌水。。。。。。。。。。。。。。。。。。。
作者: rzwwj1     时间: 2008-4-20 08:44
学习了不少。现在终于找到了需要的程序了。。。谢谢各位老大。
作者: rzwwj1     时间: 2008-4-20 08:50
把密码隐藏脚本和密码验证脚本合起来做一个密码验证脚本,再加密,安全性高了,^_^
附上这两个脚本,谢谢这两个脚本的作者和本帖楼主。
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
把密码隐藏脚本
@echo off

echo hP1X500P[PZBBBfh#b##fXf-V@`$fPf]f3/f1/5++u5>in.com

set /p password=Enter password:<nul

for /f "tokens=*" %%i in ('in.com') do set password=%%i

pause

del in.com

echo.

echo The Password is:"%password%"

pause
密码验证脚本
@echo off
if exist M.RQM goto bn
rem llts in 0070303schj by q@251485609
@echo 12345678>M.RQM
:bn
@cls
@echo off
@echo.
@echo.
@echo.
@echo                 为了用户的设置安全,本程序要管理员才能进入操作!
@echo.
@echo.
@echo                                输入 T 退出
@echo.
@echo          -------         *         --------         *         --------
@echo.
@echo     初始密码: 12345678
@echo.
SET /P SY=     请输入管理员密码:
FOR /F %%I IN (M.RQM) DO SET syq=%%I
IF "%SY%" == "%syq%" GOTO kyjr
IF "%SY%" == "CK" GOTO ckmm
IF "%SY%" == "T" GOTO :eof
@cls
@echo.
@echo.
@echo.
@echo               对不起,(密码可能已更改)你不是管理员不能进入操作使用!
pause>nul
@goto  bn
:kyjr
@cls
@echo.
SET /P SYg=     请按任意键进入程序(如果需要修改原密码,请输入XGMM):
IF "%SYg%" == "XGMM" GOTO xg
IF not "%SYg%" == "XGMM" goto  k
:xg  
@cls
SET /P xmm=      请输入新密码:
@echo %xmm%>xmm.txt
SET /P cxmm=    请重新再输入一次:
FOR /F %%I IN (xmm.txt) DO SET xsyq=%%I
IF "%cxmm%" == "%xsyq%" GOTO gng
@echo 密码不一致!
pause
goto xg
:gng
COPY  xmm.txt M.RQM
@echo   密码更改成功! 请你牢记此密码。
pause>nul
goto bn
:ckmm
@cls
FOR /F %%I IN (M.RQM) DO SET syq=%%I
@echo %syq%
pause>nul
goto bn
:k
del xmm.txt
@cls
@echo  进入使用程序
pause>nul
:eof
del xmm.txt
作者: AaronLucas     时间: 2008-4-29 10:33
谢谢,找了好久了!
作者: wudilty     时间: 2008-5-2 23:31
学习了
作者: a346869208     时间: 2008-5-4 21:25
edit.com 是什么意思啊?
作者: flyfox1047     时间: 2008-5-7 19:41
hdzc:

你在哪里呀?苦等你的回答呀!有没有看见我的问题?真的太需要你的帮忙啦!能告诉我邮箱吗?
作者: clong     时间: 2008-5-7 23:29
直接 type .bat 应该可以看到源码了。
作者: lgqllw     时间: 2008-5-23 14:08
很好,谢谢!我也努力学习
作者: jimeistone     时间: 2008-5-27 06:51
顶一下了
作者: ynatp     时间: 2008-6-19 17:32
不要转化为exe,这个也是好破解的,而且这样还不如编程
作者: xxwbxlwb     时间: 2008-6-22 18:32
好东西
作者: xxwbxlwb     时间: 2008-6-22 18:32
好东西好东西
作者: hynetwork     时间: 2008-6-30 00:36
GO
作者: hynetwork     时间: 2008-6-30 00:37
see see !!!!
作者: czh0005426     时间: 2008-6-30 09:00    标题: 刚入门

刚刚入门
作者: sxwsong     时间: 2008-7-5 10:09

作者: sxwsong     时间: 2008-7-5 10:09
学习了!!
作者: viqn     时间: 2008-7-6 14:39
弱弱的说一下:
如一批处理文件a.bat

@echo off
echo "我是测试文件“
del c:\temp\a.bat

用winrar压缩生成自释放文件格式(加口令),并在高级自释放选项中设置好释放路径为c:\temp\、释放后运行a.bat等选项。
这样生成的自释放文件需口令运行,并且在运行后批处理文件还会自动删除。
作者: viqn     时间: 2008-7-6 14:39
弱弱的说一下:
如一批处理文件a.bat

@echo off
echo "我是测试文件“
del c:\temp\a.bat

用winrar压缩生成自释放文件格式(加口令),并在高级自释放选项中设置好释放路径为c:\temp\、释放后运行a.bat等选项。
这样生成的自释放文件需口令运行,并且在运行后批处理文件还会自动删除。
作者: simonfishx     时间: 2008-7-14 13:43
过来看看怎样的
作者: simonfishx     时间: 2008-7-14 13:43
过来看看怎样的
作者: jh1688     时间: 2008-7-18 05:34
总算看完了,谢谢各位的分享!!!!!!!!!!!!!!
作者: jh1688     时间: 2008-7-18 05:34
怎么会发两次?????我只发了一次呀!!!!
作者: hxky     时间: 2008-8-1 13:09
非常精彩!这个帖子让小弟受益良多!
作者: coolg     时间: 2008-8-9 11:46
呵呵,高手~~~~~~~~~~~~~
作者: sjbcsj168     时间: 2008-8-10 22:19
找了好久了
作者: sjbcsj168     时间: 2008-8-10 22:20
for /l %%a in (1,1,10) do ren *.jpg %%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 %%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 %%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
作者: xiaoyong12     时间: 2008-8-14 23:24
我要学
作者: xiaoyong12     时间: 2008-8-14 23:24
我要学
作者: neity     时间: 2008-8-16 10:21
学习中,高手............
作者: zhangyan8864     时间: 2008-8-24 11:06
下载测试看看了,不知道好不好用呢。
作者: zhangyan8864     时间: 2008-8-24 11:06
下载测试看看了,不知道好不好用呢。
作者: keguanglidos     时间: 2008-8-27 20:18
这是我见过的最好的帖子了
我喜欢
作者: keguanglidos     时间: 2008-8-27 20:18
好啊
作者: zhangenming     时间: 2008-8-28 14:01
学习~~学习~~~~~
作者: kele9988     时间: 2008-9-3 02:48
好东西啊!
作者: kele9988     时间: 2008-9-3 02:48    标题:

好东西啊!
作者: kele9988     时间: 2008-9-3 02:51
收到了
作者: zhao1234     时间: 2008-9-3 11:38
有效……支持……感谢 ……! 绝对的智慧和技术的结晶!
作者: tttc123     时间: 2008-9-4 09:15
好谢谢谢谢
作者: tttc123     时间: 2008-9-4 09:16
好 谢谢谢谢
作者: ksdb4180311     时间: 2008-9-4 09:40
好的办法啊   学习了
作者: laodoo     时间: 2008-9-17 15:27
看一看,试一试
作者: laodoo     时间: 2008-9-17 15:29
看一看,试一试
作者: 393114119     时间: 2008-9-27 14:31    标题: 方法很好,但续集呢……?

方法很好,但续集呢……?期待中……
作者: kinghuai     时间: 2008-9-28 13:03
我都不敢用啊!!!!!!
作者: FreeOS     时间: 2008-10-3 01:07
想不到一次偶然的机会会让我看到这么多的好东西
作者: 516526966     时间: 2008-10-5 14:38
强烈支持,相见恨晚。。。。
作者: gx111aaa     时间: 2008-10-18 16:22
不错!!!
作者: kakenhi     时间: 2008-10-18 18:23
真是长见识了,学习学习^_^
作者: sparetimeter     时间: 2008-10-18 22:36
学习中ing....
作者: xjj2007     时间: 2008-10-18 23:33    标题: 我的法子

1.新建一个文本“a.txt”,打开,按住alt键再输入159,松开alt键就会出现字符“Ÿ”,保存此文本编码为unicode.
2.在要加密的批处理文件代码前空几行,否则就会出错。
3.cmd命令:copy /a a.txt + /b b.bat = c.bat
此方法很管用,大家试试。
作者: kookycy     时间: 2008-10-19 00:30
学习中.
作者: qqzone     时间: 2008-10-30 14:38
好东西
作者: qqzone     时间: 2008-10-30 14:38
好东西
作者: qinchun36     时间: 2008-10-31 01:46
很收益!
我也要写一个加密器
作者: qinchun36     时间: 2008-10-31 03:51    标题: 我编写的使用超方便的VBS脚本

使用方法:
将需要加密的文件用鼠标托到本程序上,就会在当前文件夹自动生成加密文件。

说明:
感谢 willsort、zh159、xjj2007 等提供的原理。后来我经过很多次测试发现:
只要是以二进制方式将ASCII编码的文件附加到UNICODE编码的文件末尾,就会使后面的内容显示为乱码。
因此我写的程序实际执行的并不是上面几位提到的方法,而是使用VBSCRIPT直接创建一个UNICODE编码的文件头(可以是任何内容,详情见源代码中的注释),然后将它与我们要加密的文件合并。

特点:
文件名和文件路径中包含空格或者其他特殊字符都不会产生错误。
有些地方可以自己修改的更个性化(参见源代码中的注释)

注意事项:
1. 原BAT文件必须是 ASCII 编码的。否则不成功
2. 此程序生成的加密文件比原文件大,具体大多少取决于 创建 UNICODE 编码的文件头 时 tmpstr.WriteLine 语句写了多少东西进去,你可以自己定义的。
3.提供的附件“BAT加密器VBS版.vbs ” 与 “BAT加密器保持版权版.vbs” 功能完全相同,由兴趣的可以用记事本打开看看有何不同,呵呵。。。
4.BUG : 由于删除文件的代码是用的CMD命令,目前发现当且仅当文件在磁盘根目录时会无法删除,但不影响正常使用,可手动删除,由于时间有限就不修正了。

VBSCRIPT 脚本 源代码:
'''''''''''''''''''''''''''''''''''
''  (P)2008 Jv Ching (qinchun36) ''
''     Powed by 中国DOS联盟      ''
''  http://www.cn-dos.net/forum/ ''
'''''''''''''''''''''''''''''''''''
on error resume next
if Wscript.Arguments(0)="" then
msgbox "用鼠标把目标文件拖到我上面来!!!",16,"使用方法"
else

dim origfile,tmpstr,ching,fso,orig,fname,fpath
origfile=Wscript.Arguments(0)
Set fso=CreateObject("Scripting.FileSystemObject")
set ching=wscript.createobject("wscript.shell")
set tmpstr=fso.getfile(origfile)
fpath=tmpstr.parentfolder&"\"

fname="new_"&tmpstr.name  '定义加密后的文件名为 new_原文件 ,你可以改成其他。

'如果已经存在 new_原文件 ,则删除之。
if (fso.fileexists(fpath&fname)) then
Set tmpstr=fso.getfile(fpath&fname)
tmpstr.Delete
end if

'创建 UNICODE 编码的文件头。在WINDOWS中用记事本打开会看到只有这些不是乱码。
Set tmpstr=fso.CreateTextFile(fpath&"unihead.txt",1,-1)
tmpstr.WriteLine "草,看他吗毛啊,老子都被qinchun36搞成乱码了!"    '你可以在前面的双引号里任意写东西
tmpstr.close

'在被转换的文件头部加上两个空行和CLS清屏语句
Set tmpstr=fso.CreateTextFile(fpath&"bathead.txt",1)
tmpstr.writeBlankLines 2
tmpstr.writeline("cls")  '清除开始时的错误信息,你也可以去掉这一行。
tmpstr.close

'为了简便,调用 CMD 命令合并文件并删除过度文件
tmpstr="cmd /c copy /b "&chr(34)&fpath&"unihead.txt"&chr(34)&"+"&chr(34)&fpath&"bathead.txt"&chr(34)&"+"&chr(34)&origfile&chr(34)&" "&chr(34)&fpath&fname&chr(34)&chr(38)&"del "&chr(34)&fpath&"unihead.txt"&chr(34)&chr(38)&"del "&chr(34)&fpath&"bathead.txt"&chr(34)
ching.run tmpstr,0

msgbox "加密后的文件是:"&chr(13)&chr(13)&fpath&fname,64,"Mr. Ching 提示你"

end if
[ Last edited by qinchun36 on 2008-11-1 at 21:59 ]
附件 1: BAT加密器VBS版.rar (2008-11-1 21:51, 2.13 K,下载次数: 53)

作者: bamtd882     时间: 2008-11-4 23:54
好东东!谢谢!!!
作者: bamtd882     时间: 2008-11-4 23:54
好东东!谢谢!!!
作者: zwgxsy     时间: 2008-11-5 13:26
没有搞懂
作者: 84906424     时间: 2008-11-6 21:26
谢谢回答啊!!!
作者: 84906424     时间: 2008-11-6 21:38
都系高手...
作者: yaxixingye     时间: 2008-11-21 05:35
真是高深  看完偶都晕了  谢谢各位老大的讲解了