Closed ghost closed 2 years ago
Hi!
Last time I changed the layout on my device it was working correctly, I will check this this week. To change the layout you just need to change Keyboard.cpp as indicated in the documentation
About changing the scan codes... this is simple. In the sketch you can find the modifiers, change this with the values you need. The keymaps can be found in EvilCrow-Keylogger/libraries/Keyboard/src/*
For example, for the layout en_us, open en_us.h and change the values you need
Hello again!
I have changed the Keyboard.cpp to pt_pt and delete all the others languages libraries, including en_us. This stubborn device refuse to abandon the en_us language. The log shows NO errors so far.
If you are too much busy, just give me some of your thoughts what could cause this and I will happily search how to solve it. Thank you, I'm your fan.
Hi!
Can you check that the PT layout is correct? I have never been able to check that it is correct, maybe this is the problem
Here is a list of layouts from another project, maybe you can find the correct one here:
https://github.com/insecurityofthings/uC_mousejack/blob/master/tools/keymap.py
You can modify pt_pt.h and change the layout
Another option is to upload the atmega32u4.ino sketch with the Arduino IDE, but I haven't seen any errors in your platformio log. Possibly the problem is that the PT layout is incorrect
Hello! Well, I messed up a little with the en_us layout just to see (and prove my point of he is not only evil, but an insurgent crow too), and yet no effect, the keyboard's output and the log didn't show the changes: 'n' is still 'n', 'o' still 'o', 'p' still 'p' and the keyscan 0x87 still don't show anything.
When I tried to upload atmega32u4.ino with Arduino IDE, some errors was given:
Arduino: 1.8.19 (Windows 10), Board: "LilyPad Arduino USB"
C:\Users\Audr1un\KL\EvilCrow-Keylogger\code\ATMEGA32U4\ATMEGA32U4.ino: In member function 'virtual void KbdRptParser::OnKeyUp(uint8_t, uint8_t)':
ATMEGA32U4:68:12: error: 'class Keyboard_' has no member named 'rawrelease'; did you mean 'release'?
Keyboard.rawrelease(key, 0);
^~~~~~~~~~
release
C:\Users\Audr1un\KL\EvilCrow-Keylogger\code\ATMEGA32U4\ATMEGA32U4.ino: In member function 'virtual void KbdRptParser::OnKeyDown(uint8_t, uint8_t)':
ATMEGA32U4:84:12: error: 'class Keyboard_' has no member named 'rawpress'; did you mean 'press'?
Keyboard.rawpress(key, modifiers);
^~~~~~~~
press
Multiple libraries were found for "hidboot.h"
Used: C:\Users\Audr1un\Documents\Arduino\libraries\USB_Host_Shield_2.0
Not used: C:\Program Files (x86)\Arduino\libraries\USB_Host_Shield_2.0
Multiple libraries were found for "Keyboard.h"
Used: C:\Users\Audr1un\Documents\Arduino\libraries\Keyboard
Not used: C:\Program Files (x86)\Arduino\libraries\Keyboard
exit status 1
'class Keyboard_' has no member named 'rawrelease'; did you mean 'release'?
This report would have more information with "Show verbose output during compilation" option enabled in File -> Preferences.
Hi!
The rawrelease and rawpress functions were created to make the keylogger work properly
In order to compile atmega32u4.ino with arduino ide you have to copy the Keyboard and USB Host libraries (this is in the libraries folder) in the Arduino library directory
Finally I did understand. In the LOG the mess take effect, the 0x87 make the promissed '/' character appears. But I'm still struggling because when I press that key, the monitor don't show anything, the EvilCrow log and then discards. In other words, in the log, I can make the pt_br layout to work fine, but the feedback in the screen works like a en_us layout.
Your library was expect to work like that? How can I make the output of the EvilCrow to be the same as the input?
Read atmega32u4.ino. Here you can find Onkeyup and Onkeydown. If you look at the code, the key you press and release on your keyboard is looked up in asciimap. This is then saved to the SD and displayed on the web. The key you press on the keyboard has to be the same as the one shown on the web
I don't know the PT keyboard, to do this do you do a key combination or just press a key?
Web do you mean when I access the wifi from the ESP32? In the web it's shown OK, the problem is just the feedback from the user's input in their screen monitor. The key is the same as english layout, / is raw, ? is when I press the Shiftkey.
I read the atmega32u4.ino and digged some more, are you sure that's the problem is not for the fact of the scancode is 0x87? the keyboard file, in the line https://github.com/joelsernamoreno/EvilCrow-Keylogger/blob/master/libraries/Keyboard/src/Keyboard.cpp#L557 admits 0x87 like a modifier
Screen monitor? Do you mean that typing / with your keyboard does not show up on the computer or in the keylogger log?
On the computer of the target. I have discovered yesterday that log works properly with some modifications in the keyboard layout. Now it's just the EvilCrow it's not sending the / key to the computer after log it
Well, then the problem is in sending the key to the computer, not in the log.
Ok, I understand that for / you use SHIFT + /
Right?
This works with rawpress (onkeydown), not rawrelease
Shift is MODIFIERKEY_LEFT_SHIFT (0x02), this should be correct for your keyboard. So... try to press SHIFT + / very slowly, maybe this is the problem
Anyway, in the keyboard picture you sent me it should not be necessary to press Shift to print /
No, look at the keyboard image, the key '/' should appear without any modifier and the '?' is SHIFT + /
Pressing slowly didn't work
Ok, so how do you have configured / in the layout?
Are you sure it is x87? If this is the same as the English keyboard, it should be x38
It's a special key defined in the HID as international key, only present in the japanese and brazilian keyboard. I'm sure not only for that, but because the log works after I changed the layout from 0x38 to 0x87
So I don't really know what the problem is. This should work for /
:(
If it is onkeydown you comment the line Keyboard.rawpress(key, modifiers); and you put Keyboard.print("/") what happens?
Well, 3 different things:
1 - in the computer screen, every key pressed turns 'D', the '/' key and SHIFT + '/' key shows the D too
2 - in the web log, works properly, except it shows / as /?Dq
3 - in the sd log, it shows everything normal, except for the SHIFT + /, it shows just '/' (yes, I didnt notice before, the log don't recognize SHIFT + / as ? before this changes that you suggested)
The 'D' is probabily an generic error, because when I change to Keyboard.print("b"), for example, it's shows 'b' on the screen
I have apllied these changes in files: ESP32.ino: const char ssid = "Keylogger"; ==> const char ssid = "Keyla";
Keyboard.cpp:
define kbd_en_us ==> #define kbd_pt_pt
(also, tested too with es_es and cz_cz. No effect)
No errors when run the flash.bat, no relevant (apparently) warnings, as we can see in log: C:\Users\Audr1un\KL\keylogger-pio>C:\Users\Audr1un.platformio\penv\Scripts\platformio.exe run -t upload -d programmer Processing LilyPadUSB (platform: atmelavr; framework: arduino; board: LilyPadUSB)
Verbose mode can be enabled via
-v, --verbose
option CONFIGURATION: https://docs.platformio.org/page/boards/atmelavr/LilyPadUSB.html PLATFORM: Atmel AVR (3.4.0) > Arduino LilyPad USB HARDWARE: ATMEGA32U4 8MHz, 2.50KB RAM, 28KB Flash DEBUG: Current (simavr) On-board (simavr) PACKAGES:Connecting to programmer: . Found programmer: Id = "CATERIN"; type = S Software Version = 1.0; No Hardware Version given. Programmer supports auto addr increment. Programmer supports buffered memory access with buffersize=128 bytes.
Programmer supports the following devices: Device code: 0x44
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% -0.00s
avrdude: Device signature = 0x1e9587 (probably m32u4) avrdude: reading input file ".pio\build\LilyPadUSB\firmware.hex" avrdude: writing flash (4580 bytes):
Writing | ################################################## | 100% 0.38s
avrdude: 4580 bytes of flash written avrdude: verifying flash memory against .pio\build\LilyPadUSB\firmware.hex: avrdude: load data flash data from input file .pio\build\LilyPadUSB\firmware.hex: avrdude: input file .pio\build\LilyPadUSB\firmware.hex contains 4580 bytes avrdude: reading on-chip flash data:
Reading | ################################################## | 100% 0.06s
avrdude: verifying ... avrdude: 4580 bytes of flash verified
avrdude: safemode: Fuses OK (E:CE, H:D8, L:FF)
avrdude done. Thank you.
======================================================================================================= [SUCCESS] Took 13.98 seconds =======================================================================================================
C:\Users\Audr1un\KL\keylogger-pio>ping -n 3 127.0.0.1
Disparando 127.0.0.1 com 32 bytes de dados: Resposta de 127.0.0.1: bytes=32 tempo<1ms TTL=128 Resposta de 127.0.0.1: bytes=32 tempo<1ms TTL=128 Resposta de 127.0.0.1: bytes=32 tempo<1ms TTL=128
Estatísticas do Ping para 127.0.0.1: Pacotes: Enviados = 3, Recebidos = 3, Perdidos = 0 (0% de perda), Aproximar um número redondo de vezes em milissegundos: Mínimo = 0ms, Máximo = 0ms, Média = 0ms
C:\Users\Audr1un\KL\keylogger-pio>C:\Users\Audr1un.platformio\penv\Scripts\platformio.exe run -t upload -d esp32 Processing keylogger (platform: espressif32@1.10.0; framework: arduino; board: pico32)
Verbose mode can be enabled via
-v, --verbose
option CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/pico32.html PLATFORM: Espressif 32 (1.10.0) > ESP32 Pico Kit HARDWARE: ESP32 80MHz, 320KB RAM, 4MB Flash DEBUG: Current (esp-prog) External (esp-prog, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa) PACKAGES:Writing at 0x00001000... (100 %) Wrote 15568 bytes (10188 compressed) at 0x00001000 in 0.9 seconds (effective 131.4 kbit/s)... Hash of data verified. Compressed 3072 bytes to 128...
Writing at 0x00008000... (100 %) Wrote 3072 bytes (128 compressed) at 0x00008000 in 0.0 seconds (effective 1175.8 kbit/s)... Hash of data verified. Compressed 8192 bytes to 47...
Writing at 0x0000e000... (100 %) Wrote 8192 bytes (47 compressed) at 0x0000e000 in 0.0 seconds (effective 5025.0 kbit/s)... Hash of data verified. Compressed 765296 bytes to 430594...
Writing at 0x00010000... (3 %) Writing at 0x00014000... (7 %) Writing at 0x00018000... (11 %) Writing at 0x0001c000... (14 %) Writing at 0x00020000... (18 %) Writing at 0x00024000... (22 %) Writing at 0x00028000... (25 %) Writing at 0x0002c000... (29 %) Writing at 0x00030000... (33 %) Writing at 0x00034000... (37 %) Writing at 0x00038000... (40 %) Writing at 0x0003c000... (44 %) Writing at 0x00040000... (48 %) Writing at 0x00044000... (51 %) Writing at 0x00048000... (55 %) Writing at 0x0004c000... (59 %) Writing at 0x00050000... (62 %) Writing at 0x00054000... (66 %) Writing at 0x00058000... (70 %) Writing at 0x0005c000... (74 %) Writing at 0x00060000... (77 %) Writing at 0x00064000... (81 %) Writing at 0x00068000... (85 %) Writing at 0x0006c000... (88 %) Writing at 0x00070000... (92 %) Writing at 0x00074000... (96 %) Writing at 0x00078000... (100 %) Wrote 765296 bytes (430594 compressed) at 0x00010000 in 40.0 seconds (effective 153.1 kbit/s)... Hash of data verified.
Leaving... Hard resetting via RTS pin... ======================================================================================================= [SUCCESS] Took 96.27 seconds =======================================================================================================
C:\Users\Audr1un\KL\keylogger-pio>ping -n 3 127.0.0.1
Disparando 127.0.0.1 com 32 bytes de dados: Resposta de 127.0.0.1: bytes=32 tempo<1ms TTL=128 Resposta de 127.0.0.1: bytes=32 tempo<1ms TTL=128 Resposta de 127.0.0.1: bytes=32 tempo<1ms TTL=128
Estatísticas do Ping para 127.0.0.1: Pacotes: Enviados = 3, Recebidos = 3, Perdidos = 0 (0% de perda), Aproximar um número redondo de vezes em milissegundos: Mínimo = 0ms, Máximo = 0ms, Média = 0ms
C:\Users\Audr1un\KL\keylogger-pio>C:\Users\Audr1un.platformio\penv\Scripts\platformio.exe run -t upload -d 32u4 Processing LilyPadUSB (platform: atmelavr; framework: arduino; board: LilyPadUSB)
Verbose mode can be enabled via
-v, --verbose
option CONFIGURATION: https://docs.platformio.org/page/boards/atmelavr/LilyPadUSB.html PLATFORM: Atmel AVR (3.4.0) > Arduino LilyPad USB HARDWARE: ATMEGA32U4 8MHz, 2.50KB RAM, 28KB Flash DEBUG: Current (simavr) On-board (simavr) PACKAGES:Downloading [------------------------------------] 0% Downloading [####################################] 100%
Unpacking [------------------------------------] 0% Unpacking [#######-----------------------------] 20% Unpacking [##############----------------------] 40% Unpacking [#####################---------------] 60% Unpacking [############################--------] 80% Unpacking [####################################] 100% Library Manager: Mouse @ 1.0.1 has been installed! Library Manager: Installing id:868
Downloading [------------------------------------] 0% Downloading [#####-------------------------------] 14% Downloading [##########--------------------------] 28% Downloading [###############---------------------] 42% Downloading [####################----------------] 57% Downloading [#########################-----------] 71% Downloading [##############################------] 85% Downloading [####################################] 100%
Unpacking [------------------------------------] 0% Unpacking [#-----------------------------------] 4% Unpacking [##----------------------------------] 8% Unpacking [####--------------------------------] 12% Unpacking [#####-------------------------------] 16% Unpacking [#######-----------------------------] 20% Unpacking [########----------------------------] 24% Unpacking [##########--------------------------] 28% Unpacking [###########-------------------------] 32% Unpacking [############------------------------] 36% Unpacking [##############----------------------] 40% Unpacking [###############---------------------] 44% Unpacking [#################-------------------] 48% Unpacking [##################------------------] 52% Unpacking [####################----------------] 56% Unpacking [#####################---------------] 60% Unpacking [#######################-------------] 64% Unpacking [########################------------] 68% Unpacking [#########################-----------] 72% Unpacking [###########################---------] 76% Unpacking [############################--------] 80% Unpacking [##############################------] 84% Unpacking [###############################-----] 88% Unpacking [#################################---] 92% Unpacking [##################################--] 96% Unpacking [####################################] 100% Library Manager: SD @ 1.2.4 has been installed! Found 9 compatible libraries Scanning dependencies... Dependency Graph |-- 1.0.1
| |-- 1.0
|-- 1.2.4
| |-- 1.0
|-- 1.3.2
| |-- 1.0
|-- 1.0.1
| |-- 1.0
|-- 1.0
Building in release mode
Compiling .pio\build\LilyPadUSB\src\ATMEGA32U4.ino.cpp.o
Compiling .pio\build\LilyPadUSB\lib05c\HID\HID.cpp.o
Compiling .pio\build\LilyPadUSB\lib353\Mouse\Mouse.cpp.o
Compiling .pio\build\LilyPadUSB\lib505\SPI\SPI.cpp.o
Compiling .pio\build\LilyPadUSB\lib783\SD\File.cpp.o
Compiling .pio\build\LilyPadUSB\lib783\SD\SD.cpp.o
Compiling .pio\build\LilyPadUSB\lib783\SD\utility\Sd2Card.cpp.o
Compiling .pio\build\LilyPadUSB\lib783\SD\utility\SdFile.cpp.o
C:/Users/Audr1un/KL/EvilCrow-Keylogger/code/ATMEGA32U4/ATMEGA32U4.ino: In member function 'virtual void KbdRptParser::OnKeyUp(uint8_t, uint8_t)':
C:/Users/Audr1un/KL/EvilCrow-Keylogger/code/ATMEGA32U4/ATMEGA32U4.ino:70:38: warning: right operand of comma operator has no effect [-Wunused-value]
key_modifier = key|modifiersard,HEX;
^
C:/Users/Audr1un/KL/EvilCrow-Keylogger/code/ATMEGA32U4/ATMEGA32U4.ino: In function 'char ProcessCommand()':
C:/Users/Audr1un/KL/EvilCrow-Keylogger/code/ATMEGA32U4/ATMEGA32U4.ino:130:1: warning: no return statement in function returning non-void [-Wreturn-type]
}
^
Archiving .pio\build\LilyPadUSB\lib05c\libHID.a
Compiling .pio\build\LilyPadUSB\lib783\SD\utility\SdVolume.cpp.o
Archiving .pio\build\LilyPadUSB\lib505\libSPI.a
Compiling .pio\build\LilyPadUSB\libf4f\USB_Host_Shield_2.0\BTD.cpp.o
Archiving .pio\build\LilyPadUSB\lib353\libMouse.a
Compiling .pio\build\LilyPadUSB\libf4f\USB_Host_Shield_2.0\BTHID.cpp.o
Compiling .pio\build\LilyPadUSB\libf4f\USB_Host_Shield_2.0\PS3BT.cpp.o
Compiling .pio\build\LilyPadUSB\libf4f\USB_Host_Shield_2.0\PS3USB.cpp.o
Indexing .pio\build\LilyPadUSB\lib05c\libHID.a
Indexing .pio\build\LilyPadUSB\lib505\libSPI.a
Indexing .pio\build\LilyPadUSB\lib353\libMouse.a
Archiving .pio\build\LilyPadUSB\lib783\libSD.a
Compiling .pio\build\LilyPadUSB\libf4f\USB_Host_Shield_2.0\PS4Parser.cpp.o
Compiling .pio\build\LilyPadUSB\libf4f\USB_Host_Shield_2.0\PSBuzz.cpp.o
Compiling .pio\build\LilyPadUSB\libf4f\USB_Host_Shield_2.0\SPP.cpp.o
Compiling .pio\build\LilyPadUSB\libf4f\USB_Host_Shield_2.0\Usb.cpp.o
Compiling .pio\build\LilyPadUSB\libf4f\USB_Host_Shield_2.0\Wii.cpp.o
Compiling .pio\build\LilyPadUSB\libf4f\USB_Host_Shield_2.0\XBOXOLD.cpp.o
Compiling .pio\build\LilyPadUSB\libf4f\USB_Host_Shield_2.0\XBOXONE.cpp.o
Indexing .pio\build\LilyPadUSB\lib783\libSD.a
Compiling .pio\build\LilyPadUSB\libf4f\USB_Host_Shield_2.0\XBOXRECV.cpp.o
Compiling .pio\build\LilyPadUSB\libf4f\USB_Host_Shield_2.0\XBOXUSB.cpp.o
Compiling .pio\build\LilyPadUSB\libf4f\USB_Host_Shield_2.0\adk.cpp.o
Compiling .pio\build\LilyPadUSB\libf4f\USB_Host_Shield_2.0\cdc_XR21B1411.cpp.o
Compiling .pio\build\LilyPadUSB\libf4f\USB_Host_Shield_2.0\cdcacm.cpp.o
Compiling .pio\build\LilyPadUSB\libf4f\USB_Host_Shield_2.0\cdcftdi.cpp.o
Compiling .pio\build\LilyPadUSB\libf4f\USB_Host_Shield_2.0\cdcprolific.cpp.o
Compiling .pio\build\LilyPadUSB\libf4f\USB_Host_Shield_2.0\hidboot.cpp.o
Compiling .pio\build\LilyPadUSB\libf4f\USB_Host_Shield_2.0\hidcomposite.cpp.o
Compiling .pio\build\LilyPadUSB\libf4f\USB_Host_Shield_2.0\hidescriptorparser.cpp.o
Compiling .pio\build\LilyPadUSB\libf4f\USB_Host_Shield_2.0\hiduniversal.cpp.o
Compiling .pio\build\LilyPadUSB\libf4f\USB_Host_Shield_2.0\hidusagetitlearrays.cpp.o
Compiling .pio\build\LilyPadUSB\libf4f\USB_Host_Shield_2.0\masstorage.cpp.o
Compiling .pio\build\LilyPadUSB\libf4f\USB_Host_Shield_2.0\max_LCD.cpp.o
Compiling .pio\build\LilyPadUSB\libf4f\USB_Host_Shield_2.0\message.cpp.o
Compiling .pio\build\LilyPadUSB\libf4f\USB_Host_Shield_2.0\parsetools.cpp.o
Compiling .pio\build\LilyPadUSB\libf4f\USB_Host_Shield_2.0\usbh_midi.cpp.o
Compiling .pio\build\LilyPadUSB\libf4f\USB_Host_Shield_2.0\usbhid.cpp.o
Compiling .pio\build\LilyPadUSB\libf4f\USB_Host_Shield_2.0\usbhub.cpp.o
Compiling .pio\build\LilyPadUSB\libb9b\Keyboard\Keyboard.cpp.o
Archiving .pio\build\LilyPadUSB\libFrameworkArduinoVariant.a
Compiling .pio\build\LilyPadUSB\FrameworkArduino\CDC.cpp.o
Compiling .pio\build\LilyPadUSB\FrameworkArduino\HardwareSerial.cpp.o
Compiling .pio\build\LilyPadUSB\FrameworkArduino\HardwareSerial0.cpp.o
Indexing .pio\build\LilyPadUSB\libFrameworkArduinoVariant.a
Compiling .pio\build\LilyPadUSB\FrameworkArduino\HardwareSerial1.cpp.o
Compiling .pio\build\LilyPadUSB\FrameworkArduino\HardwareSerial2.cpp.o
Archiving .pio\build\LilyPadUSB\libf4f\libUSB_Host_Shield_2.0.a
Compiling .pio\build\LilyPadUSB\FrameworkArduino\HardwareSerial3.cpp.o
Archiving .pio\build\LilyPadUSB\libb9b\libKeyboard.a
Compiling .pio\build\LilyPadUSB\FrameworkArduino\IPAddress.cpp.o
Compiling .pio\build\LilyPadUSB\FrameworkArduino\PluggableUSB.cpp.o
Compiling .pio\build\LilyPadUSB\FrameworkArduino\Print.cpp.o
Compiling .pio\build\LilyPadUSB\FrameworkArduino\Stream.cpp.o
Indexing .pio\build\LilyPadUSB\libf4f\libUSB_Host_Shield_2.0.a
Indexing .pio\build\LilyPadUSB\libb9b\libKeyboard.a
Compiling .pio\build\LilyPadUSB\FrameworkArduino\Tone.cpp.o
Compiling .pio\build\LilyPadUSB\FrameworkArduino\USBCore.cpp.o
Compiling .pio\build\LilyPadUSB\FrameworkArduino\WInterrupts.c.o
Compiling .pio\build\LilyPadUSB\FrameworkArduino\WMath.cpp.o
Compiling .pio\build\LilyPadUSB\FrameworkArduino\WString.cpp.o
Compiling .pio\build\LilyPadUSB\FrameworkArduino\abi.cpp.o
Compiling .pio\build\LilyPadUSB\FrameworkArduino\hooks.c.o
Compiling .pio\build\LilyPadUSB\FrameworkArduino\main.cpp.o
Compiling .pio\build\LilyPadUSB\FrameworkArduino\new.cpp.o
Compiling .pio\build\LilyPadUSB\FrameworkArduino\wiring.c.o
Compiling .pio\build\LilyPadUSB\FrameworkArduino\wiring_analog.c.o
Compiling .pio\build\LilyPadUSB\FrameworkArduino\wiring_digital.c.o
Compiling .pio\build\LilyPadUSB\FrameworkArduino\wiring_pulse.S.o
Compiling .pio\build\LilyPadUSB\FrameworkArduino\wiring_pulse.c.o
Compiling .pio\build\LilyPadUSB\FrameworkArduino\wiring_shift.c.o
Archiving .pio\build\LilyPadUSB\libFrameworkArduino.a
Indexing .pio\build\LilyPadUSB\libFrameworkArduino.a
Linking .pio\build\LilyPadUSB\firmware.elf
Checking size .pio\build\LilyPadUSB\firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM: [======= ] 65.8% (used 1685 bytes from 2560 bytes)
Flash: [==========] 98.4% (used 28210 bytes from 28672 bytes)
Building .pio\build\LilyPadUSB\firmware.hex
Configuring upload protocol...
AVAILABLE: avr109
CURRENT: upload_protocol = avr109
Looking for upload port...
Auto-detected: COM6
Forcing reset using 1200bps open/close on port COM6
Waiting for the new upload port...
Uploading .pio\build\LilyPadUSB\firmware.hex
Connecting to programmer: . Found programmer: Id = "CATERIN"; type = S Software Version = 1.0; No Hardware Version given. Programmer supports auto addr increment. Programmer supports buffered memory access with buffersize=128 bytes.
Programmer supports the following devices: Device code: 0x44
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.00s
avrdude: Device signature = 0x1e9587 (probably m32u4) avrdude: reading input file ".pio\build\LilyPadUSB\firmware.hex" avrdude: writing flash (28210 bytes):
Writing | ################################################## | 100% 2.28s
avrdude: 28210 bytes of flash written avrdude: verifying flash memory against .pio\build\LilyPadUSB\firmware.hex: avrdude: load data flash data from input file .pio\build\LilyPadUSB\firmware.hex: avrdude: input file .pio\build\LilyPadUSB\firmware.hex contains 28210 bytes avrdude: reading on-chip flash data:
Reading | ################################################## | 100% 0.37s
avrdude: verifying ... avrdude: 28210 bytes of flash verified
avrdude: safemode: Fuses OK (E:CE, H:D8, L:FF)
avrdude done. Thank you.
======================================================================================================= [SUCCESS] Took 31.84 seconds =========================================================================================
Please Help, I am burning my sanity for almost three days. In time, before I get trapped in this, I was wodering if I could change the scan codes of keys / and ? in english keyboard, cause the keylogger works like charm in a PT_BR keyboard, except the InternationalKey1 (HID 0x87), which have the same scan code of the modifier key KEY_RIGHT_GUI. Anyway, in a short answer, is easy and simple just make this change or I would need to make fundamental (and brutal) changes in the code?