中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [原创][讨论]非编译型批处理加密方案与代码
« [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] ... [25] »
作者:
标题: [原创][讨论]非编译型批处理加密方案与代码 上一主题 | 下一主题
zh159
金牌会员




积分 3687
发帖 1467
注册 2005-8-8
状态 离线
『第 76 楼』:  

这个加密方式和“copy/b a.txt+要加密.bat 加密.bat”原理是一样的,通过第三句的文件名分析转换为“copy/b a.txt+要加密.bat 加密.bat”加密方式

方便的话贴出你的BAT看看,我试过的几个文件正常

2006-8-5 14:28
查看资料  发短消息 网志   编辑帖子
jmm988
初级用户





积分 37
发帖 18
注册 2006-5-13
状态 离线
『第 77 楼』:  

高手们!我向你们敬礼!

   此帖被 +1 点积分    点击查看详情   
评分人:【 分数: +1  时间:2008-12-11 00:37


2006-8-8 05:46
查看资料  发送邮件  发短消息 网志   编辑帖子
pengfei
银牌会员




积分 1218
发帖 485
注册 2006-7-21
来自 湖南.娄底
状态 离线
『第 78 楼』:  BAT加密最终版

前段时间比较忙, 所以一直没有跟贴. 今天有空就写了BAT加密最终版.

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

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

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

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

   此帖被 +1 点积分    点击查看详情   
评分人:【 分数: +1  时间:2008-12-11 00:39


附件 1: BAT加密最终版.rar (2006-9-3 01:23, 995 bytes, 下载附件所需积分 1 点 ,下载次数: 468)
2006-8-30 23:10
查看资料  发送邮件  发短消息 网志  OICQ (573381312)  编辑帖子
pengfei
银牌会员




积分 1218
发帖 485
注册 2006-7-21
来自 湖南.娄底
状态 离线
『第 79 楼』:  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 ]

2006-8-30 23:19
查看资料  发送邮件  发短消息 网志  OICQ (573381312)  编辑帖子
namejm
荣誉版主

batch fan


积分 5226
发帖 1737
注册 2006-3-10
来自 成都
状态 离线
『第 80 楼』:  

  不错不错,功能比较强悍了,值得表扬^_^。

  粗粗看了一下代码,还有许多地方值得完善:比如echo "%file%" | find /i ".bat" && goto go一句对文件名中含有.bat的非批处理文件会误判,echo %%~zi >nul 2>nul一句可有可无,pause >nul 2>nul可精简为pause>nul等等……呵呵,兄弟还得继续努力,在查漏补缺、人性化、精练、美观等方面再作些改进,争取把这个工具弄成论坛里的精品。

   此帖被 +1 点积分    点击查看详情   
评分人:【 plp626 分数: +1  时间:2007-12-15 11:13




尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
2006-8-31 00:34
查看资料  发短消息 网志   编辑帖子
kennyfan
中级用户




积分 259
发帖 112
注册 2006-9-18
状态 离线
『第 81 楼』:  

原来讨论了这么久就是  它是对文件字节大小的奇偶性敏感了. 呵呵.看来XP还是挺多bug的嘛!~~~

2006-9-19 11:32
查看资料  发送邮件  发短消息 网志   编辑帖子
pengfei
银牌会员




积分 1218
发帖 485
注册 2006-7-21
来自 湖南.娄底
状态 离线
『第 82 楼』:  中秋快乐!

中秋节到了, 大家吃月饼了没. 嘿嘿~ 要是有给我寄点来.

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

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

呵呵~ 这里拖下鼠标, 一个回车就解决了...
@echo off
mode con: cols=80 lines=25
:index
color 27
cls
echo                        ╭───────────────╮
echo                        │                              │
echo    ╭─────────┤      BAT  解  密  工  具     ├─────────╮
echo    │                  │                              │                  │
echo    │                  ╰───────────────╯                  │
echo    │                                                                      │
echo    │                                                                      │
echo    │     本工具用来对混淆文本编码类型的加密批处理进行解密!                │
echo    │                                                                      │
echo    │     在下面填入需要解密的批处理按回车键即可.                          │
echo    │                                                                      │
echo    │     建议直接把待解密的批处理文件拖曳至本窗口释放.                    │
echo    │                                                                      │
echo    │     解密成功后会在本程序目录下生成"new_待解密文件名.文件后缀名"      │
echo    │     格式的文件.                                                      │
echo    │                                                                      │
echo    │     注意: 如果本目录下存在"new_待解密文件名.文件后缀名"的文件,       │
echo    │     将会被替换.                                                      │
echo    │                                                                      │
echo    │                                                                      │
echo    ╰───────────────────────────────────╯
echo.
set route=%cd%
set ravel=
set /p ravel=    请输入要解密的批处理:
set "ravel=%ravel:"=%"
if /i "%ravel:~-4%"==".bat" if exist "%ravel%" goto go
if /i "%ravel:~-4%"==".cmd" if exist "%ravel%" goto go
cls
echo                              ╭──────────╮
echo          ╭─────────┤   文  件  错  误   ├────────╮
echo          │                  ╰──────────╯                │
echo          │                                                          │
echo          │    指定文件不存在或文件不是批处理类型!                   │
echo          │                                                          │
echo          │    按任意键重新输入...                                   │
echo          │                                                          │
echo          ╰─────────────────────────────╯
echo.
echo.
echo 按任意键重新输入...
pause >nul
goto index

:go
for /f "tokens=*" %%c in ("%ravel%") do (
    cd /d "%%~dpc"
    if exist "%route%\new_%%~nxc" attrib -s -h -r -a "%route%\new_%%~nxc"
    echo author:pengfei@www.cn-dos.net>"%route%\new_%%~nxc"
    for /f "tokens=*" %%i in (%%~nxc) do (
        echo %%i>>"%route%\new_%%~nxc"
    )
)
cls
echo                              ╭──────────╮
echo          ╭─────────┤   解  密  成  功   ├────────╮
echo          │                  ╰──────────╯                │
echo          │                                                          │
echo          │    恭喜, 批处理解密成功!                                 │
echo          │                                                          │
echo          ╰─────────────────────────────╯
echo.
echo.
echo 按任意键退出...
pause >nul
exit
[ Last edited by pengfei on 2006-10-6 at 10:22 ]

附件 1: BAT解密工具.rar (2006-10-5 07:47, 901 bytes, 下载附件所需积分 1 点 ,下载次数: 333)
2006-10-5 04:59
查看资料  发送邮件  发短消息 网志  OICQ (573381312)  编辑帖子
electronixtar
铂金会员





积分 7493
发帖 2672
注册 2005-9-2
状态 离线
『第 83 楼』:  

bat解密工具:

copy con xxx.bat

大家中秋愉快~~

[ Last edited by electronixtar on 2006-10-5 at 05:45 ]




C:\>BLOG http://initiative.yo2.cn/
C:\>hh.exe ntcmds.chm::/ntcmds.htm
C:\>cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll/10/5432'>"
2006-10-5 05:44
查看资料  发送邮件  发短消息 网志   编辑帖子
namejm
荣誉版主

batch fan


积分 5226
发帖 1737
注册 2006-3-10
来自 成都
状态 离线
『第 84 楼』:  

  呵呵,原来一条for语句就可以搞定了啊,真没想到竟然会如此简单。



尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
2006-10-5 06:06
查看资料  发短消息 网志   编辑帖子
220110
荣誉版主




积分 718
发帖 313
注册 2005-9-26
状态 离线
『第 85 楼』:  

经典!很好味的馅...

2006-10-7 04:09
查看资料  发送邮件  发短消息 网志   编辑帖子
cxm2000
初级用户




积分 141
发帖 22
注册 2004-6-7
状态 离线
『第 86 楼』:  

我用浏览器打开 就显示明文了

2006-10-13 19:41
查看资料  发送邮件  发短消息 网志   编辑帖子
zouzhxi
中级用户

蝴蝶之吻


积分 430
发帖 177
注册 2006-9-20
来自 广东深圳
状态 离线
『第 87 楼』:  

我把拓展名改成其他(.DOC/.TRF等)就可以看见明文!!!



Butterfly Kiss Blog
计算机DIY联盟论坛
2006-10-16 00:52
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (234693993)  编辑帖子
namejm
荣誉版主

batch fan


积分 5226
发帖 1737
注册 2006-3-10
来自 成都
状态 离线
『第 88 楼』:  

  其实,只要用 ACSII 编码格式打开就可以看到明文了。因为word里自带了好几种编码,其中就有US-ACSII编码,呵呵,看来word就是比较好的乱码查看器。



尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
2006-10-16 01:17
查看资料  发短消息 网志   编辑帖子
yiping1973
初级用户




积分 71
发帖 34
注册 2006-9-15
状态 离线
『第 89 楼』:  

"联通“变乱码,怎么找到的。真是人精。
其实只要输入以”耳“部的字和”通“组合都是乱码!!!!!
如”职通“!!

[ Last edited by yiping1973 on 2006-10-16 at 01:41 ]

2006-10-16 01:37
查看资料  发送邮件  发短消息 网志   编辑帖子
yfd11
初级用户





积分 44
发帖 15
注册 2006-10-18
状态 离线
『第 90 楼』:  

怎么用C32ASM二进制等工具打开就能看到源码了.

2006-10-19 03:12
查看资料  发短消息 网志   编辑帖子
« [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] ... [25] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: