分秒必争

个人技术博客,笔记,杂谈之地

« [原]VBS解密工具80后工作以后的经典变化 »
May
13

[原]用Python来解密VBS

用来解密如图所类似的VBS,解密后会在当前目录下生成decode.txt这个文本文件,这就是解密后的源码

其实这种方法用任何语言编写都可以,只是自己在学Python就用python写了一个,而且python只须要几句话就行了,如果去掉注释说明什么的,源码在图下面

#!/usr/bin/env python
#encoding=utf-8
import sys,WConio,os
def printgoodnews(news):
    oldcolor=WConio.gettextinfo()[4]
    WConio.textcolor(WConio.GREEN)
    print news
    WConio.textcolor(oldcolor)
usage=u"""帮助:此工具须要在命令方式下执行,若此文件命令为a.exe
则在命令下输入 a.exe demo.vbs或者 a demo.vbs
Http://Www.Djhui.Net    分秒必争
"""

if __name__=="__main__":

    if len(sys.argv)==1:
        printgoodnews(usage)
        sys.exit(-1)
    vbs = sys.argv[1]
    if vbs[-4:].lower()!=".vbs" or not os.path.exists(vbs):
        printgoodnews(u"不好意思,你所输入的文件'%s'不是一个有\n效的VBS脚本文件或者文件不存在,请重新输入\nHttp://Www.Djhui.net\n分秒必争" % vbs)
    else:
        printgoodnews(u"""Http://Www.Djhui.net    分秒必争\n""")
        printgoodnews(u"""开始解密%s,请稍等....\n""" % vbs)
        printgoodnews(u"""开始读取文件%s...\n""" % vbs)
        rf = open (vbs,'r')
        rf1 = rf.read()
        rf.close()
        rf1 = rf1.lower().replace('execute','intercept')
        rf1= rf1 +"""\nSub Intercept (ee)

OutPutFile="decode.txt"
Set objFSO=CreateObject("Scripting.FileSystemObject")
Set objTXT=objFSO.CreateTextFile(OutPutFile,True,False)
objTXT.Write ee
objTXT.Close
Set objWSH=CreateObject("WScript.Shell")
objWSH.Run OutPutFile
WScript.Quit
End Sub"""
        printgoodnews(u"""开始写入临时文件...\n""")
        rf = open('temp.vbs','w')
        rf.write(rf1)
        rf.close
        del rf
        del rf1

        printgoodnews(u"""开始解密...\n""")
        os.system('cscript.exe temp.vbs >nul 2>nul')
        printgoodnews(u"""解密完成...\n""")

 

Share
« [原]VBS解密工具80后工作以后的经典变化 »
  • 相关文章:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

日历

Channels

Categories

Comments

Previous

Powered By Z-Blog 1.8 Walle Build 100427  Copyright www.djhui.net. Some Rights Reserved. 浙ICP 9017588