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 AVRDUDE: 1 Introduction
update:
Just read the page myself and found on AVRDUDE: 2.2 Programmers accepting extended parameters 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)
and
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.
Rob
update
Avrdude can be found at ~\arduino-0021\hardware\tools\avr\doc\avrdude