DETAILED ACTION
Continued Examination Under 37 CFR 1.114
1. Continued Examination Under 37 CFR 1.114A request for continued examination under 37 CFR 1.114, including the fee set forth in37 CFR 1.17(e), was filed in this application after final rejection. Since this application is eligible for continued examination under 37 CFR 1.114, and the fee set forth in 37 CFR1.17(e) has been timely paid, the finality of the previous Office action has been withdrawn pursuant to 37 CFR 1.114. Applicants’ submission filed on 5/12/2026 has been entered.
2. Pending claims for reconsideration are claims 1-15, and 17-19. Claims 1, 9,10, 12-15, and 17-19 have been amended. Claim 16 has been cancelled.
Response to Arguments
3. Applicant's arguments filed 6/02/2026 are moot in view of grounds of new rejection.
Allowable Subject Matter
4. Claim 15 is objected to as being dependent upon a rejected base claim, but would be allowable if rewritten in independent form including all of the limitations of the base claim and any intervening claims.
5. Claim 17 is objected to as being dependent upon a rejected base claim, but would be allowable if rewritten in independent form including all of the limitations of the base claim and any intervening claims.
6. Claim 19 is objected to as being dependent upon a rejected base claim, but would be allowable if rewritten in independent form including all of the limitations of the base claim and any intervening claims.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
7. Claims 1-14 and 18 are rejected under 35 U.S.C. 103 as being unpatentable over Pub.No.: US 2017/0262658 A1 to SALMON-LEGAGNEUR et al (hereafter referenced as SALMON) in view of Pub.No.: US 2006/0225072 A1 to Lari et al(hereafter referenced as Lari).
Regarding claim 1, Salmon discloses “a method of generating a protected data package from an initial file, the initial file(checksum is generated [par.0018]) having a predetermined file format (prepare source file with an array of sufficient size to hold files to be packaged [Fig.1a/item 101]) , the method comprising: identifying a code portion of the initial file to be protected; generating a supplementary file comprising a copy of the code portion(verify a checksum for the unmodified code [Fig.3/item s306]); and modifying the initial file, the modifying comprising replacing at least the code portion of the initial file with replacement data to thereby provide a modified file, the modified file having the same predetermined file format as the initial file (the source acquisition module 232 retrieves the original DEX code ( e . g . from the APK file ) and compares this with the ODEX or ELF file code to determine if the difference between the two correspond to legitimate transformations due to optimization[par.0044])
Salmon does not explicitly disclose “and the modification being arranged to cause a runtime failure when a reader for the predetermined file format tries to load the code portion from the modified file, wherein the protected data package comprises the modified file and the supplementary file.
However, Lari discloses “and the modification being arranged to cause a runtime failure when a reader for the predetermined file format tries to load the code portion from the modified file, wherein the protected data package comprises the modified file and the supplementary file(once this check completes Success fully it updates the installed software and the inventory file. If for any reason the check fails the patch is not applied and the error is reported. [par.0091]).
Therefore, it would have been obvious to one of ordinary skill in the art at the time the invention was filed to modify Salmon’s a device which modifies code to verify application integrity with Lari’s Packaging of multiple groups of read only files in order to provide additional security. One of ordinary skill in the art would have been motivated to combine because Salmon teaches a device which modifies code, Lari discloses packaging of multiple files, and both are from the same field of endeavor.
Regarding claim 2 in view of claim 1, Lari discloses “wherein the replacement data comprises random data and/or null data”(files 120 are accessed on demand basis, and significant amount of disk I/O takes place for events which are not really error conditions but happen routinely such as in the case of 'end-of-data”, null, truncation, and other warnings and information only messages Lari [par.0020])
Regarding claim 3 in view of claim 1, Lari discloses “wherein identifying the code portion of the initial file to be protected comprises parsing the initial file to identify the code portion”(computer 180 retrieves the component's name from within the full path name of the read-only file, e.g. by parsing the full path name into its portions Lari [par.0063]).
Regarding claim 4 in view of claim 1, Lari discloses “wherein identifying the code portion of the initial file to be protected comprises parsing the initial file to identify a pointer referencing a location of the code portion in the initial file” (computer 180 retrieves the component's name from within the full path name of the read-only file, e.g. by parsing the full path name into its portions Lari [par.0063]).
Regarding claim 5 in view of claim 1, Lari discloses “wherein the supplementary file further comprises a pointer which references a location of the code portion in the supplementary file”( file names array is a serial byte array of offsets to all file names (i.e. pointers) where a null terminated String for each file name is stored Lari [par.0069]).
Regarding claim 6 in view of claim 1, Lari discloses “wherein the initial file is a dex file, wherein the code portion is associated with a particular class of the dex file”(computer 180 uses the just-retrieved component name to lookup the index (which is a hash table in the embodiment illustrated in FIGS. 2D and 2E). Lari [par.0063]).
Regarding claim 7 in view of claim 1, Lari discloses “wherein the initial file is a .dex file, wherein the code portion is associated with a particular method of a particular class of the .dex file” (The archive file contains the entire program code in a single DEX (Dalvik Executable code SALMON[par.0008])
Regarding claim 8 in view of claim 1, Lari discloses “wherein the initial file is a Java class file associated with a particular class, and wherein the code portion is associated with a particular method of the particular class.” (computer 180 uses the just-retrieved component name to lookup the index (which is a hash table in the embodiment illustrated in FIGS. 2D and 2E). Lari [par.0063]).
Regarding claim 9, Salmon discloses “a protected data package generated by: identifying a code portion of an initial file (checksum is generated [par.0018]) to be protected, the initial file having a predetermined file format(prepare source file with an array of sufficient size to hold files to be packaged [Fig.1a/item 101])
Salmon does not explicitly disclose “generating a supplementary file comprising a copy of the code portion and modifying the initial file, the modifying comprising replacing at least the code portion of the initial file with replacement data to thereby provide a modified file the modified file having the same predetermined file format as the initial file and the modification being arranged to cause a runtime failure when a reader for the predetermined file format tries to load the code portion from the modified file, wherein the protected data package comprises the modified file and the supplementary file”
However, Lari in an analogous art discloses “generating a supplementary file comprising a copy of the code portion(identify a group of read only files Lari [Fig.1a/item 109]); and modifying the initial file, the modifying comprising replacing at least the code portion of the initial file with replacement data to thereby provide a modified file(overwrite array in executable file with data from read-only files Lari [Fig.1a/item 103]), the modified file having the same predetermined file format as the initial file(both files are shown in FIG. 1B) on a predetermined library path (as discussed in detail below) Lari [par.0035]), and the modification being arranged to cause a runtime failure when a reader for the predetermined file format tries to load the code portion from the modified file, wherein the protected data package comprises the modified file and the supplementary file” (once this check completes Success fully it updates the installed software and the inventory file. If for any reason the check fails the patch is not applied and the error is reported Lari [par.0091]).
Therefore, it would have been obvious to one of ordinary skill in the art at the time the invention was filed to modify Salmon’s a device which modifies code to verify application integrity with Lari’s Packaging of multiple groups of read only files in order to provide additional security. One of ordinary skill in the art would have been motivated to combine because Salmon teaches a device which modifies code, Lari discloses packaging of multiple files, and both are from the same field of endeavor.
Regarding claim 10 , Salmon discloses “a method for a reader of a predetermined file format to execute a protected data package, the protected data package comprising a modified file and a supplementary file(the source acquisition module 232 retrieves the original DEX code ( e . g . from the APK file ) and compares this with the ODEX or ELF file code to determine if the difference between the two corresponds to legitimate transformations due to optimization[par.0044]).
Salmon does not explicitly disclose “the modified file comprising replacement data that has replaced at least a code portion of an initial file on which the modified file is based, the modified file and the initial file having the predetermined file format the supplementary file comprising a copy of the code portion and the method comprising, at runtime: responsive to a runtime failure when trying to load the code portion from the modified file, processing the supplementary file so as to load the code portion from the supplementary file.
However, Lari in an analogous art discloses “the modified file comprising replacement data that has replaced at least a code portion of an initial file on which the modified file is based, the modified file and the initial file having the predetermined file format(prepare source file with an array of sufficient size to hold files to be packaged Lari [Fig.1a/item 101]) the supplementary file comprising a copy of the code portion both files are shown in FIG. 1B) on a predetermined library path (as discussed in detail below). Lari [par.0035]), and the method comprising, at runtime: responsive to a runtime failure when trying to load the code portion from the modified file, processing the supplementary file so as to load the code portion from the supplementary file. (once this check completes Success fully it updates the installed software and the inventory file. If for any reason the check fails the patch is not applied and the error is reported Lari [par.0091]).”
Regarding claim 11 in view of claim 10, Lari discloses “wherein the replacement data comprises random data and/or null data” (files 120 are accessed on demand basis, and significant amount of disk I/O takes place for events which are not really error conditions but happen routinely such as in the case of 'end-of-data”, null, truncation, and other warnings and information only messages Lari [par.0020])
Regarding claim 12 in view of claim 10, Lari discloses “wherein the replacement data in the modified file comprises first replacement data that replaces the code portion of the initial file, and wherein the runtime failure is caused by the reader for the predetermined file format detecting that the first replacement data includes invalid data for the code portion” (computer 180 retrieves the component's name from within the full path name of the read-only file, e.g. by parsing the full path name into its portions Lari [par.0063]).
Regarding claim 13 in view of claim 10, Lari discloses “wherein a pointer in the initial file references a location of the code portion in the initial file(computer 180 retrieves the component's name from within the full path name of the read-only file, e.g. by parsing the full path name into its portions Lari [par.0063]), and wherein the replacement data in the modified file comprises second replacement data that replaces the pointer such that the runtime failure is caused by one of: the reader for the predetermined file format detecting that the second replacement data includes data other than a reference to a file location in the modified file (prepare source file with an array of sufficient size to hold files to be packaged Lari [Fig.1a/item 101]); or the reader for the predetermined file format detecting that the second replacement data includes a reference to a file location in the modified file, wherein the file location in the modified file includes invalid data for the code portion” (computer 180 retrieves the component's name from within the full path name of the read-only file, e.g. by parsing the full path name into its portions Lari [par.0063]).
Regarding claim 14 in view of claim 10, Lari discloses “wherein the initial file is a dex file, wherein the code portion is associated with a particular class of the .dex file, and wherein the runtime failure occurs when the reader for the predetermined file format uses a default class loader to try to load the code portion from the modified file.” (The archive file contains the entire program code in a single DEX (Dalvik Executable code SALMON[par.0008]).
Regarding claim 18 in view of claim 10, the references combined disclose “wherein the initial file is a Java class file associated with a particular class, wherein the code portion is associated with a particular method of the particular class, and wherein the runtime failure occurs when using the default class loader to try to load the code portion from the modified file” ” (applications distributed in the of interpreted code such as code written in Java , Android DEX code , etc. . — comprise intermediate instructions that must be passed through an interpreter before it is executed SALMON[par.0007]).
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to MICHAEL D ANDERSON whose telephone number is (571)270-5159. The examiner can normally be reached Mon-Fri 9am-6pm.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Jeffrey Pwu can be reached at (571) 272-6798. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/MICHAEL D ANDERSON/ Examiner, Art Unit 2433
/JEFFREY C PWU/ Supervisory Patent Examiner, Art Unit 2433