代码安全,网络安全,系统内核
« »
2007-11-09编程开发

23 views

解密 HtmlShip 加密的 html 文件

  1. #! /usr/bin/python   
  2. #coding=gb2312   
  3.  
  4. import sys   
  5. import webbrowser, os   
  6.  
  7. if len(sys.argv) < 2:   
  8.   print 'usage: UnHtmlShip.py encodehtml\n' 
  9.   print '运行后将弹出IE,点击允许activex\n' 
  10.   print "将在程序目录下生成 UnHtmlShip.htm" 
  11.   sys.exit(1)   
  12.  
  13.  
  14. pypath = os.path.abspath(os.path.dirname(sys.argv[0]))   
  15. pypath = pypath.replace('\\', '\\\\') 
  16. decodeHtmlpath = pypath + '\\\\UnHtmlShip.htm' 
  17.  
  18.  
  19. # 插入主要起作用的代码 
  20. add = """;var fso, ts;   
  21. fso = new ActiveXObject("Scripting.FileSystemObject"); """ + \ 
  22. """ts = fso.OpenTextFile(""" + '"' + decodeHtmlpath + '"' + """, 8, true); """ + \ 
  23. """ts.WriteLine(w); 
  24. ts.Close();""" 
  25.  
  26. # 获得文件大小,单位字节 
  27. filesize = os.path.getsize(sys.argv[1]) 
  28.  
  29.  
  30.         
  31.  
  32. substring = r',document.write(w);' 
  33. func = lambda(x): x.replace(substring, add) 
  34.  
  35. try
  36.     
  37.       f = open(sys.argv[1], 'rb') 
  38.       lines = f.readlines(filesize) 
  39.  
  40.       newlines = [func(x) for x in lines] 
  41.  
  42.       f = open(sys.argv[1], 'wb') 
  43.       f.writelines(newlines) 
  44.  
  45.       f.close() 
  46.                 
  47.       webbrowser.open(sys.argv[1]) 
  48. except
  49.   print 'error occur'   
  50.   sys.exit(0)


日志信息 »

该日志于2007-11-09 21:34由 老周 发表在编程开发分类下, 你可以发表评论。除了可以将这个日志以保留源地址及作者的情况下引用到你的网站或博客,还可以通过RSS 2.0订阅这个日志的所有评论。

2条评论

  1. xiaoxue 说:

    我看了半天才发现这段脚本的目的只是把输出流从网页换成了FSO,不过你是怎么发现w这个关键变量的呢?

  2. 老周 说:

    经验,耐心,积累

发表评论 »

发表评论您必须先登录

返回顶部