中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]如何对批处理进行加密&解密
« [1] [2] »
作者:
标题: [求助]如何对批处理进行加密&解密 上一主题 | 下一主题
jiangnan110
初级用户





积分 42
发帖 19
注册 2007-6-8
状态 离线
『楼 主』:  [求助]如何对批处理进行加密&解密

如题
我学了才几天希望大家帮帮忙,,,谢谢...!!!

2007-6-8 12:47
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
baomaboy
银牌会员





积分 1513
发帖 554
注册 2005-12-30
状态 离线
『第 2 楼』:  

加密码的? 还是只是扰乱视线类的?



好多菩提树,好多明镜台。本来好多物,好多的尘埃。
2007-6-8 13:03
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
jlygq1968
初级用户





积分 46
发帖 9
注册 2007-5-27
状态 离线
『第 3 楼』:  



  Quote:
Originally posted by jiangnan110 at 2007-6-8 12:47 PM:
如题
我学了才几天希望大家帮帮忙,,,谢谢...!!!

是不是要防止  反编译的,就是显示乱码的??????

2007-6-8 13:18
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
qinbuer
高级用户

我思故我在


积分 512
发帖 228
注册 2007-1-21
状态 离线
『第 4 楼』:  

我想,或许可以做一个批处理,将需要加密的批处理按一定的顺序打乱或用其他字符替换,解密的时候再按一定的顺序还原。但是这样子解密前批处理就不可以运行了,而且只需要一定的耐心就可以被他人解密出来。
又或者可以转换为EXE,可是这样的话就查看源代码就麻烦了。。。



我确实是只菜鸟,而且这里X人太多,所以我不敢装X。谁要再说我装X,我就XXOO他。
2007-6-8 13:22
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
bjsh
银牌会员





积分 2000
发帖 621
注册 2007-1-1
状态 离线
『第 5 楼』:  

搜索吧;
有很多的

2007-6-8 16:17
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zasxcdfv
初级用户





积分 152
发帖 75
注册 2007-2-6
状态 离线
『第 6 楼』:  

(转)BAT加密和解密文章
-----------------------------------------------------------
这是一段bat加密器代码


author:pengfei@www.cn-dos.net
%%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a
cls
@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



---------------------------------------------------------------------------------------------
下面是bat解密器代码
---------------------------------------------------------------------------------------------
@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

   此帖被 +3 点积分    点击查看详情   
评分人:【 xixixi 分数: +1  时间:2007-6-8 23:48
评分人:【 txratu 分数: +2  时间:2008-3-19 19:24


2007-6-8 16:18
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lianjiang2004
金牌会员





积分 3946
发帖 1884
注册 2006-1-20
状态 离线
『第 7 楼』:  

试了本论坛的各种方法都基本没用。要么加密后无法运行,要么加密后用一般编辑软件就能看到源码。暂时没发现有效办法。



Windows 一键还原
http://www.yjhy.com
2007-6-8 17:16
查看资料  发短消息 网志   编辑帖子  回复  引用回复
baomaboy
银牌会员





积分 1513
发帖 554
注册 2005-12-30
状态 离线
『第 8 楼』:  

写了一个用密码加密的,把bat加密为vbs,输入密码后恢复bat文件,
On Error Resume Next:Dim WshSHell,FSO,EnCText:Set WshSHell = WScript.CreateObject("WScript.Shell"):Set FSO = CreateObject("Scripting.FileSystemObject"):EnCText="71575206^[_j`\Z]l\]\lcaZo]^2\din]h4^beZr6]bpg紊皽剁搭惰范若顿返蕊钝范:皽iYln^":outmm=Inputbox(vbcr&vbcr&"请输入加密密码:(3-8位的数字)","加密/解密文本文件 - By baomaboy","25926183"):If outmm = "" then:WScript.Quit(0):end if:Lcode = len(outmm):outcode = outmm & mid(EnCText,1,8 - Lcode):Dim KeyArr(8):KeyArr(0) = Lcode:for i = 1 to 8:KeyArr(i) = Mid(outcode,i,1):next
Execute("EnCText=Mid(EnCText,9,Len(EnCText) - 8):For i = 1 To Len(EnCText)"&vbCrLf&"TempNum = Asc(Mid(EnCText,i,1))"&vbCrLf&"if TempNum = 18 Then"&vbCrLf&" TempNum = 34 "&vbCrLf&" end if "&vbCrLf&"TempNum = TempNum + KeyArr(i Mod 9)"&vbCrLf&"If TempNum = 28 Then"&vbCrLf&"TempNum = 13"&vbCrLf&"ElseIf TempNum = 29 Then"&vbCrLf&"TempNum = 10"&vbCrLf&"End If"&vbCrLf&"If TempNum > 23 and TempNum < 28 Then"&vbCrLf&"TempNum = TempNum - 20"&vbCrLf&"end if"&vbCrLf&"OCText = OCText & chr(TempNum)"&vbCrLf&"Next")
Set OutFile = FSO.OpenTextFile("Temp.bat",2,true):OutFile.WriteLine(OCText):OutFile.Close:Set WshSHell = Nothing:Set FSO = Nothing:WScript.Quit(0)




好多菩提树,好多明镜台。本来好多物,好多的尘埃。
2007-6-8 18:42
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lianjiang2004
金牌会员





积分 3946
发帖 1884
注册 2006-1-20
状态 离线
『第 9 楼』:  



  Quote:
Originally posted by baomaboy at 2007-6-8 18:42:
写了一个用密码加密的,把bat加密为vbs,输入密码后恢复bat文件,
[code]
On Error Resume Next:Dim WshSHell,FSO,EnCText:Set WshSHell = WScript.CreateObject("WScript.Shel ...

对操作系统是否有特别要求?
win xp下一闪而过,通不过。



Windows 一键还原
http://www.yjhy.com
2007-6-8 18:46
查看资料  发短消息 网志   编辑帖子  回复  引用回复
baomaboy
银牌会员





积分 1513
发帖 554
注册 2005-12-30
状态 离线
『第 10 楼』:  

对系统没要求啊,你闪了说明你把上面保存为bat了吧,要把代码保存为vbs才行。



好多菩提树,好多明镜台。本来好多物,好多的尘埃。
2007-6-8 19:08
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
baomaboy
银牌会员





积分 1513
发帖 554
注册 2005-12-30
状态 离线
『第 11 楼』:  

密码是:7895



好多菩提树,好多明镜台。本来好多物,好多的尘埃。
2007-6-8 19:09
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
vkill
金牌会员





积分 4103
发帖 1744
注册 2006-1-20
来自 甘肃.临泽
状态 离线
『第 12 楼』:  



  Quote:
Originally posted by qinbuer at 2007-6-8 13:22:
我想,或许可以做一个批处理,将需要加密的批处理按一定的顺序打乱或用其他字符替换,解密的时候再按一定的顺序还原。但是这样子解密前批处理 ...

未必都解的出吧!

http://www.cn-dos.net/forum/view ... =%E5%8A%A0%E5%AF%86

这个你要解的出我f了你

2007-6-8 19:53
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
ken123888
新手上路





积分 17
发帖 8
注册 2007-6-5
状态 离线
『第 13 楼』:  

使用bat转exe幽灵程序吧

2007-6-8 20:45
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
baomaboy
银牌会员





积分 1513
发帖 554
注册 2005-12-30
状态 离线
『第 14 楼』:  

vkill兄发现没,你的新版 http://www.cn-dos.net/forum/view ... =%E5%8A%A0%E5%AF%86
开始被卡巴报木马病毒了。

[ Last edited by baomaboy on 2007-6-8 at 08:50 PM ]



好多菩提树,好多明镜台。本来好多物,好多的尘埃。
2007-6-8 20:48
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
baomaboy
银牌会员





积分 1513
发帖 554
注册 2005-12-30
状态 离线
『第 15 楼』:  



  Quote:
Originally posted by qinbuer at 2007-6-8 13:22:
我想,或许可以做一个批处理,将需要加密的批处理按一定的顺序打乱或用其他字符替换,解密的时候再按一定的顺序还原。但是这样子解密前批处理 ...

觉得说到本质就分两种,一种是看像乱码却可以直接执行的所谓障眼法,好像本论坛的那个专门讨论贴里的工具都可以对付,而另一种就是需要密码的,目前好像只有用穷举法,理论是可破解的,但现实却是很难很难。
幽灵那个不再讨论了,什么时候解决了temp文件再说吧。



好多菩提树,好多明镜台。本来好多物,好多的尘埃。
2007-6-8 21:17
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: