Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Trojan Inject - modTaskManager2.bas

modTaskManager2.bas

Caricato da:
Scarica il programma completo

  1. Attribute VB_Name = "modTaskManager2"
  2. Private Declare Function RegOpenKeyEx Lib "advapi32" Alias "RegOpenKeyExA" ( _
  3.     ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, _
  4.     ByVal samDesired As Long, ByRef phkResult As Long) As Long
  5. Private Declare Function RegQueryValueEx Lib "advapi32" Alias "RegQueryValueExA" ( _
  6.     ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, _
  7.     ByRef lpType As Long, ByVal lpData As String, ByRef lpcbData As Long) As Long
  8. Private Declare Function RegCloseKey Lib "advapi32" (ByVal hKey As Long) As Long
  9. Private Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" ( _
  10.     ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, _
  11.     ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long
  12. Private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" ( _
  13.     ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
  14. Private Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" ( _
  15.     ByVal hKey As Long, ByVal lpValueName As String) As Long
  16. Private Declare Function RegDeleteKey Lib "advapi32.dll" Alias "RegDeleteKeyA" ( _
  17.     ByVal hKey As Long, ByVal lpSubKey As String) As Long
  18. Public Const HKEY_CLASSES_ROOT = &H80000000
  19. Public Const HKEY_CURRENT_USER = &H80000001
  20. Public Const HKEY_LOCAL_MACHINE = &H80000002
  21. Public Const REG_SZ = 1
  22. Public Const REG_BINARY = 3
  23. Public Const REG_DWORD = 4
  24. Public Const REG_OPTION_NON_VOLATILE = 0
  25. Public Const SYNCHRONIZE = &H100000
  26. Public Const READ_CONTROL = &H20000
  27. Public Const STANDARD_RIGHTS_READ = (READ_CONTROL)
  28. Public Const KEY_QUERY_VALUE = &H1
  29. Public Const KEY_ENUMERATE_SUB_KEYS = &H8
  30. Public Const KEY_NOTIFY = &H10
  31. Public Const KEY_WRITE = &H20006
  32. Public Const KEY_ALL_ACCESS = &H2003F
  33. Public Const KEY_READ = _
  34. ((STANDARD_RIGHTS_READ Or KEY_QUERY_VALUE Or KEY_ENUMERATE_SUB_KEYS Or KEY_NOTIFY) And (Not SYNCHRONIZE))
  35. Public Const gREGKEYLocation = "SOFTWARE\Your Company Name\Your App Name\Your Current Version"
  36. Public Const gREGKEYXPos = "XPos"
  37. Public Const gREGKEYYPos = "YPos"
  38. Public Const gREGKEYWidth = "Width"
  39. Public Const gREGKEYHeight = "Height"
  40. Public Const gREGKEYWindowState = "WindowState"
  41. Public Const ERROR_SUCCESS = 0&
  42.  
  43. Public Sub GetRegistryKeys()
  44.     Dim strXPos$, strYPos$, strHeight$, strWidth$, strWindowState$
  45.     GetKeyValue HKEY_LOCAL_MACHINE, gREGKEYLocation, gREGKEYXPos, strXPos
  46.     GetKeyValue HKEY_LOCAL_MACHINE, gREGKEYLocation, gREGKEYYPos, strYPos
  47.     GetKeyValue HKEY_LOCAL_MACHINE, gREGKEYLocation, gREGKEYWidth, strWidth
  48.     GetKeyValue HKEY_LOCAL_MACHINE, gREGKEYLocation, gREGKEYHeight, strHeight
  49.     GetKeyValue HKEY_LOCAL_MACHINE, gREGKEYLocation, gREGKEYWindowState, strWindowState
  50.     If Len(strWidth) <> 0 Then
  51.         frmMain.Width = IIf(CInt(strWidth) > MIN_WIDTH, CInt(strWidth), MIN_WIDTH)
  52.     Else: frmMain.Width = MIN_WIDTH
  53.     End If
  54.     If Len(strHeight) <> 0 Then
  55.         frmMain.Height = IIf(CInt(strHeight) > MIN_HEIGHT, CInt(strHeight), MIN_HEIGHT)
  56.     Else: frmMain.Height = MIN_HEIGHT
  57.     End If
  58.     If Len(strXPos) <> 0 Then
  59.         frmMain.Left = IIf(CInt(strXPos) > 0, CInt(strXPos), (Screen.Width - frmMain.Width) / 2)
  60.     End If
  61.     If Len(strYPos) <> 0 Then
  62.         frmMain.Top = IIf(CInt(strYPos) > 0, CInt(strYPos), (Screen.Height - frmMain.Height) / 2)
  63.     Else: frmMain.Top = (Screen.Height - frmMain.Height) / 2
  64.     End If
  65.     If Len(strWindowState) > 0 Then
  66.         Select Case CInt(strWindowState)
  67.             Case vbMaximized
  68.             frmMain.WindowState = vbMaximized
  69.             Case Else
  70.             frmMain.WindowState = vbNormal
  71.         End Select
  72. End If
  73. End Sub
  74.  
  75. Public Function GetKeyValue(KeyRoot As Long, KeyName As String, SubKeyRef As String, _
  76.     ByRef KeyVal As String) As Boolean
  77.     Dim i As Long
  78.     Dim rc As Long
  79.     Dim hKey As Long
  80.     Dim KeyValType As Long
  81.     Dim tmpVal As String
  82.     Dim KeyValSize As Long
  83.     rc = RegOpenKeyEx(KeyRoot, KeyName, 0, KEY_ALL_ACCESS, hKey)
  84.     If (rc <> ERROR_SUCCESS) Then GoTo GetKeyError
  85.     tmpVal = String$(1024, 0)
  86.     KeyValSize = 1024
  87.     rc = RegQueryValueEx(hKey, SubKeyRef, 0, KeyValType, tmpVal, KeyValSize)
  88.     If (rc <> ERROR_SUCCESS) Then GoTo GetKeyError
  89.     If (Asc(Mid(tmpVal, KeyValSize, 1)) = 0) Then
  90.         tmpVal = Left(tmpVal, KeyValSize - 1)
  91.     Else
  92.         tmpVal = Left(tmpVal, KeyValSize)
  93.     End If
  94.     Select Case KeyValType
  95.         Case REG_DWORD
  96.         For i = Len(tmpVal) To 1 Step -1
  97.             KeyVal = KeyVal + Format(Hex(Asc(Mid(tmpVal, i, 1))), "00")
  98.         Next
  99.         KeyVal = Format$("&h" + KeyVal)
  100.         Case REG_SZ
  101.         KeyVal = tmpVal
  102.     End Select
  103. GetKeyValue = True
  104. rc = RegCloseKey(hKey)
  105. Exit Function
  106. GetKeyError:
  107. GetKeyValue = False
  108. rc = RegCloseKey(hKey)
  109. End Function
  110.  
  111. Public Sub SetRegistryKeys()
  112.     Dim strF1Prefixes$, strF1PrefixesEnabled$
  113.     DeleteRegKey gREGKEYLocation
  114.     If frmMain.WindowState = vbMinimized Then frmMain.WindowState = vbNormal
  115.     SetKeyValue HKEY_LOCAL_MACHINE, gREGKEYLocation, REG_DWORD, gREGKEYWindowState, frmMain.WindowState
  116.     frmMain.WindowState = vbNormal
  117.     If frmMain.Left >= 0 Then
  118.         SetKeyValue HKEY_LOCAL_MACHINE, gREGKEYLocation, REG_DWORD, gREGKEYXPos, frmMain.Left
  119.     Else: SetKeyValue HKEY_LOCAL_MACHINE, gREGKEYLocation, REG_DWORD, gREGKEYXPos, 0
  120.     End If
  121.     If frmMain.Top >= 0 Then
  122.         SetKeyValue HKEY_LOCAL_MACHINE, gREGKEYLocation, REG_DWORD, gREGKEYYPos, frmMain.Top
  123.     Else: SetKeyValue HKEY_LOCAL_MACHINE, gREGKEYLocation, REG_DWORD, gREGKEYYPos, 0
  124.     End If
  125.     SetKeyValue HKEY_LOCAL_MACHINE, gREGKEYLocation, REG_DWORD, gREGKEYWidth, frmMain.Width
  126.     SetKeyValue HKEY_LOCAL_MACHINE, gREGKEYLocation, REG_DWORD, gREGKEYHeight, frmMain.Height
  127. End Sub
  128.  
  129. Public Function SetKeyValue(KeyRoot As Long, KeyName As String, lType As Long, SubKeyRef As String, KeyVal As Variant) As Boolean
  130.     Dim rc As Long
  131.     Dim hKey As Long
  132.     rc = RegOpenKeyEx(KeyRoot, KeyName, 0, KEY_ALL_ACCESS, hKey)
  133.    
  134.     If (rc <> ERROR_SUCCESS) Then
  135.         Call RegCreateKey(KeyRoot, KeyName, hKey)
  136.     End If
  137.     Select Case lType
  138.         Case REG_SZ
  139.         rc = RegSetValueEx(hKey, SubKeyRef, 0&, REG_SZ, ByVal CStr(KeyVal & Chr$(0)), Len(KeyVal))
  140.         Case REG_BINARY
  141.         rc = RegSetValueEx(hKey, SubKeyRef, 0&, REG_BINARY, ByVal CStr(KeyVal & Chr$(0)), Len(KeyVal))
  142.         Case REG_DWORD
  143.         rc = RegSetValueEx(hKey, SubKeyRef, 0&, REG_DWORD, CLng(KeyVal), 4)
  144.     End Select
  145. If (rc <> ERROR_SUCCESS) Then GoTo SetKeyError
  146. SetKeyValue = True
  147. rc = RegCloseKey(hKey)
  148. Exit Function
  149. SetKeyError:
  150. KeyVal = ""
  151. SetKeyValue = False
  152. rc = RegCloseKey(hKey)
  153. End Function
  154.  
  155. Public Function DeleteRegValue(KeyName As String, SubKeyRef As String) As Boolean
  156.     Dim rc As Long
  157.     Dim hKey As Long
  158.     rc = RegOpenKeyEx(HKEY_LOCAL_MACHINE, KeyName, 0, KEY_ALL_ACCESS, hKey)
  159.     If (rc <> ERROR_SUCCESS) Then GoTo DeleteKeyError
  160.     rc = RegDeleteValue(hKey, SubKeyRef)
  161.     If (rc <> ERROR_SUCCESS) Then GoTo DeleteKeyError
  162.     DeleteRegValue = True
  163.     Exit Function
  164. DeleteKeyError:
  165.     DeleteRegValue = False
  166. End Function
  167.  
  168. Public Function DeleteRegKey(KeyName As String) As Boolean
  169.     Dim rc As Long
  170.     rc = RegDeleteKey(HKEY_LOCAL_MACHINE, KeyName)
  171.     DeleteRegKey = IIf(rc = ERROR_SUCCESS, True, False)
  172. End Function