标题: [其他] 【讨论】批处理实现的一种数字密码加密方法 [打印本页]
作者: novaa 时间: 2007-12-24 21:13 标题: 【讨论】批处理实现的一种数字密码加密方法
本帖最后由 pcl_test 于 2016-11-2 21:46 编辑
哈哈
这个是很老的了
我想到一个很不错的批处理机密方法。保证是前人没有研究和写过的(太自恋了点。。。汗。。)
大家说说自己使用什么方法。
作者: xxx3212 时间: 2007-12-24 23:25
在前面+128个 $$a
在前面+个记事本不能识别的乱码
用批处理里的set截取系统变量字符
把批处理命令写入到一个任意后缀的文件 “test.txt” 用 cmd<test.txt 可以执行 test.txt 里的内容 听说不被杀软查杀
能把你的方法发出来下吗?
作者: xxx3212 时间: 2007-12-24 23:27
多搞点跳转 把盗用代码的头都看晕
作者: ieutk 时间: 2007-12-25 02:10
对这个兴趣不大,没有研究过,代码从来不加密
作者: xxx3212 时间: 2007-12-25 12:43
你随怎么加密 只要不转换成exe文件 用word很容易就可以打开
作者: novaa 时间: 2007-12-25 13:54
代码如下
大家猜密码吧。。。
哈哈。。- @echo off&setlocal enabledelayedexpansion&title CrackMe
- ::code by Novaa @bbs.bathome.net
- set "Table=echo\&echo\"
- :Menu
- cls&%Table%
- echo 此批处理以加密.
- %Table%
- set /p sPwd= 请输入密码:
- set /a sPwd=!sPwd!+1111111
- set sPwd_1=!sPwd:~0,1!
- set sPwd_2=!sPwd:~1!
- for /f "tokens=2 delims=-" %%i in ("%date%") do (set str=%%i&set "sAdd=!str:~0,1!")
- set /a sPwd_1=!sPwd_1!+!sAdd!
- set /a sPwd_2=!sPwd_2!*2
- set /a sPwd=!sPwd_2!*10+!sPwd_1!
- call :Change
- call :Set
- set /a sPwd=!sPwd!-1
- for /l %%i in (1;1;7) do (set /a sPwd=!sPwd!+!sPwd_%%i!)
- call :Next
- call :Change_3 sPwd_1 sPwd_2
- call :Again !sPwd!
- if "!sPwd!"=="4025" (goto :Pass) else (goto :Menu)
-
-
-
- :Change
- set sPwd_1=!sPwd:~0,1!
- set sPwd_2=!sPwd:~1,1!
- set sPwd_3=!sPwd:~2,1!
- set sPwd_4=!sPwd:~3,1!
- set sPwd_5=!sPwd:~4,1!
- set sPwd_6=!sPwd:~5,1!
- set sPwd_7=!sPwd:~6,1!
- for,/l,%%i,in (1=1=7) do (
- call :Change_1 !sPwd_%%i!
- )
- goto :eof
-
- :Change_1
- for /l %%i in (7;-1;1) do (
- set /a sPwd=%1+%%i
- )
- goto :eof
-
- :Set
- for,/l,%%i,in,(1,1,7) do (
- for,/l,%%j in (1,1,%%i) do (
- set /a sPwd_%%i=!sPwd_%%i!*10
- )
- )
- goto :eof
-
- :Next
- set sPwd_1=!sPwd:~0,4!
- set sPwd_2=!sPwd:~4,4!
- call :Change_2 !sPwd_1! sPwd_1
- call :Change_2 !sPwd_2! sPwd_2
- goto :eof
-
-
-
-
-
- :Change_2
- for,/f,"tokens=1 delims=-: ",%%i,in ("%date%") do (
- set /a %2=%1+%%i
- )
-
- goto :eof
-
- :Change_3
- set /a sPwd=%1-%2
- for /l %%i in (1,1,7) do (
- call :NOK
- )
- goto :eof
-
-
- :NOK
- for /f "delims=- tokens=1,2" %%i in ("%date%") do (
- set sPwd_1=432+%%i
- set sPwd_2=453+%%j
- )
- goto :eof
-
-
-
- :Again
- call :NOK
- call :Another %1
- goto :eof
-
-
-
- :Another
- set /a sPwd=%1+1234
- goto :eof
-
- :Pass
- endlocal&title Pass
- cls&%Table%
- echo you are the winner
- pause>nul
复制代码
没有添加太多的伪代码。算法也恨简单。
作者: youxi01 时间: 2007-12-25 18:30
后面的代码没多去看了,单看这一句:
set /a sPwd=!sPwd!+1111111
似乎,你只允许出现数字密码了
同时,你的所谓加密算法相对来说太简单
作者: novaa 时间: 2007-12-25 20:49
呵呵
就数字就恨难破解了哦。我没有加恨多伪代码。
请问一下
批处理中有ASCII和数字转换的吗?
不然就可以把数字转进去了。
作者: xxx3212 时间: 2007-12-25 23:14
我直接把你的主代码文件复制过来就行了 拿来怎么多精神来破什么密码
作者: 随风 时间: 2007-12-26 01:41
楼主到底是说的批处理加密,还是密码加密?
作者: novaa 时间: 2007-12-26 13:12
密码加密。呵呵
RE:xxx**
呵呵
那是。但是只是一种加密思路。
作者: kuysoft 时间: 2009-4-8 17:15
这个还真不会,学习下
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |