so I can upload it to another Arduino?
if you press the [compile-upload] button with the shift pressed you get information how a sketch get uploaded (commands etc). If you are able to extract the hexcode from one Arduino this verbose output might give some clues how to upload the hexfile. Check http://www.nongnu.org/avrdude/user-manual/avrdude.html#Top
Just read the page myself and found on http://www.nongnu.org/avrdude/user-manual/avrdude_4.html#Option-Descriptions the option
-U memtype:op:filename[:format] (options are case sensitive!!)
The [b]op [/b]field specifies what operation to perform:
r read the specified device memory and write to the specified file
w read the specified file and write it to the specified device memory
So one can read and write from a device ( I expect reading will produce a 32K image, even if the original sketch was less)
The [b]format [/b]field is optional and contains the format of the file to read or write. Possible values are:
r raw binary; little-endian byte order, in the case of the flash ROM data
So it must be possible to download a raw binary from one device and upload it to another one. You must also have the port right and other flags, so read it more carefully than I did. As Cr0sh said you wil not get the sourcecode but this thread http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1241117308 is about disassembling the generated hexcode so you may get a faint echo of the original source
PLease let us know if you succeeded as this is a way to quick multiply a busload of Arduinos with the same sketch. Very interesting.
Avrdude can be found at