![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-12 11:39 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [原创]小文件加密解密器(命令行工具) |
| 可打印版本 1,242 / 13 |
| 第1楼 qinchun36 | 发表于 2010-04-23 14:55 |
| 高级用户 发帖 400 积分 609 | |
|
[原创]小文件加密解密器(命令行工具) 到这里已经混了两年了,刚来的时候基本只会cd和del那些命令,
for都不会用(感叹号的意思我大概是 09 年之后才明白的 -_-``), 热心人的帮助 + 潜水学习 + 浓厚的兴趣使得我现在知识有了很大的提高, 各种语言都学了些,对知识的运用也更加灵活, 相比之下我更喜欢vbs脚本,因为有更多的现成的功能可以拿来用,还可以与网页中使用。 今天正好是注册两周年,于是做这么个东西来纪念一下,是用 vbs 编写的。 作为加密解密工具,自己当然要保护起来,于是就不公开源代码了, 并且把他包装成一个exe命令行工具,这样就几乎不能被破解了。 我把它叫做 “小文件加密解密器”(Small File Encoder and Decoder), 因为设计它仅仅是为了操作小的文件,尤其是文本文件, 但我没想到它真的只支持小文件,大文件非常之慢,而且无法正确解密, 我大概试了一下估计上限在25KB左右,很尴尬。。。 好在支持二进制文件且效果很好,加密后面目全非,保密性很好。 具体用法就不说了,我已经把它做成命令行的样式, 你可以像一般的命令那样去查看帮助和使用它,但是不支持 “|” 管道传参数进去。 没有万能密码,如果设置了密码并且忘掉那就没办法了。 欢迎尝试破解并提出建议,以便改进它。 题外话: 在测试的时候我新建了个文本,输入 "abcde123我草" 这几个字(不含引号),保存之后,加密在解密,发现是乱码,于是重新看了好久的程序代码查问题,后来我发现这几个字保存之后本来就是乱码,真是折腾坏了。。。 [ Last edited by qinchun36 on 2010-4-23 at 15:01 ] 附件 SFED.zip (97.71 KiB) |
|
| 第2楼 haolongo | 发表于 2010-04-23 15:00 |
| 初级用户 发帖 17 积分 24 | |
|
支持一下.
|
|
| 第3楼 jarry0932 | 发表于 2010-04-26 00:32 |
| 初级用户 发帖 122 积分 128 | |
|
多谢楼主的小东东,同时请教楼主,能否说说用vbs制作命令行工具时,如何进行参数的传递,就类似bat中%1,%2那样?
|
|
| 第4楼 wode5130xm | 发表于 2010-04-26 02:22 |
| 新手上路 发帖 10 积分 10 | |
|
唉!……
|
|
| 第5楼 qinchun36 | 发表于 2010-04-26 09:41 |
| 高级用户 发帖 400 积分 609 | |
Originally posted by jarry0932 at 2010-4-26 00:32: 一般来说用下面这种方式就足够了: 保存为 test.vbs ,在CMD窗口中试试 |
|
| 第6楼 zlg029wyc027 | 发表于 2010-04-26 23:05 |
| 初级用户 发帖 22 积分 35 | |
|
我来支持一下!
没抢到沙发! |
|
| 第7楼 zaixinxiangnian | 发表于 2010-04-27 10:23 |
| 初级用户 发帖 106 积分 151 来自 河南省 | |
|
呵呵,两年的坚持,祝贺你学有所成
|
|
| 第8楼 hnyutong | 发表于 2010-04-27 11:15 |
| 新手上路 发帖 1 积分 1 | |
|
支持一下,我现在就在 CD. DEL 接阶段
|
|
| 第9楼 radem | 发表于 2010-04-27 13:12 |
| 高级用户 发帖 383 积分 691 | |
Originally posted by qinchun36 at 2010-4-23 02:55 PM: Win XP sp3环境测试正常,没有出现LZ说的问题 |
|
| 第10楼 radem | 发表于 2010-04-27 13:32 |
| 高级用户 发帖 383 积分 691 | |
|
PS:qzwqzw兄的文本加解密工具也不错,加解密后的文件大小一样
CF: http://www.cn-dos.net/forum/viewthread.php?tid=31054 而楼主的加密后要大约5倍 |
|
| 第11楼 jarry0932 | 发表于 2010-04-27 15:28 |
| 初级用户 发帖 122 积分 128 | |
|
多谢指点,再顶一下
|
|
| 第12楼 qinchun36 | 发表于 2010-04-27 17:31 |
| 高级用户 发帖 400 积分 609 | |
Originally posted by radem at 2010-4-27 13:32: 这是一个问题,之所以大这么多,是因为有一道工序采用了系统自带的BASE64算法,它编码处理之后就已经超过5倍了,然后我为了更保密,又加了一点东西,于是就那么大了。 不过我主要是看效果,没注意效率,就算你的文件只有几个字节甚至是一个字节,比如一个空格,别人都没法从加密后的文件里猜出原文,因为就算是同一个文件用同样的密码,每次加密后的结果都不一样。。。 |
|
| 第13楼 yiqingnan | 发表于 2010-04-27 20:20 |
| 初级用户 发帖 24 积分 38 | |
|
飘然路过
|
|
| 第14楼 qzwqzw | 发表于 2010-04-28 17:55 |
| 银牌会员 发帖 636 积分 2,343 | |
|
很感兴趣
可惜下载试用后出错 对话框提示“0x00423214”指令引用的"0x00000000"内存。该内存不能"read"。 命令行提示“Exception EAccessViolation in module SFED.exe at 00023215. Access violation at address 00423215 in module 'SFED.exe'. Read of address 00000 000.” 大概猜测一下原理 首先用base64将源文件转换为ascii文件 但正统的Base64编码是把3个8位字节转化为4个6位的字节 所以理论体积增大倍数为4/3,约1.3倍 而不是5倍之多 除非之前已经用其它方法将源文件ASCII化再对其进行base64 至于加密算法作者没有透露 我也不能随意猜测 但如果加解密是用同样的密码 那么就应该是对称加密算法 而这类算法里面除了使用超长字典的变态算法之外 其它算法的安全性应该都是比较差的 无法达到军用甚至商用的要求 至于同一个文件用同样的密码 每次加密后的结果都不一样 我猜是加了一些随机因子 很可能跟系统时钟有关 而且这个因子应该隐藏在密文之中 否则解密逻辑就无从判断了 另外 程序自身使用了ScriptCryptor加密 网站在这里http://www.abyssmedia.com 有兴趣的可以解解看看 |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |