Board logo

标题: [其他] 【讨论】批处理实现的一种数字密码加密方法 [打印本页]

作者: 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

代码如下
大家猜密码吧。。。
哈哈。。
  1. @echo off&setlocal enabledelayedexpansion&title CrackMe
  2. ::code by Novaa @bbs.bathome.net
  3. set "Table=echo\&echo\"
  4. :Menu
  5. cls&%Table%
  6. echo 此批处理以加密.
  7. %Table%
  8. set /p sPwd= 请输入密码:
  9. set /a sPwd=!sPwd!+1111111
  10. set sPwd_1=!sPwd:~0,1!
  11. set sPwd_2=!sPwd:~1!
  12. for /f "tokens=2 delims=-" %%i in ("%date%") do (set str=%%i&set "sAdd=!str:~0,1!")
  13. set /a sPwd_1=!sPwd_1!+!sAdd!
  14. set /a sPwd_2=!sPwd_2!*2
  15. set /a sPwd=!sPwd_2!*10+!sPwd_1!
  16. call :Change
  17. call :Set
  18. set /a sPwd=!sPwd!-1
  19. for /l %%i in (1;1;7) do (set /a sPwd=!sPwd!+!sPwd_%%i!)
  20. call :Next
  21. call :Change_3 sPwd_1 sPwd_2
  22. call :Again !sPwd!
  23. if "!sPwd!"=="4025" (goto :Pass) else (goto :Menu)
  24. :Change
  25. set sPwd_1=!sPwd:~0,1!
  26. set sPwd_2=!sPwd:~1,1!
  27. set sPwd_3=!sPwd:~2,1!
  28. set sPwd_4=!sPwd:~3,1!
  29. set sPwd_5=!sPwd:~4,1!
  30. set sPwd_6=!sPwd:~5,1!
  31. set sPwd_7=!sPwd:~6,1!
  32. for,/l,%%i,in (1=1=7) do (
  33. call :Change_1 !sPwd_%%i!
  34. )
  35. goto :eof
  36. :Change_1
  37. for /l %%i in (7;-1;1) do (
  38. set /a sPwd=%1+%%i
  39. )
  40. goto :eof
  41. :Set
  42. for,/l,%%i,in,(1,1,7) do (
  43. for,/l,%%j in (1,1,%%i) do (
  44. set /a sPwd_%%i=!sPwd_%%i!*10
  45. )
  46. )
  47. goto :eof
  48. :Next
  49. set sPwd_1=!sPwd:~0,4!
  50. set sPwd_2=!sPwd:~4,4!
  51. call :Change_2 !sPwd_1! sPwd_1
  52. call :Change_2 !sPwd_2! sPwd_2
  53. goto :eof
  54. :Change_2
  55. for,/f,"tokens=1 delims=-: ",%%i,in ("%date%") do (
  56. set /a %2=%1+%%i
  57. )
  58. goto :eof
  59. :Change_3
  60. set /a sPwd=%1-%2
  61. for /l %%i in (1,1,7) do (
  62. call :NOK
  63. )
  64. goto :eof
  65. :NOK
  66. for /f "delims=- tokens=1,2" %%i in ("%date%") do (
  67. set sPwd_1=432+%%i
  68. set sPwd_2=453+%%j
  69. )
  70. goto :eof
  71. :Again
  72. call :NOK
  73. call :Another %1
  74. goto :eof
  75. :Another
  76. set /a sPwd=%1+1234
  77. goto :eof
  78. :Pass
  79. endlocal&title Pass
  80. cls&%Table%
  81. echo you are the winner
  82. 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