A method of reversibly generating a binary target file from a binary source file, using a delta file, the method comprising: receiving a delta file; and processing instructions in the delta file to generate the binary target file from the binary source file, wherein the delta file comprises: one or more copy instructions identifying one or more binary copy strings in the binary source file for including in the binary target file; and reversing data for regenerating all of the binary source file that is outside the one or more binary copy strings, the reversing data comprising one or more skip instructions for instructing a processing system to include, in a regenerated binary source file, all of the binary data of the binary source file that is outside the one or more binary copy strings; wherein: each skip instruction has associated binary skip data equal to some or all of the binary data of the source file that is outside the binary copy strings and each skip instruction comprises a source address operand identifying a location in the regenerated binary source file at which to include the associated binary skip data when generating the regenerated binary source file; the reversing data is received as part of the delta file, and generating the binary target file comprises: processing the one or more copy instructions by reading the one or more binary copy strings from the binary source file and including the one or more binary copy strings in the binary target file. receiving a delta file; and processing instructions in the delta file to generate the binary target file from the binary source file, wherein the delta file comprises: one or more copy instructions identifying one or more binary copy strings in the binary source file for including in the binary target file; and reversing data for regenerating all of the binary source file that is outside the one or more binary copy strings, the reversing data comprising one or more skip instructions for instructing a processing system to include, in a regenerated binary source file, all of the binary data of the binary source file that is outside the one or more binary copy strings; one or more copy instructions identifying one or more binary copy strings in the binary source file for including in the binary target file; and reversing data for regenerating all of the binary source file that is outside the one or more binary copy strings, the reversing data comprising one or more skip instructions for instructing a processing system to include, in a regenerated binary source file, all of the binary data of the binary source file that is outside the one or more binary copy strings; wherein: each skip instruction has associated binary skip data equal to some or all of the binary data of the source file that is outside the binary copy strings and each skip instruction comprises a source address operand identifying a location in the regenerated binary source file at which to include the associated binary skip data when generating the regenerated binary source file; the reversing data is received as part of the delta file, and generating the binary target file comprises: processing the one or more copy instructions by reading the one or more binary copy strings from the binary source file and including the one or more binary copy strings in the binary target file. each skip instruction has associated binary skip data equal to some or all of the binary data of the source file that is outside the binary copy strings and each skip instruction comprises a source address operand identifying a location in the regenerated binary source file at which to include the associated binary skip data when generating the regenerated binary source file; the reversing data is received as part of the delta file, and generating the binary target file comprises: processing the one or more copy instructions by reading the one or more binary copy strings from the binary source file and including the one or more binary copy strings in the binary target file.