Azn Posted May 3, 2010 Share Posted May 3, 2010 Duck Cans! No, not that sorts of cans, these ones: Photo of my proof of concept code running: The more observant will notice that there's a 3.5mm audio cable coming out of the headphone socket on my Milestone (aka Droid) and have probably deduced that the ducky is 'listening'. The Android app uses FSK to encode data within an audio tone which is then read by the ducky. The interesting thing is that the tone for a specific set of commands can be pre-generated and played back on any audio device. I'll be releasing the code and circuit details soon, I have a few things to fix up and some specifications to finalize. Quote Link to comment Share on other sites More sharing options...
Sl45h3R Posted May 3, 2010 Share Posted May 3, 2010 OMG NICE! Can't wait for you to release it!, I suppose the source of the Android app with be released so we can port it? :D Quote Link to comment Share on other sites More sharing options...
TehFallen Posted May 7, 2010 Share Posted May 7, 2010 It looks amazing! I'm definitely interested. Actually Azn I have a question. Could you perhaps look at this post and tell me if you think the concept I described would be possible with your code? Quote Link to comment Share on other sites More sharing options...
Azn Posted May 7, 2010 Author Share Posted May 7, 2010 This sort of stuff sounds a lot like covert channels, like how firmware hackers program a bootloader that blinks the power LED to obtain the original firmwares from devices. Some interesting reading: http://www.flakelabs.com/index.php/blog/ They're using an Android device to connect to a computer via audio, they use a circuit which is relatively complicated compared to mine. My implementation uses a few resistors and a capacitor then uses the hardware built into the AVR to do the rest of the work. Other hardware related methods include: - adding a microphone on the Teensy to read audio played by the computer's speakers (unreliable, complicated circuit) - adding a LDR (light dependent resistor) on the Teensy and sticking it on the monitor or an LED on the computer (simple circuit but slow transfer speed and fiddly) - adding a bluetooth module to the Teensy (expensive, requires host computer to have bluetooth) - adding a WiFi/Ethernet module to the Teensy (expensive, plus many other complications) I'd say direct connection to audio out is the best because it's readily available and the circuit to interface to the Teensy is very simple (the way I'm doing it). So to actually answer the question, yes it is possible to use audio to transmit from the computer to the Teensy, as I said in my original post the device can be any that can play or generate audio. Anyway, rambling... I've been meaning to do more work on this project but I've been busy with uni assignments, I have a little bit of spare time this weekend so hopefully I can at least release something for public use before things get busy again. Quote Link to comment Share on other sites More sharing options...
stacked Posted May 7, 2010 Share Posted May 7, 2010 I would take more of a RTTY approach. RTTY is radio teletype common used on ham radio. In case you didn't know, tty is use to send text over serial, which would be an easy way to tell the ducky commands. What I have done so far is strip an old headset wire, then solder on leads and plug them into the breadboard with my teensy. Both mic and audio ground to ground. The mic lead then goes to TX aka transmitting. And both audio leads (L&R) into the RX aka receiving. Then compile the teensy with teensyduino as a usb serial device (not keyboard/mouse). AFAIK this should work. I am still trying to work it out myself. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.