中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-09-13 22:54
47,812 主题排行 / 349,916 发帖 / 今日 0 篇 / 48,268 会员排行
DOS批处理 & 脚本技术(批处理室) » [原创][讨论]非编译型批处理加密方案与代码
可打印版本  117,524 / 364
第76楼 zh159 发表于 2006-08-05 14:28
金牌会员 发帖 1,467 积分 3,687
这个加密方式和“copy/b a.txt+要加密.bat 加密.bat”原理是一样的,通过第三句的文件名分析转换为“copy/b a.txt+要加密.bat 加密.bat”加密方式

方便的话贴出你的BAT看看,我试过的几个文件正常
第77楼 jmm988 发表于 2006-08-08 05:46
初级用户 发帖 18 积分 37
高手们!我向你们敬礼!
第78楼 pengfei 发表于 2006-08-30 23:10
银牌会员 发帖 485 积分 1,218 来自 湖南.娄底
BAT加密最终版
前段时间比较忙, 所以一直没有跟贴. 今天有空就写了BAT加密最终版.

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

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

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

[ Last edited by pengfei on 2006-10-3 at 10:00 ]

附件
BAT加密最终版.rar (995 bytes)
第79楼 pengfei 发表于 2006-08-30 23:19
银牌会员 发帖 485 积分 1,218 来自 湖南.娄底
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 ]
第80楼 namejm 发表于 2006-08-31 00:34
荣誉版主 发帖 1,737 积分 5,226 来自 成都
  不错不错,功能比较强悍了,值得表扬^_^。

  粗粗看了一下代码,还有许多地方值得完善:比如echo "%file%" | find /i ".bat" && goto go一句对文件名中含有.bat的非批处理文件会误判,echo %%~zi >nul 2>nul一句可有可无,pause >nul 2>nul可精简为pause>nul等等……呵呵,兄弟还得继续努力,在查漏补缺、人性化、精练、美观等方面再作些改进,争取把这个工具弄成论坛里的精品。
第81楼 kennyfan 发表于 2006-09-19 11:32
中级用户 发帖 112 积分 259
原来讨论了这么久就是 它是对文件字节大小的奇偶性敏感了. 呵呵.看来XP还是挺多bug的嘛!~~~
第82楼 pengfei 发表于 2006-10-05 04:59
银牌会员 发帖 485 积分 1,218 来自 湖南.娄底
中秋快乐!
中秋节到了, 大家吃月饼了没. 嘿嘿~ 要是有给我寄点来.

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

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

呵呵~ 这里拖下鼠标, 一个回车就解决了...



[ Last edited by pengfei on 2006-10-6 at 10:22 ]

附件
BAT解密工具.rar (901 bytes)
第83楼 electronixtar 发表于 2006-10-05 05:44
铂金会员 发帖 2,672 积分 7,493
bat解密工具:

copy con xxx.bat

大家中秋愉快~~

[ Last edited by electronixtar on 2006-10-5 at 05:45 ]
第84楼 namejm 发表于 2006-10-05 06:06
荣誉版主 发帖 1,737 积分 5,226 来自 成都
  呵呵,原来一条for语句就可以搞定了啊,真没想到竟然会如此简单。
第85楼 220110 发表于 2006-10-07 04:09
荣誉版主 发帖 313 积分 718
经典!很好味的馅...
第86楼 cxm2000 发表于 2006-10-13 19:41
初级用户 发帖 22 积分 141
我用浏览器打开 就显示明文了
第87楼 zouzhxi 发表于 2006-10-16 00:52
中级用户 发帖 177 积分 430 来自 广东深圳
我把拓展名改成其他(.DOC/.TRF等)就可以看见明文!!!
第88楼 namejm 发表于 2006-10-16 01:17
荣誉版主 发帖 1,737 积分 5,226 来自 成都
  其实,只要用 ACSII 编码格式打开就可以看到明文了。因为word里自带了好几种编码,其中就有US-ACSII编码,呵呵,看来word就是比较好的乱码查看器。
第89楼 yiping1973 发表于 2006-10-16 01:37
初级用户 发帖 34 积分 71
"联通“变乱码,怎么找到的。真是人精。
其实只要输入以”耳“部的字和”通“组合都是乱码!!!!!
如”职通“!!

[ Last edited by yiping1973 on 2006-10-16 at 01:41 ]
第90楼 yfd11 发表于 2006-10-19 03:12
初级用户 发帖 15 积分 44
怎么用C32ASM二进制等工具打开就能看到源码了.
上一页  13 4 5 6 7 8 925  下一页
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023