- Children disappearing off the grid in DIE VERMISSTEN (REPORTED MISSING) [teaser]
- A life out of order in Twilight Zone styled SHUFFLE
- Michael Bartlett talks ZOMBIE DIARIES 2 and why you SHOULD NOT buy the US version
- Re-killing bin laden in zombie actioner OSOMBIE (trailer)
- Will you see this film? Teaser poster for RESIDENT EVIL: RETRIBUTION
- Ubuntu: Sending command line mail
- Ubuntu: Sending command line mail
- Re-killing bin laden in zombie actioner OSOMBIE (trailer)
- A Panda protects the innocent in WASTLANDER PANDA tv series
- Trailer for DEAD SHADOWS - Is there some Lovecraft influence?
- Re: Life Is Dead
- Balkans war revenge movie - Nicolas Cage?
- PA Film Archive
- i kill
- Re: Life Is Dead
- Monster Killer
- zombie films
- Re: Life Is Dead
- Re: Hello is anybody there?
- Re: Hello is anybody there?
- Trailer for ZOMBIE MURDER EXPLOSION DIE! All 4 of these in every episode!
- Wandering madly in the remnants of civilization in Greece's HIGUITA (teaser)
- THE HOST director's English language debut SNOW PIERCER adds cast
- Argentina invaded by NEWMEDIA aliens
- THE DIVIDE movie review
- THE RIDER still rides! New teaser reveals stunning final animation style
- EXCLUSIVE: Trailer for RAMPAGE IN HEAVEN sees The Monkey King and mech in a nightmarish dying world
- Sony could back Seth Rogan's THE APOCALYPSE (Jay and Seth vs. The Apocalypse)
- Russia's snowed under with zombies in WINTER OF THE DEAD
- New species rise from the apocalypse in teaser for SOULWEAVER: REQUIEM FOR EARTH (Sielunkehrääjä)
- Badass cheerleader meets the zombie apocalypse in JESSA KILL webseries (video)
- SLAMDANCE 2012: Review of killer tattoo thriller COMFORTING SKIN
- DVD Review: Style overshadows heart in spunky comedy SPORK
- DVD Review: Daniel Craig loses his mind in mediocre DREAM HOUSE
- SUNDANCE 2012: Review of EXCISION
- SUNDANCE 2012: Review of THE PACT
- SUNDANCE 2012: Review of GRABBERS
- SUNDANCE 2012: Review of SAFETY NOT GUARANTEED
- SUNDANCE 2012: Review of the visionary BEASTS OF THE SOUTHERN WILD
- SUNDANCE 2012: Review of (Radio Shack) ROBOT AND FRANK
- SLAMDANCE 2012: Review of unimpressive UNCONDITIONAL
- SUNDANCE 2012: Review of (Radio Shack) ROBOT AND FRANK
- Monty Python reunite for scifi comedy ABSOLUTELY ANYTHING
- Creature with cow tail lures men to their death in THALE (trailer)
- SLAMDANCE 2012: Review of unimpressive UNCONDITIONAL
- Seventeen and a robotic teddy bear for a best friend in ANIMALS (trailer)
- Costa Rican's pay it forward in apocalypse drama EL FIN
- New trailer for m*therfu**ing space nazi flick IRON SKY
- Berlinale 2012: Full Panorama program includes world premiere of IRON SKY
- If The Walking Dead was an 80s sitcom....
- First promo art for FANGS OF WAR - The allies fight over Dracula
- Trailer for Babis Makridis' L reveals the Roy Andersson absurd
- ROTTERDAM 2012: First stills and poster for 70s poltergeist story WHEN THE LIGHTS WENT OUT
- Wandering madly in the remnants of civilization in Greece's HIGUITA (teaser)
- Do a shot and watch this clip from GRABBERS
- First look at the bloody cast of THE CULLING
- God sends messages via the Writing Down Machine in SHOCK HEAD SOUL (trailer)
- Producers claim documentary of Mayan underwater cities and ET contact will shake the world
- EXCLUSIVE: Grabbers directors next is scifi-adventure OUR ROBOT OVERLORDS
- SUNDANCE 2012: First footage for midnighter THE PACT
- Stunning scifi short ARCHETYPE says memories are a glitch
Jack In
Latest Comments
Latest Forum Posts
PA News
Latest Reviews
Older News
Film Festivals
Whistler Film Festival
Nov 30 - Dec 04
Whistler, British Columbia, Canada
Paris International Fantastic Film Festival
Nov 23 - Nov 27
Paris, France
Sundance Film Festival
Jan 19 - Jan 29
Park City, Utah
Slamdance Film Festival
Jan 20 - Jan 26
Park City, Utah
International Film Festival Rotterdam
Jan 25 - Jan 04
Rotterdam, Netherlands
Berlin International Film Festival (Berlinale)
Feb 09 - Feb 19
Berlin, Germany
Vancouver International Film Festival
Sep 29 - Oct 14
Vancouver, British Columbia, Canada
Seattle International Film Festival
May 17 - Jun 10
Seattle, Washington
Festival de Cannes
May 16 - May 27
Cannes, France
Fantastic Fest
Sep 22 - Sep 29
Austin, Texas
Boston Underground Film Festival
Mar 24 - Mar 31
Boston, Massacheusets
AFI FEST
Nov 03 - Nov 10
Los Angeles, California
Los Angeles Film Festival
Jun 14 - Jun 24
Los Angeles, California
Screamfest LA
Oct 14 - Oct 22
Los Angeles, California
Shriekfest
Sep 29 - Oct 02
Los Angeles, California
Fantaspoa de cinema fantastico
Jul 01 - Jul 17
Porto Alegre, Brazil
Yubari International Fantastic Film Festival
Feb 23 - Feb 27
Yūbari, Hokkaidō, Japan
Telluride Horror Show
Oct 12 - Dec 14
Telluride, Colorado
Morbido Fest
Oct 27 - Oct 30
Mexico
Cinequest Film Festival
Feb 28 - Mar 11
San Jose, California
South by Southwest (SXSW)
Mar 09 - Mar 17
Austin, Texas
Staff
Don Neumann aka quietearth
Editor in Chief
Fort Collins/Denver, Colorado
agentorange
Managing Editor
Edmonton, Alberta
Marina Antunes
Assistant Managing Editor
Vancouver, British Columbia
projectcyclops
UK Correspondent
Edinburgh, Scotland
Rick McGrath
Toronto Correspondent
Toronto, Ontario
The Crystal Ferret
France Correspondent
Paris, France
rochefort
Austin Correspondent
Austin, Texas
kilowog
LA Correspondent
Los Angeles, California
Joao Fleck
South American Correspondent
Porto Alegre, Brazil
quietearth [General News 10.16.06]
This is intended to be a howto to debug usb transactions under linux, or simply to reverse engineer propietary usb stuff.
If you need to reverse engineer a windows only usb driver, you can do it easily using vmware. We can snoop the usb traffic from windows using usbmon which is part of the linux kernel since version 2.6.11 (I think). Previous to that you had to use patches.
1. Compile and install the kernel
First off we need to compile the "Debug filesystem" and the usbmon module into the kernel. Under your source directory, run:
# make menuconfigEnable the debug filesystem which is located under Kernel hacking -> Kernel Debugging. Unfortunately this cannot be compiled as a module.
Then enable usb monitoring under Device Drivers -> USB support. It should be around the USB Multimedia adapters or before port drivers.
You will then need to compile the newly configured kernel and install it. This will be distribution dependent, so consult your documentation. If you are looking for instructions for ubuntu, you can read my post about it here.
2. Setup
Once you're booted into your new kernel, we need to mount the debug filesystem and load usbmon (which should be a module):
# mount -t debugfs none_debugs /sys/kernel/debug
# modprobe usbmon
# ls -l /sys/kernel/debug
total 0
-rw------- 1 root root 0 2006-10-16 12:53 1s
-rw------- 1 root root 0 2006-10-16 12:53 1t
-rw------- 1 root root 0 2006-10-16 12:53 2s
-rw------- 1 root root 0 2006-10-16 12:53 2tYou should already have vmware setup with your necessary version of windows installed. At this point we can use the usbmon package (note the package name is the same as the kernel module, but not the same thing) which makes reading the debug output much easier, or you could read the usbmon documentation located in Docuemtation/usb/usbmon.txt in the linux kernel source.
I'm going to use the usbmon package (0.4) so let's grab it from http://people.redhat.com/zaitcev/linux/. This is a java program, and I couldn't use the pre-installed blackdown java on ubuntu, I had to grab the Sun jre and jdk from the repositories. To compile you will probably need to modify the USBMon Makefile to change the JAVAC (java compiler) location. Run make and you should be able to start it up with "java USBMon". Let's leave this for later as it will need to be loaded after we've inserted our device.
3. Execution
Startup vmware and boot your windows virtual machine, once loaded make sure you have loaded the device driver and software for the usb thing you wish to watch. Insert the usb device, both windows and linux should recognize the device, and it should function fine without any special modifications required. Now we can load up the java USBMon program and find our usb device, it will be listed under whatever usb bus # you plugged it into. It might be listed as "generic" or something else which is non-intuitive, so you can take a look at /proc/bus/usb/devices to help out.
Once you've found the device in USBMon, set the primary control pipe and all the interfaces under the Configuration tab to "Full Data Monitoring", then go ahead and run a transaction to it under windows. To see the data, go to the Endpoints tab and under whatever Endpoint Data section, just click on "Data not shown" and it will open a new window with a text/hex/binary dump of the data.
At this point I would reccomend doing one transaction to your device at a time, then looking at the debug output to figure out how it works. The USBMon interface leaves a lot to be desired, so if anyone knows of any better program, please post a comment here.
Then again it might just be easier to do it by hand as described in the kernel documentation.
UPDATE: 10/17/06
I got linked off Make, woohoo! Make rules, it's one of the few sites I read. Thanks to all who visited, and special thanks to Pete for the update on the impending binary api goodness..
Pingbacks
Trackbacks
Rad, Quiet Earth has a good how-to on listening in to what's going on over USB, great for reverse engineering weird USB doo-dads... - "This is intended to be a ho...
Pete Zaitcev (5 years ago) Reply
Just like you said, forget the USBmon. It's the old program which Dave Harding wrote, but he never completed it.
Currently (for 2.6.18), I simply read the raw output for the text format API.
Last week one guy sent me a patch to introduce a binary API, which plugs into libpcap, and thus into Wireshark. We're hashing this out, so it's not quite there.
Anonymous (4 years ago) Reply
ur hot
danielstaple (4 years ago) Reply
The cool thing I have spotted is that the debugfs and usbmon module is already present under ubuntu. You will not need to compile or configure the kernel, just mount the debugfs, load the usbmon module, and the usbmon directory should appear under the /sys/kernel/debug directory.
Happy hacking - I am going to try to get some multimedia keys working on my new shiny keyboard...
Giro (3 years ago) Reply
There is an even better way to sniff on USB Traffic:
the svn version of libpcap is able to sniff on USB Traffic. In combination with Wireshark it is very easy to see whats going on on the USB
http://wiki.wireshark.org/USB
CeDeROM (3 years ago) Reply
pingback frompoland: http://www.tomek.cedro.info/content/view/202/72/lang,pl/
Anonymous (2 years ago) Reply
ping



