NVIDIA software reverse engineering

Static-analysis corpus of NVIDIA App 11.0.9.585, NvContainer, FrameView SDK and the whole C:\Program Files\NVIDIA Corporation tree. 131 PE images, 1,180,302 decompiled functions, 14 recovered Protocol Buffers schemas.

View on GitHub

DriverUpdateRecommendation.dll

7da2c603174a7c6c7d3e5549d7f1d37d9ac21283864f03d02fd3a35ee8d9a8b3

Identity

Property Value
Architecture AMD64
Source size 2,066,032 bytes
Preferred image base 0x180000000
Entry RVA 0x1880
Imports / exports 377 / 1
Exception/unwind ranges 5,412
Executable raw bytes 1,633,280

Physical paths:

Decompilation coverage

Complete with errors: 10,724 successful reconstructions, 3 failures, 10,727 attempted entries, 10,727 reported discovered entries.

Counts refer to automated analysis, not manual review or recovered source code. Function boundaries can change during analysis.

Sections

Section RVA Raw offset Raw bytes Virtual bytes R / W / X Entropy
.text 0x1000 1024 1,633,280 1,632,877 yes / no / yes 5.0303
.rdata 0x190000 1634304 276,480 276,084 yes / no / no 4.8164
.data 0x1d4000 1910784 27,136 32,209 yes / yes / no 4.1469
.pdata 0x1dc000 1937920 72,192 71,736 yes / no / no 5.7804
.idata 0x1ee000 2010112 26,112 25,759 yes / no / no 4.3233
.gfids 0x1f5000 2036224 5,632 5,460 yes / no / no 3.4081
.giats 0x1f7000 2041856 512 292 yes / no / no 0.3281
.tls 0x1f8000 2042368 1,024 777 yes / yes / no 0.0112
.00cfg 0x1f9000 2043392 512 373 yes / no / no 0.4117
.rsrc 0x1fa000 2043904 2,048 1,602 yes / no / no 3.4038
.reloc 0x1fb000 2045952 9,728 9,269 yes / no / no 2.723

PE mitigation flags

Flag Present
dynamic_base true
high_entropy_va true
nx_compat true
guard_cf_flag true
no_seh false
appcontainer false
force_integrity false

Extracted native interfaces

Name Command Notification Description
GetDriverUpdateRecommendation True False  
SetDriverInstallHistory True False Replaces the native copy of the complete driver installation history retained by the NVIDIA App UI.
GetDriverInstallHistory True False Returns the complete driver installation history last published by the NVIDIA App UI.
GetUserDriverTypePreference True False Returns user’s preference for driver type
SetUserDriverTypePreference True False Sets user’s preference for driver type
GetUpdateStrategyPreference True False Returns user’s update strategy
SetUpdateStrategyPreference True False Sets user’s update strategy
GetAutomaticDriverDownloadEnabled True False Checks if automatic driver update download is enabled
SetAutomaticDriverDownloadEnabled True False Enables or disables automatic driver update download
StartDriverUpdateCheck True False Starts driver update check if it is not already running
RegisterDriverUpdateCheckProgressNotifications True False  
GetGRDEditorPreviewMode True False Checks if GRD editor preview mode is enabled, see also https://jirasw.nvidia.com/browse/OPSTOOLS-2142
GetDriverUpdateNotificationEnabled True False Checks if driver update desktop notifications are enabled
SetDriverUpdateNotificationEnabled True False Enables or disables driver update desktop notifications
GetGPUInfo True False  
GetGenericInfo True False  
GetRewardsNotificationPreference True False Get rewards notification preference
SetRewardsNotificationPreference True False Set rewards notification preference
GetLanguagePreference True False Get the preferred language set by user
SetLanguagePreference True False Set the prefereed language saved by the user

Evidence

Large artifacts require Git LFS. A filename hash identifies the original PE; the content of a generated artifact has a different digest.

Module catalog · Research overview