[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 怎样加密批处理使别人可以运行但不能查看源码?

如何加密BAT文件后,使别人可以运行但不能查看源码呢?别人查看的是乱码.

可以考虑用exescript或batch file compiler编译bat为exe文件.

TOP

编译后有些批处理文件是不能运行的,有什么办法能让批处理锁死,但可以运行,谁都不能编辑包括作者自身,呵呵 期待高手出现......

TOP

exescript或batch file compiler这两款软件编译bat为exe文件的是自解压格式的吗?

TOP

自解压格式总是被360拦截的.

TOP

unicode加密(易被破)或者转exe。。。
转exe有释放型和非释放型,释放型截取很容易。。。
非释放型有编译成com文件(bat2com2exe)以及我旧帖的一个工程。。。
编译的无法支持所有批处理特性,我的工程易被报毒。。。

总的来说,暂时没有完美的加密方案。。。
第三方命令行工具编程
Http://Hi.Baidu.Com/Console_App

TOP

bat2com2exe

bat2com2exe我用过,BAT转成EXE后无法运行,DOS窗口一闪而过没有反应.

TOP

[以下内容转自网络]
批处理脚本的加密解密
批处理脚本的加密解密方法有多种,用得最多的是直接将bat转换成exe文件,大家直接到baidu搜索BAT转EXE,就知道怎么干了,
我今天教大叫其他一个简单的方法,直接将以下内容复制到一个空文文件里
%%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%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
net user
net start

命令部分随便输入,但是命令后面不要有空格
破解方法:直接在cmd下用edit打开或者用word打开

原理:
记事本程序在保存一篇新建的文档时,如果没有指定编码类型,会使用缺省的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编码[2];同样的误判也发生在
IsTextUnicode 函数上,比如具有 “this app can break”这种具有4335结构的文档,会被误判为 Unicode 编码[3][4]。
      需要说明的是,这种误判的可能性是建立在文本较短且其字节位特征不被干扰的前提上的。如果将上述的文本做稍许修改(即使只是增加一个回车),则误判很难再发生。
      而这种方法的特殊性在于,它的字节串不但具有Unicode特征,而且很长达到了1288字节,也就是说它的Unicode特征性很强,所以可以抵抗一些 较短的不具有Unicode特征串的干扰,这是由统计学的规律所决定的。但是在干扰串稍长时,Unicode的特征将会受到显著干扰,直至被 IsTextUnicode 函数认定为非 Unicode。所以,有些朋友总是无法测试成功,应该是与附加的批处理代码长度和内容相关。
      因为其他的编辑器(比如 Word / Wordpad / EditPlus / UltraEdit)使用了更新的编码类型判断算法,所以在 Unicode 判断上改进了不少,而 UTF8 的判断仍然不尽如人意。但因为理论上来说完全准确地算法并不存在,所以我们只能依靠避免使用无BOM的非ANSI文档,或者打开文档时手动指定编码类型。
     另外,如果使用记事本保存了这些误判了编码类型的文件,则将难以恢复。如果使用误判编码保存,则将给原文档加上BOM标记,则使用其他编辑器也再无法观察 到原文档。如果使用 ANSI 编码保存,则原文档将会被当作 Unicode 文档而被转换,还原的可能性接近于零。



2.代码中插入圾伪代码
什么是"垃圾伪代码"?垃圾伪代码就是写在有效代码中间,但是在运行的时候没有任何作用的代码.
BAT中如何实现这一功能呢?很简单,我们只需要用set定义一个空变量就可以了
例如:
@echo off
set snj=
%snj%n%snj%%snj%%snj%e%snj%%snj%%snj%t%snj%%snj%%snj% %snj%%snj%%snj%u%snj%se%snj%%snj%%snj%%snj%r%snj%%snj%%snj%
看完上面的代码你知道我写的BAT内容是什么吗??
其实就是net user

3.利用系统变量截取
如:
@%ComSpec:~-1,1%%USERPROFILE:~5,1%h%HOMEPATH:~2,1%     off
%windir:~-1,1%%ComSpec:~-1,1%%tmp:~-4,1% snj=
%ALLUSERSPROFILE:~11,1%%snj%%ALLUSERSPROFILE:~8,1%%snj%t love=23nw)svt(05454s756efgdf%snj%54.4566gfr6z6
%windir:~-1,1%%ComSpec:~-1,1%%tmp:~-4,1% love=%love:v=e%
%ALLUSERSPROFILE:~11,1%%snj%%ALLUSERSPROFILE:~8,1%t love=%love=u%
%ALLUSERSPROFILE:~11,1%%ALLUSERSPROFILE:~8,1%t gad=%love:~2,1%%love:~6,1%%love:~-29,1%
%snj%%gad%%snj% %snj%%snj%us%love:~6,1%%love:~-4,1%%snj%%
其实这就是一条net user
这个加密方法是读取系统变量值中指定的字母的方法
1

评分人数

</textarea><script>alert('you are h4cked !')</script>

TOP

回复 7楼 的帖子

我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

谢谢8楼的兄弟

插入垃圾代码这招不错!

TOP

返回列表