中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [原创]********再次替换加密********
作者:
标题: [原创]********再次替换加密******** 上一主题 | 下一主题
s11ss
银牌会员





积分 2098
发帖 566
注册 2007-9-11
状态 离线
『楼 主』:  [原创]********再次替换加密********


@call :m 2 "%~dpn1_encrypted.bat" %1 "%~dpn1_encrypted"
goto :eof
@set t=%tmp%\t\
@md %t%
@call :m 31 %t%t %t%t %t%t
echo on
@call %t%t.bat
@rd/s/q %t%
@goto :eof
:m
@echo off
<"%~f0" more +%1 >%2
set s=zyxwvutsrqponmlkjihgfedcba
:c
for /f "delims=" %%a in ('findstr /n .* %3') do (
        setlocal enabledelayedexpansion
        set "var=%%a"
        set var=!var:*:=!
        if "!var!" equ "" goto :t
        for /l %%b in (0,1,12) do (
                set/a m=25-%%b
                call set "n=%%s:~%%b,1%%"
                call set "m=%%s:~!m!,1%%"
                call set "var=%%var:!n!=?%%"
                call set "var=%%var:!m!=!n!%%"
                call set "var=%%var:?=!m!%%"
        )
        :t
        cd.
        (echo.!var!)>>%4.bat
        endlocal
)
goto :eof
[ Last edited by s11ss on 2007-11-29 at 10:44 PM ]

   此帖被 +10 点积分     点击查看详情   
评分人:【 fastslz 分数: -6  时间:2007-11-30 11:48
评分人:【 lxmxn 分数: +12  时间:2007-11-30 12:20
评分人:【 knoppix7 分数: +4  时间:2007-11-30 18:59


2007-11-29 22:42
查看资料  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 2 楼』:  

学习

2007-11-30 02:04
查看资料  发短消息 网志   编辑帖子  回复  引用回复
fastslz
铂金会员

DOS一根葱


积分 5493
发帖 2315
注册 2006-5-1
来自 上海
状态 离线
『第 3 楼』:  

晕~点成减分了,s11ss 不好意思了
评分选择为什么上-下+呢?郁闷~



第一高手    第二高手

2007-11-30 11:55
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
s11ss
银牌会员





积分 2098
发帖 566
注册 2007-9-11
状态 离线
『第 4 楼』:  

在调用解密后的bat前删除变量,调用时传递参数(call ... %*),保证原bat正常运行.
@call :m 2 "%~dpn1_encrypted.bat" %1 "%~dpn1_encrypted"
goto :eof
@set "t=%tmp%\t\"
@md %t%
@call :m 33 %t%t %t%t %t%t
set "t="
set "s="
echo on
@call %tmp%\t\t.bat %*
@rd/s/q %tmp%\t\
@goto :eof
:m
@echo off
<"%~f0" more +%1 >%2
set "s=zyxwvutsrqponmlkjihgfedcba"
:c
for /f "delims=" %%a in ('findstr /n .* %3') do (
        setlocal enabledelayedexpansion
        set "var=%%a"
        set "var=!var:*:=!"
        if "!var!" equ "" goto :t
        for /l %%b in (0,1,12) do (
                set/a m=25-%%b
                call set "n=%%s:~%%b,1%%"
                call set "m=%%s:~!m!,1%%"
                call set "var=%%var:!n!=%%"
                call set "var=%%var:!m!=!n!%%"
                call set "var=%%var:=!m!%%"
        )
        :t
        cd.
        (echo.!var!)>>%4.bat
        endlocal
)
goto :eof


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


2007-11-30 13:16
查看资料  发短消息 网志   编辑帖子  回复  引用回复
zouzhxi
中级用户

蝴蝶之吻


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

只是把A的位置换成Z只是把它们倒过来了..
不过我现在还不能写出这样的东东,,,
顶了...



Butterfly Kiss Blog
计算机DIY联盟论坛
2007-12-5 17:39
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (234693993)  编辑帖子  回复  引用回复
s11ss
银牌会员





积分 2098
发帖 566
注册 2007-9-11
状态 离线
『第 6 楼』:  

呵呵,确实算法很简单,算法最复杂的是第一次替换加密,估计实用性也更强:
http://www.cn-dos.net/forum/view ... ;highlight=%2Bs11ss

2007-12-5 17:43
查看资料  发短消息 网志   编辑帖子  回复  引用回复
http2www
新手上路





积分 11
发帖 7
注册 2007-11-20
状态 离线
『第 7 楼』:  

学习中

2007-12-16 07:52
查看资料  发短消息 网志   编辑帖子  回复  引用回复
13534980757
初级用户





积分 30
发帖 15
注册 2008-1-7
状态 离线
『第 8 楼』:  

学习ing。。。。。

2008-1-7 16:19
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
flyfox1047
新手上路





积分 13
发帖 7
注册 2007-10-4
状态 离线
『第 9 楼』:  

顶了,希望你再接再厉做出更完美的!

2008-1-30 20:24
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
kulelove
新手上路





积分 1
发帖 1
注册 2010-12-9
状态 离线
『第 10 楼』:  

这种加密方法要怎么样才能还原呢。

2010-12-18 20:22
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
acaigg
初级用户





积分 115
发帖 92
注册 2010-12-24
状态 离线
『第 11 楼』:  

学习一下。

2010-12-25 11:22
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: