3

I am working to reverse engineer a USB based robot arm, but the operating system for the robot won't allow me to create simple enough moves that I can isolate the commands with a USB Sniffer like Wireshark. So I am looking for two new options.

  1. Is there a program like Wireshark that allows you to record usb traffic and selectively playback commands in the program? With Wireshark I would have to write the USB command in a python script and then send it to the device but the simplest I can get is ~10,000 commands and that would be difficult. I would like to be able to in the program, just click the command and like a resend button so I can see if that command is the one I need to control a joint or motor.

  2. Can I just brute force the system? Could I write a python program that simply steps through all 255 bytes for each spot on the usb command in a reasonable amount of time? I know the math doesn't make that a good option since it would mean A LOT of possible combinations but maybe someone has a method of brute forcing that doesn't require each part of the USB command to be tried?

Thank you all!!

bcarroll14
  • 41
  • 2
  • Hi and welcome to RE.SE. What speeds are we talking about? Given the description, if you don't need too fast speeds, I am inclined to recommend a hardware like the GreatFET which at first you could place in between your USB hub and the device (don't know which is which in your scenario; but I'd guess the arm is the device) to capture communication. Later you could then use that to test your findings rather easily. – 0xC0000022L Jul 14 '22 at 08:45
  • Wireshark USB capturing is possible: https://wiki.wireshark.org/CaptureSetup/USB And there are projects for replaying captured traffic like https://github.com/JohnDMcMaster/usbrply (not tested). – Robert Jul 14 '22 at 08:51

0 Answers0