[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
在本人看来:
唯一不能被暴破以及不会在文本中被找到的批处理密码是和代码融为一体的密码
以前本人曾写过这样一段代码但是因为实用性太差就没有继续下去了。。。
个人终极结论:在批处理中进行加密和设置密码基本属于吃饱了撑了型(研究除外)
***共同提高***

TOP

回复 31# batman


    在代码中提取密码总要储存在一个变量内 被别人echo或set一下就看到了

TOP

本帖最后由 batman 于 2012-2-28 12:31 编辑

这就是以前写的,代码和密码融为一体
  1. @echo off&setlocal enabledelayedexpansion
  2. set /p code=请输入运行密码:
  3. set "zw=for %%i in (%code%) do "&set "wz=set "&set "ww=call :zh"
  4. %ww%
  5. !_5!!_3!!_8!!_15! !_2!!_2!!_19!.!_2!!_1!!_20!!_8!!_15!!_13!.!_3!!_14!
  6. !_16!!_1!!_21!!_19!!_5!
  7. :zh
  8. %zw%(%wz%/a n+=1&%wz%_!n!=%%i)
复制代码
1

评分人数

    • ivor: 很复杂哟,没看懂技术 + 1
***共同提高***

TOP

回复 33# batman
我也有这个想法。与其让破解者删掉if判断,不如让密码从根本上影响整个批处理的运行。最好再结合上文件自检MD5(当然也不是if检查,像密码一样作为往后代码的一部分)。不过有心者必然能破解,但是任何本机运行的加解密代码都是不安全的。我们能做到的是让破解者认为破解密码带来的代价比不上收获就可以了。
第三方命令行工具编程
Http://Hi.Baidu.Com/Console_App

TOP

回复 34# defanive


       我的想法类似于batman,不过用关键代码将全局代码封锁起来并不怎么容易实现,我想使用一种算法来加密:
       用SET语句、FOR语句等进行数学运算。这种算法应该可以实现,将所有计算过程变得随机些,然后获取一个关键的数字,缺乏这个数字代码就无法成功执行,算法之类的可以参考RSA等。就目前所见过的批处理代码而言,即使再困难的代码都可以阅读出来,但数学题,即使写给你看你不一定会做。如果我把关键的算式抽走,那么代码就无法成功执行了。比如,写一个关于计算圆周率的代码,如果其中某些地方出错,代码就无法成功执行了,但你知道圆周率的结果,却不知道我们私下设置的密码的结果。
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

回复 33# batman
确实是一个比较简单的例子
可以继续扩展做一个通用的转换程序
关键是对于特殊字符的处理问题
但是这种算法容易根据字符频率猜测出密码
进而猜测出解密的明文
天的白色影子

TOP

本帖最后由 batman 于 2012-2-29 22:20 编辑

回复 36# qzwqzw


    把空格和其他符号都转换成密文,再加以变形,就没那么好推了,代码越短越不好推。。。

  转换的程序我原来也写出来了,只是感觉不太实用就放下了。。。
***共同提高***

TOP

本帖最后由 cjiabing 于 2012-3-7 19:16 编辑

告诉大家一个统计学的破解法,就是词频破解法,统计某个字的出现次数和位置就可以破解密码,针对此的解决办法就是“转换”、“移位”、“影射”等。理论的东西比较抽象,大家可以看看例子,比如:
        加密字符:abcdehidlwdpex
        解密字符:一只洁白的可爱的美丽的天鹅。
        破解时,你可以尝试使用“111”等这种简单的字符来尝试结果,还可以统计“的”字的出现次数,以及位置,从而推断出密码的加密方法。
加密的办法
       一个是对称式,也就是一个字符转换为对应的另一个字符,适合大量文本的加密,比如base64,对称式的密码容易使用统计学的办法破解。
       还有一种是非对称的,有些可能是拓展性的,有些可能是压缩性的,比如MD5,它简单的几个字符就能代表一个文件。这种办法破解比较困难。
       目前密码学是数学密码学,将密码转换为一些公认的数学难题,使得人们解密就像破解哥德巴赫猜想,成本很高,可能一辈子破解不了(与人的数学能力和计算机的运算能力有关)。
       当前的密码学协议要求公开算法,你怎么加密密码的过程是公开的(有一个公开的公钥),而解密的钥匙KEY(私钥)则是掌握在保密人的手中。把密码转换为RSA码,然后你要解开这个密码则先要找到RSA的密码,而要破解RSA解密的KEY就得破解哥德巴赫猜想,你能破解吗?不能就无法破解密码。
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

动态密码可以理解为临时的密码,就是有时间局限性。可以利用一个固定的算法算出密码,要不就像飞信等软件发验证码到手机那样动态登陆,需要一个别人不能接触到的数据库,确保安全性。我能想到的就这两种常用

TOP

回复 38# cjiabing


base64是一种编码,不能算是加密吧。
就算是简单的替换加密,在不知道码表的情况下,是无法像base64那样写出一段解码程序的,这样才可以算做加密。

TOP

回复 40# find


    什么是加密?
    加密是以某种特殊的算法改变原有的信息数据,使得未授权的用户即使获得了已加密的信息,但因不知解密的方法,仍然无法了解信息的内容。加密技术是最常用的安全保密手段,利用技术手段把重要的数据变为乱码(加密)传送,到达目的地后再用相同或不同的手段还原(解密)。加密技术包括两个元素:算法和密钥。算法是将普通的信息或者可以理解的信息与一串数字(密钥)结合,产生不可理解的密文的步骤,密钥是用来对数据进行编码和解密的一种算法。在安全保密中,可通过适当的钥加密技术和管理机制来保证网络的信息通信安全。
    http://baike.baidu.com/view/40927.htm
    什么是base64?
    Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,大家可以查看RFC2045~RFC2049,上面有MIME的详细规范。Base64编码可用于在HTTP环境下传递较长的标识信息。例如,在Java Persistence系统Hibernate中,就采用了Base64来将一个较长的唯一标识符(一般为128-bit的UUID)编码为一个字符串,用作HTTP表单和HTTP GET URL中的参数。在其他应用程序中,也常常需要把二进制数据编码为适合放在URL(包括隐藏表单域)中的形式。此时,采用Base64编码不仅比较简短,同时也具有不可读性,即所编码的数据不会被人用肉眼所直接看到。
    http://baike.baidu.com/view/469071.htm

    其他的我不想说。
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

我想确定一下,这个帖子的主题是
一次性密码?
还是
批处理加密?

TOP

回复 42# bluewing009


其实,主题就是大家互相扯扯淡

TOP

轻松一下 先看下 batman33楼 密码  a 1 c 6 e @ } h \ $ 8 + 4 - o p ~ ] s 9 u d r 2 s f

TOP

谢谢lz分享。。。。。。。。。

TOP

返回列表