IP Library Granted Patent US 9,483,381
Granted Patent B2
US 9,483,381 · App. 14/570,998 · Granted Nov 1, 2016

Obfuscating debugging filenames

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 9,483,381
App. No.
14/570,998
Granted
Nov 1, 2016
Kind
B2
Abstract

An information handling system, method, and computer-readable media for obfuscating debugging filenames during a software build are described. The system comprises one or more processors, a memory, and one or more program modules stored on the memory and executable by the one or more processors. The one or more program modules compile a source code file of a plurality of source code files into a program, generate a debugging file including debugging information for the program, utilize a one-way deterministic function to generate an obfuscated filename for the debugging file, and include a link to the debugging file in the program, the link including the obfuscated filename.

Claims (46)

1. An information handling system for obfuscating debugging filenames during a software build, the information handling system comprising:

one or more processors;

a memory;

one or more program modules stored on the memory and executable by the one or more processors to:

compile a source code file or a plurality of source code files into software modules;

pass file names of the software modules to a script;

generate, at least in part by the script and based at least in part on a one-way deterministic function, obfuscated filenames for the filenames of the software modules;

pass the obfuscated filenames as arguments to a linker module; and

generate, by the linker module, a software image file to include links to debugging files, the links including the obfuscated filenames.

2. The information handling system of claim 1 , wherein the one-way deterministic function utilizes at least an original filename of the source code file or the program as an input into the one-way deterministic function to generate the obfuscated filename.

3. The information handling system of claim 2 , wherein the one-way deterministic function utilizes at least a cryptographic salt as another input into the one-way deterministic function to generate the obfuscated filename.

4. The information handling system of claim 1 , wherein the one or more program modules are further executable by the one or more processors to generate a reverse-lookup file that associates the obfuscated filename with an original filename of the source code file or the program.

5. The information handling system of claim 1 , wherein:

the link to the debugging file in the program includes a directory pathway; and

links for each of a plurality of debugging files, corresponding to each of the source code files, include the directory pathway.

6. The information handling system of claim 1 , wherein the one-way deterministic function is a hash function.

7. The information handling system of claim 1 , wherein the program is one of a plurality of programs included in an executable binary file, wherein the executable binary file includes links to a plurality of debugging files, one debugging file for each of the plurality of programs.

8. The information handling system of claim 7 , wherein the executable binary file is a Basic Input/Output System (BIOS) file.

9. A method for obfuscating debugging filenames during a software build, the method comprising:

compile a source code file or a plurality of source code files into software modules;

pass file names of the software modules to a script;

generate, at least in part by the script, based at least in part on a one-way deterministic function, obfuscated filenames for the filenames of the software modules;

pass the obfuscated filenames as arguments to a linker module; and

generate, by the linker module, a software image file wherein the software image file is a Basic Input/Output System (BIOS) file, wherein the software image file includes links to debugging files, the links including the obfuscated filename.

10. The method of claim 9 , further comprising utilizing at least an original filename of the source code file or the program as an input into the one-way deterministic function to generate the obfuscated filename.

11. The method of claim 10 , utilizing a cryptographic salt as another input into the one-way deterministic function to generate the obfuscated filename.

12. The method of claim 9 , further comprising generating a reverse-lookup file that identifies the obfuscated filename with an original filename of the source code file or the program.

13. The method of claim 9 , wherein:

the program is one of a plurality of programs included in the BIOS file; and

the BIOS file includes links to a plurality of debugging files, one debugging file for each of the plurality of programs.

14. One or more non-transitory computer-readable media having programming instructions that are executable by one or more processors to perform acts comprising:

compiling a source code file or a plurality of source code files into software modules;

passing filenames of the software modules to a script;

generating, at least in part by the script and based at least in part on a one-way deterministic function, obfuscated filenames for the filenames of the software modules;

passing, by the script, the obfuscated filenames as arguments to a linker module; and

generating, by the linker module, a software image file wherein the software image file is a Basic Input/Output System (BIOS) file, the software image file including links to the debugging file in the program, the link including the obfuscated filename.

15. The one or more non-transitory computer-readable media of claim 14 , wherein the acts further comprise utilizing at least an original filename of the source code file or the program as an input into the one-way deterministic function to generate the obfuscated filename.

16. The one or more non-transitory computer-readable media of claim 15 , wherein the acts further comprise utilizing a cryptographic salt as another input into the one-way deterministic function to generate the obfuscated filename.

17. The one or more non-transitory computer-readable media of claim 16 , wherein the one-way deterministic function is a hash function.

18. The one or more non-transitory computer-readable media of claim 14 , wherein:

the program is one of a plurality of programs included in the BIOS file; and

the BIOS file includes links to a plurality of debugging files, one debugging file for each of the plurality of programs.

19. The one or more non-transitory computer-readable media of claim 14 , wherein:

the link to the debugging file in the program includes a directory pathway; and

links for each of a plurality of debugging files, corresponding to each of the source code files, include the directory pathway.

20. The one or more non-transitory computer-readable media of claim 14 , wherein the one-way deterministic function comprises a hash function.

Assignments (15)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL USA L.P.; ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
RELEASE OF REEL 035103 FRAME 0809 (TL) Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; COMPELLENT TECHNOLOGIES, INC.
Reel/Frame 040027/0934 →
RELEASE OF REEL 035104 FRAME 0043 (NOTE) Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; COMPELLENT TECHNOLOGIES, INC.
Reel/Frame 040027/0123 →
RELEASE OF REEL 035103 FRAME 0536 (ABL) Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; COMPELLENT TECHNOLOGIES, INC.
Reel/Frame 040016/0864 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (NOTES) Recorded Feb 26, 2015
From: DELL PRODUCTS L.P.; DELL SOFTWARE INC.; COMPELLENT TECHNOLOGIES, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 035104/0043 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (TERM LOAN) Recorded Feb 26, 2015
From: DELL PRODUCTS L.P.; DELL SOFTWARE INC.; COMPELLENT TECHNOLOGIES, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 035103/0809 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (ABL) Recorded Feb 26, 2015
From: DELL PRODUCTS L.P.; DELL SOFTWARE INC.; COMPELLENT TECHNOLOGIES, INC.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 035103/0536 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 15, 2014
From: BARKELEW, JONATHAN BRET; MARTINEZ, RICARDO L.
To: DELL PRODUCTS L.P.
Reel/Frame 034510/0905 →