批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程
[批处理文件精品]批处理版照片整理器[批处理文件精品]纯批处理备份&还原驱动在线第三方下载
返回列表 发帖

[文件操作] [原创工具][201610]BatchEncryption - 批处理加密程序

BatchEncryption 是一个全平台*通用的强度较高的批处理加密程序

BatchEncryption 能在全平台*运行,所加密的文件也能在全平台*运行

BatchEncryption 对批处理文件内的大小写字母,数字,字符进行变量偏移编码,并在文件头部加入BOM混淆

从而达到对批处理文件加密的效果,能有效地加密批处理文件,防止被他人查看修改

*:WinXP/WinVista/Win7/Win8/Win8.1/Win10(x86/x64)

http://bcn.bathome.net/s/tool/index.html?key=BatchEncryption

如何使用?

程序可以双击执行,可以在命令提示符下执行,或者拖拽文件到程序上执行

建议执行后键入“/?”或者 “help”获取更详细地帮助

程序是在Visual Studio 2015环境下由gwsbhqt@163.com使用C++开发的Windows控制台程序

如果程序出现BUG或者有任何疑问,或者有同学需要此程序的GUI版本,欢迎发帖回复留言,

或者直接与gwsbhqt@163.com联系
2

评分人数

    • lvzhu: 作者不更新了?技术 + 1
    • zz100001: 这样的好东西居然没人加分?技术 + 1

如何测试?

链接: https://pan.baidu.com/s/1m3wQAo0bYupQCjulJRqT8Q 提取码: p6u8

可以下载BatchEncryption测试.rar进行测试

文件说明

1简单代码@gwsbhqt

非常简单的代码,不存在特殊符号,用于测试BatchEncryption加密后是否能运行的示例

2四则复合运算@批处理吧

较为复杂的代码,存在大量的!变量,用于测试BatchEncryption是否能正确处理较为复杂的代码

3.0批处理解密组件@bluewing009

较为复杂的代码,存在大量的!和%变量,而且涉及到^等转义字符

通用解密能够很好的解决传统变量偏移加密等的加密方法,能够正确完美的解密3.1传统加密

3.1传统加密@gwsbhqt

使用了传统加密方法的样例,可以很好的被3.0批处理解密组件正确的完美解密

这是我之前在卡饭论坛发的一篇关于传统加密方法的帖子:http://bbs.kafan.cn/thread-1814718-1-1.html

4批处理危险等级分析工具@bluewing009

非常复杂的代码,存在大量的!和%变量,而且涉及到^等转义字符

用于BatchEncryption压力测试,在全平台高加密深度的情况下加密非常复杂的批处理而且还能在全平台正常运行,

则能够证明BatchEncryption通过压力测试

危险分析能够很好的分析带有威胁的命令,可用用于分析5威胁样例

5威胁样例@gwsbhqt

非常简单的威胁样例,本身并无害,只是打印全部威胁命令的帮助信息

Run.bat@gwsbhqt

测试文件,见以下测试过程

测试过程

1.测试源批处理的正确运行,可以逐个执行以上批处理,确认均能正常执行

2.将3.1传统加密.bat拖拽到3.0批处理解密组件.bat上,可以在当前目录生成解密文本,观察通用解密工具的解密效果

3.执行4批处理危险等级分析工具.bat后,将5威胁样例.bat拖拽进分析工具中,观察分析工具的分析效果

4.双击执行Run.bat,BatchEncryption将会依次为每个批处理在当前目录按加密深度为10,100的加密,

        按后缀区分加密深度

5.测试加密后的批处理的正确运行,可以逐个执行以上批处理,确认均能正常执行,

        注意,如果小概率出现闪退等问题,请重新执行一次Run.bat

6.将3.1传统加密.bat拖拽到3.0批处理解密组件_100.bat上,可以在当前目录生成解密文本,

        观察通用解密工具是否正常工作

7.将1简单代码_10.bat拖拽到3.0批处理解密组件_100.bat上,

        观察3.0批处理解密组件_100.bat对BatchEncryption加密算法的解密效果

8.执行4批处理危险等级分析工具_100.bat后,将5威胁样例.bat拖拽进分析工具中,

        观察通用分析工具是否正常工作

9.执行4批处理危险等级分析工具_100.bat后,将5威胁样例拖拽_10.bat进分析工具中,

        观察分析工具的分析效果

10.将所有测试文件转移平台之后再次重复1-9,以确认全平台兼容性

理论结论

BatchEncryption拥有全平台加密批处理的能力,而且能在加密深度较大的情况下表现良好,

而且加密强度较高,目前的解密工具对BatchEncryption加密算法无效

反解密能力测试

有兴趣的同学可以尝试一下echo解密**,后果自负

TOP

还有呢?

这里给大家送上一个经过BatchEncryption加密的小CrackMe.bat

其中是CrackMe_Encrypted.bat是目标文件,感兴趣的同学可以解密之后在字符串里寻找关键的KEY

其中CrackMe.bat是源文件,不过被WinRAR加密了,解压密码就是CrackMe_Encrypted.bat里找到的KEY

如果你能顺利打开CrackMe.rar,那么说明你找到的KEY是正确的

链接: https://pan.baidu.com/s/1hdMfA6Ta4WdnRkhAYH3cqA 提取码: fpxt

链接: https://pan.baidu.com/s/1YJK-2jZ3lmZgy_k5h4ClWA 提取码: rnfb

可以看到,BatchEncryption在调整了参数之后没有对数字进行加密,

可以观察到一串加密之前的和一串加密之后的字符串的结尾都是21

感兴趣的同学就动手尝试一下吧~

TOP

本帖最后由 pcl_test 于 2016-10-22 14:41 编辑
  1. //&cls&cscript -nologo -e:jscript "%~f0" "加密.bat">"$解密.txt"&pause&exit
  2. var fso=new ActiveXObject('Scripting.FileSystemObject'),s='',key='',n=1;
  3. var ws=new ActiveXObject('Wscript.Shell');
  4. var f=fso.OpenTextFile(WSH.Arguments(0), 1);
  5. while(!f.AtEndOfStream){
  6.     var line=f.ReadLine();
  7.     if(n<3){s+=line+'\r\n'}else s+=crack(line, key)+'\r\n';
  8.     n++;
  9. }
  10. WSH.echo(s);
  11. function crack(str, k){
  12.     var m=str.match(/%[^%]+?:~-?\d*,1%/g);
  13.     if(m){
  14.         for(var i=0;i<m.length;i++){
  15.             if(!key)var k=ws.ExpandEnvironmentStrings(m[i].replace(/:.+$/, '')+'%');
  16.             var n=m[i].replace(/^%.+?:~(-?\d*).+$/, '$1');
  17.             if(n=='')n=0;
  18.             var str=str.replace(m[i], n=='-1'?k.slice(Number(n)):k.slice(Number(n), Number(n)+1));
  19.         }
  20.     }
  21.     //var kw=str.match(/^@set '=\^">nul&.+?&@set '=([\x20-\x7e]{294})&@.+?&@echo "$/);
  22.     var kw=str.match(/^@set '=\^">nul&.+?&@set '=(.+?)&@set.+?&@echo "$/);
  23.     if(kw)key=kw[1].replace(/\^{3}/g, '^');
  24.     return str
  25. }
复制代码

TOP

所谓的key:
TY88YYOMCXJZRRVUPYP7JITBZMCD3IKPB8WCRF9NJVK8KEY:3D2089CA9C877C94EEC57E229FE30005:YEKITHEI9DK062HMGK7RQKE8LM5NFJWJ6VR9BA3H9M7NOCDHMB21

红色的是解压密码
判定一个人是否为伸手党的标准是取决于他的态度和诚意。

TOP

回复 4# pcl_test


    赞*32

TOP

好棒的截取字符串,带关机功能

TOP

本帖最后由 523066680 于 2016-10-22 17:47 编辑

要是跨界大神可以写一个加强版批处理解释器,想必是很6的
(我就是瞎嚷嚷,自己啥也不会

不过批处理真的不怎么需要加密,因为自带混淆啊。  —— 一种黑

TOP

回复 7# happy886rr


    这个是简单的反解密功能,如果用echo他的话会关机的

TOP

回复 9# gwsbhqt


你猜我的key是怎么获取到的
判定一个人是否为伸手党的标准是取决于他的态度和诚意。

TOP

TOP

回复 10# wskwfkbdn


    还请同学明示

TOP

回复 11# CrLf


    感谢,受宠若惊

TOP

无语O__O "…

TOP

LZ,有退格符的话不管格式化还是不格都会出错……
感觉……有待改进.
老刘的博客:https://OldLiu.CnBlogs.com/

TOP

返回列表