Update:
There is a tool at http://ev3treevis.azurewebsites.net/ that can be use to create a new .ev3
file from a .rbf
file recovered from an EV3 brick. Some information will be lost, but at least simple programs should be able to be recovered.
Original answer:
You can extract the compiled program from the EV3. Compiled programs have a .rbf
file extension. However, these files only contain EV3 VM bytecodes and cannot be converted back to the EV3-G project file format (.ev3p
file extension).
Details about extracting the program from the brick and what you can do with it has already been answered here.