Windows脚本编码器算法分析与破译

本文分析了微软的Windows脚本编码器的加密算法,并探讨了其破译方法。通过选择明文攻击,作者揭示了加密过程中明文与密文之间的关系,包括密文的前缀、后缀、中间密文的规律。通过对中间密文的深入研究,发现了一种以64为周期的字符替换序列,从而提供了破译密文的途径。最后,作者提到了前缀和后缀的变动规则,并提供了一个去除了前后缀的密文供读者尝试解密。
摘要由CSDN通过智能技术生成


               Windows脚本编码器算法分析与破译
                            by lake2(
http://mrhupo.126.com

    大家对脚本一定很熟悉吧,呵呵,脚本编写简单无需编译所以非常方便。不过,脚本的一个缺点是它不能保护脚本的内容,因为随便谁拿到一个脚本程序都可以用记事本打开来看内容。这样就不安全了嘛,比如你的知识产权可能不保;web服务器上连接数据库的asp文件会泄露sql的用户名密码;分析源代码找到设计漏洞……

    呵呵,不过微软开发了一个脚本编码器(Script encoder)来弥补脚本的不足。脚本编码器对文件中的脚本代码进行编码,其他内容不动且以普通文本形式显示,而经过编码后的程序可以直接由相应的程序执行,执行结果与未编码的程序相同。这个不是本文的讨论范围,感兴趣就去下载吧,微软还附赠了中文使用说明的哦。下载地址:http://www.microsoft.com/downloads/details.aspx?FamilyID=6a326d9c-f47e-4c92-b42a-b3d43029e96f&displaylang=zh-cn

    本文的目的就是对脚本编码器的加密算法进行分析并找出破译方法,内容可能枯燥无味,若你有兴趣就继续看吧。先说一下,脚本编码器的解密软件早已经有了(你可以see http://www.csdn.net/cnshare/soft/13/13303.shtm),这里是分析——“授人以鱼,不如授人以渔”。

    你还有兴趣啊?呵呵,那好,待我准备好工具就开始。东西也不多,记事本程序、Script encoder程序、ascii码表、一张草稿纸足矣。呵呵,我是用纯密码学去分析破译,所以用不着对程序进行反汇编(再说我还不会汇编):P

    这里先给出个密码学术语——选择明文攻击:攻击者能够得到任意明文所对应的密文。现在我们手上有加密程序,就可以构造任意明文来加密得到密文,符合选择明文攻击的条件。

    脚本编码器能够处理asp、htm、vbs、js等类型的文件,都是将文件中的脚本加密。比如asp、htm,就加密“<%”“%>"和“<SCRIPT>”“</SCRIPT>”之间的内容;vbs、js则加密整个文件。程序会自动改掉原来的语言标识。比如我的asp文件原来是“LANGUAGE="VBScript"”,现在成了“LANGUAGE="VBScript.Encode"”。

    现在我的内容是“2004年12月16日”,加密之后就成了“#@~^CwAAAA==+Z!*年8 月8v日kAEAAA==^#~@”,注意这里仅仅是为了分析算法,所以并不去管程序的语法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值