中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-09-13 22:13
47,812 主题排行 / 349,916 发帖 / 今日 0 篇 / 48,268 会员排行
DOS批处理 & 脚本技术(批处理室) » [原创][讨论]非编译型批处理加密方案与代码
可打印版本  117,504 / 364
第16楼 chenall 发表于 2006-07-21 17:23
银牌会员 发帖 469 积分 1,276 来自 福建泉州
7楼的强,不知是什么原理.不过使用DOS的TYPE就可以看到了.
只要不使用WINDOWS的记事本打开就可以看到了.

好像目前并没有能够很好的加密.BAT的软件.
像QuickBFC.EXE之类的只不过是将BAT文件打个包,运行时就先解压这个.BAT文件到一个目录下,然后再运行的.
第17楼 electronixtar 发表于 2006-07-21 21:46
铂金会员 发帖 2,672 积分 7,493
没看懂7楼的代码

有一种方法貌似可以骗一下小朋友:把bat换行的 0D 0A 改成 0A,貌似会给阅读造成一定的麻烦
第18楼 yuanyong630 发表于 2006-07-22 01:18
初级用户 发帖 13 积分 49
BAT文件加密法 (比Bat2Com那个软件好使<因为那个软件不支
想将加密的文件 还原回来 就要用记事本 另存为 时 编码格式 替换成 "UTF-8" 但最好还是在加密之前 做好备份 !因为 有时 不会还原成功!最后还是感谢大家的支持!
第19楼 bagpipe 发表于 2006-07-22 08:54
银牌会员 发帖 425 积分 1,144 来自 北京
7楼的代码还真能够起到加密的作用,不知道是什么工作原理,想不出来,想不出来,不过还是顶一下,强!!!!!!!!

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

[ Last edited by bagpipe on 2006-7-22 at 08:55 ]
第20楼 yuanyong630 发表于 2006-07-22 11:03
初级用户 发帖 13 积分 49
感谢 第 19 楼 的哥们
这个方法 的确不是从别的地方找得 这点我敢确定 其实这个加密技术 也是我 不经意 发现的 要说是 什么原理呢 我估计 这是WINDOWS的一个BUG 就像 用记事本写一个词 “联通”(不加引号)是的,另存完后也会变成乱码的 不信可以试一试!
第21楼 fastslz 发表于 2006-07-22 12:47
铂金会员 发帖 2,315 积分 5,493 来自 上海
7楼的方法怎么是一次性啊?
第二次就不管用了?
第22楼 SXBG 发表于 2006-07-22 16:08
初级用户 发帖 25 积分 62
伸出食指和中指,稍微分开大概20度角,然后插、插、插、、攻击对方眼球^_^
第23楼 yuanyong630 发表于 2006-07-23 07:39
初级用户 发帖 13 积分 49
关于使用一次就失效的解决方案
解决方案为 将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

这段代码复制然后粘贴在后面 直到 成功实行 “加密”的结果了 ! 大家可以试试!并谢谢大家的支持!
第24楼 namejm 发表于 2006-07-23 10:35
荣誉版主 发帖 1,737 积分 5,226 来自 成都
  从yuanyong630在18楼的描述来看,似乎是改变了记事本保存该bat的编码来达到保密的目的。怎么我的一次都没有成功?XP+SP2的系统。
第25楼 willsort 发表于 2006-07-23 12:15
元老会员 发帖 1,512 积分 4,432
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)。

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

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

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

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

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

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

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

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

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

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

cry.cmd
第26楼 willsort 发表于 2006-07-23 12:27
元老会员 发帖 1,512 积分 4,432
Re electronixtar(17):

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

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

至于其他的加密方法,也各有缺陷,想达到软件工程的要求是比较困难的。
第27楼 pengfei 发表于 2006-07-23 13:24
银牌会员 发帖 485 积分 1,218 来自 湖南.娄底
[原创][CMD]批处理非编译型加密方案与代码
首先多谢 yuanyong630 提供的加密代码, 我只是利用它写了这个工具,方便大家使用


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

[ Last edited by pengfei on 2006-10-2 at 09:12 ]

附件
BAT加密工具.rar (978 bytes)
第28楼 IceCrack 发表于 2006-07-23 13:43
中级用户 发帖 168 积分 332 来自 天涯
在我这里测试不成功.不管是用一还是用二 都是在我的代码前面加入了下列代码
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
第29楼 zh159 发表于 2006-07-23 13:58
金牌会员 发帖 1,467 积分 3,687
试了一下,发现只有开始第一行开始为“@echo off”的才能加密成功,但也不是所有得都可以
加密后记事本打开也是乱码,可以执行

[ Last edited by zxcv on 2006-7-23 at 14:01 ]
第30楼 pengfei 发表于 2006-07-23 14:03
银牌会员 发帖 485 积分 1,218 来自 湖南.娄底
hgf
'lkj;l

[ Last edited by pengfei on 2007-1-22 at 10:43 AM ]
上一页  1 2 3 4 525  下一页
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023