RedLectroid / OverThruster

HID attack payload generator for Arduinos
GNU General Public License v3.0
159 stars 47 forks source link

[Question] Recognition by PC #2

Open michalmonday opened 7 years ago

michalmonday commented 7 years ago

Hi, once the sketch gets uploaded to the board is the board going to be recognised by PC as HID only? Or additionally it's going to be recognised as an Arduino too?

If it's recognised as both then do you have an idea what could be done to prevent that? I thought about changing "VID" and "PID" but I'm afraid there's no "blank" setting for these values (but idk)

RedLectroid commented 7 years ago

The board gets recognized as both HID and arduino. I can look into how to disable it being recognized as an arduino, but that will greatly complicate re-flashing the device in the future, as the Arduino IDE will not recognize it plugged in.

michalmonday commented 7 years ago

I guess it would need a bootloader to be reflashed but it isn't that much of a hassle after doing it once. I've made a small set of instructions to do it (because I couldn't find condensed information about it anywhere)

Reflashing "bricked" Pro Micro using Uno

  1. Connect Arduino Uno to PC (it will be the programmer)
  2. Open arduino IDE -> File -> Examples -> 11. ArduinoISP -> ArduinoISP
  3. Tools -> Board -> Arduino/Genuino Uno
  4. Tools -> Port -> Com X (Arduino Uno)
  5. Upload the sketch
  6. Disconnect the Arduino Uno from PC
  7. Connect the Uno to the Pro Micro as shown on the image below (make sure there is a solid connection otherwise the the process won't be completed, it probably won't damage the boards, I had loose cables multiple times and just re-fastened them and tried again)
  8. Reconnect Arduino Uno to PC
  9. Open programmers.txt from the Arduino installation directory (Arduino\hardware\arduino\avr\programmers.txt)
  10. Find "arduinoasisp.protocol=stk500v1" and "arduinoasisp.program.protocol=stk500v1". 11 Comment out both of these lines and add their copies with "arduino" instead of "stk500v1". It should look like this:
# arduinoasisp.protocol=stk500v1                    # original line
arduinoasisp.protocol=arduino                        # changed for Leonardo
# arduinoasisp.program.protocol=stk500v1    #original line
arduinoasisp.program.protocol=arduino        #changed for Leonardo
  1. Save the programmers.txt file and go back to Arduino IDE again.
  2. Tools -> Programmer -> Arduino as ISP
  3. Tools -> Board -> Arduino Leonardo (if it's 5V board, for 3.3V there's a plugin needed)
  4. Tools -> Burn Bootloader
  5. That's the point where incorrect wiring between Uno - Pro micro may result in failure, hopefully it should successfully complete after around 30 seconds. That's a wiring pattern: https://images.discordapp.net/.eJwNxEEOgyAQAMC_8ADQVUT8QBNP_QGhQJEEXbJs00PTv7dzmI94URWbOJhb35SKpQekKDsj-ZxkRsw1-Va6DHgqz-zDcaaLu4JFrxoGALCjXmC2RoG1dp5gHFa9TqM2ZlGN0J0l_H8gckUfE7ln9f1w70LlynK_38T3Byn1LSY.tWIOmMsGCZXW0f6xjT6husgaQ6I?width=816&height=612
necony286 commented 7 years ago

need more help on this .

RedLectroid commented 7 years ago

Not ignoring this issue, I've just have had no time to look into it. I promise I will in the near future.