IP Library Granted Patent US 10,983,804
Granted Patent B1
US 10,983,804 · App. 16/714,472 · Granted Apr 20, 2021

Patching a binary file

Inventors: Luther John Durkop, III (Cedar Park, TX); Lawrence R. Waldo (Indialantic, FL)
Assignee: Raytheon Company
G06F9/44521G06F8/76G06F9/3836G06F9/44505G06F9/541H04L61/2007
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,983,804
App. No.
16/714,472
Granted
Apr 20, 2021
Kind
B1
Abstract

Generally discussed herein are systems, apparatuses, and methods for patching a binary file using a nested executable. In one or more embodiments, a system can include a memory including a nested binary file stored thereon, the nested binary file including a child executable and a parent executable, the child executable configured as a payload of the parent executable, the parent executable including instructions that, when executed by an intermediate device, cause the intermediate device to identify a value of a variable of the child executable, determine a memory location on the target device corresponding to the variable, write the value of the variable to the child executable, and throw the child executable to the target device after writing the value of the variable to the determined memory location, and communications circuitry configured to provide the nested binary file to the intermediate device.

Claims (20)

1. A device comprising: a memory including a nested binary file stored thereon, the nested binary file including a child executable and a parent executable, the child executable configured as a payload of the parent executable, the parent executable including instructions that, when executed by an intermediate device, cause the intermediate device to identify a value of a variable of the child executable, determine a memory location on a target device corresponding to the variable, write the value of the variable to the child executable, and throw the child executable to the target device after writing the value of the variable to the determined memory location, and communications circuitry configured to provide the nested binary file to the intermediate device.

2. The device of claim 1 , wherein the variable is an internet protocol (IP) address of the target device or a port number over which to communicate with the target device.

3. The device of claim 1 , wherein the parent executable includes further instructions that, when executed by the intermediate device, further cause the intermediate device to save a file, install an application, or alter a configuration of the intermediate device so that the intermediate device can execute the child executable.

4. The device of claim 1 , wherein the parent executable includes further instructions that, when executed by the intermediate device, further cause the intermediate device to only throw the child executable to the target device after determining a specified trigger event has occurred.

5. The device of claim 1 , wherein the parent executable includes further instructions that, when executed by the intermediate device, further cause the intermediate device to issue a communication to the device indicating whether the child executable was successfully thrown to the target device.

6. The device of claim 1 , wherein identifying the value of the variable of the child executable includes issuing a communication to the target device to determine a value of the variable.

7. The device of claim 6 , wherein writing the value of the variable to the determined memory location includes issuing an object mapping command to determine the memory location of the value of the variable.

8. A method comprising: generating, by a program builder, a nested binary file including a child executable and a parent executable, the child executable configured as a payload of the parent executable, the parent executable including instructions that, when executed by an intermediate device, cause the intermediate device to identify a value of a variable of the child executable, determine a memory location on the intermediate device corresponding to the variable, write the value of the variable to the child executable, and throw the child executable to a target device after writing the value of the variable to the determined memory location; and providing the nested binary file to the intermediate device.

9. The method of claim 8 , wherein the variable is an internet protocol (IP) address of the target device or a port number over which to communicate with the target device.

10. The method of claim 8 , wherein the parent executable includes further instructions that, when executed by the intermediate device, further cause the intermediate device to save a file, install an application, or alter a configuration of the intermediate device so that the intermediate device can execute the child executable.

11. The method of claim 8 , wherein the parent executable includes further instructions that, when executed by the intermediate device, further cause the intermediate device to only throw the child executable to the target device after determining a specified trigger event has occurred.

12. The method of claim 8 , wherein the parent executable includes further instructions that, when executed by the intermediate device, further cause the intermediate device to issue a communication to the device indicating whether the child executable was successfully thrown to the target device.

13. The device of claim 8 , wherein identifying the value of the variable of the child executable includes issuing a communication to the target device to determine a value of the variable.

14. The device of claim 13 , wherein writing the value of the variable to the determined memory location includes issuing an object mapping command to determine the memory location of the value of the variable.

15. A non-transitory machine-readable medium including instructions that, when executed by a machine, cause the machine to perform operations comprising: generating, by a program builder, a nested binary file including a child executable and a parent executable, the child executable configured as a payload of the parent executable, the parent executable including instructions that, when executed by an intermediate device, cause the intermediate device to identify a value of a variable of the child executable, determine a memory location on the intermediate device corresponding to the variable, write the value of the variable to the child executable, and throw the child executable to a target device after writing the value of the variable to the determined memory location; and providing the nested binary file to the intermediate device.

16. The non-transitory machine-readable medium of claim 15 , wherein the variable is an internet protocol (IP) address of the target device or a port number over which to communicate with the target device.

17. The non-transitory machine-readable medium of claim 15 , wherein the parent executable includes further instructions that, when executed by the intermediate device, further cause the intermediate device to save a file, install an application, or alter a configuration of the intermediate device so that the intermediate device can execute the child executable.

18. The non-transitory machine-readable medium of claim 15 , wherein the parent executable includes further instructions that, when executed by the intermediate device, further cause the intermediate device to only throw the child executable to the target device after determining a specified trigger event has occurred.

19. The non-transitory machine-readable medium of claim 15 , wherein the parent executable includes further instructions that, when executed by the intermediate device, further cause the intermediate device to issue a communication to the device indicating whether the child executable was successfully thrown to the target device.

20. The non-transitory machine-readable medium of claim 15 , wherein identifying the value of the variable of the child executable includes issuing a communication to the target device to determine a value of the variable and wherein writing the value of the variable to the determined memory location includes issuing an object mapping command to determine the memory location of the value of the variable.

Assignments (6)
CHANGE OF NAME Recorded Jul 3, 2024
From: COLUMBUS BUYER LLC
To: NIGHTWING GROUP, LLC
Reel/Frame 068106/0251 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 2, 2024
From: RAYTHEON COMPANY
To: COLUMBUS BUYER LLC
Reel/Frame 068233/0420 →
SECURITY INTEREST Recorded Apr 1, 2024
From: COLUMBUS BUYER LLC; RAYTHEON BLACKBIRD TECHNOLOGIES, INC.; RAYTHEON FOREGROUND SECURITY, INC.
To: WELLS FARGO BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 066960/0411 →
EMPLOYMENT AGREEMENT Recorded Dec 12, 2023
From: WALDO, LAWRENCE R.
To: SI GOVERNMENT SOLUTIONS, INC.
Reel/Frame 065904/0295 →
ASSET PURCHASE AGREEMENT Recorded Dec 12, 2023
From: SI GOVERNMENT SOLUTIONS, INC.
To: RAYTHEON COMPANY
Reel/Frame 065904/0364 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 16, 2021
From: DURKOP, LUTHER JOHN, III
To: RAYTHEON COMPANY
Reel/Frame 055600/0805 →
Cited By (1)
US 12,676,882