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

ShareServer.dll

ea5cc83f0023ad367f1e1be8b8e038c00e364fc1516afb50412742bd9f8ed1f0

Identity

Property Value
Architecture AMD64
Source size 9,558,640 bytes
Preferred image base 0x180000000
Entry RVA 0x3960
Imports / exports 476 / 1
Exception/unwind ranges 30,086
Executable raw bytes 7,649,792

Physical paths:

Decompilation coverage

Complete with errors: 48,240 successful reconstructions, 6 failures, 48,246 attempted entries, 48,246 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 7,649,792 7,649,446 yes / no / yes 5.3246
.rdata 0x74d000 7650816 1,307,136 1,306,806 yes / no / no 5.1164
.data 0x88d000 8957952 84,992 142,536 yes / yes / no 3.957
.pdata 0x8b0000 9042944 397,824 397,428 yes / no / no 6.1058
.idata 0x912000 9440768 32,768 32,427 yes / no / no 4.3965
.gfids 0x91a000 9473536 27,136 26,784 yes / no / no 4.0966
.giats 0x921000 9500672 512 280 yes / no / no 0.2287
.tls 0x922000 9501184 1,024 816 yes / yes / no 0.0771
.00cfg 0x923000 9502208 512 373 yes / no / no 0.4619
.rsrc 0x924000 9502720 1,536 1,506 yes / no / no 4.0598
.reloc 0x925000 9504256 44,032 43,641 yes / no / no 2.9314

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
SetCaptureSupported True False Sets capture supported state
RegisterHotkeyNotifications True False  
RegisterGeneralNotifications True False  
SetTelemtryInfoToShadowPlay True False  
RegisterCaptureStateChangeNotifications True False  
RegisterWindowStateChangeNotifications True False  
RegisterBroadcastSessionNotifications True False  
CaptureSavedNotification True False Indicates Recording has been saved
HighlightSavedNotification True False Indicates Highlights has been saved
HighlightCaptureFailureNotification True False Indicates Highlight capture failed
RegisterSDKNotifications True False  
RegisterAppNotifications True False Notifications from app lifetime events
GetInitData True False Gets all data OSC needs on initialization
GetMainView True False Gets all data OSC needs on generating main view
OpenOsc True False  
Launch True False Launch/shutdown ShadowPlay
SetOverlayReady True False Notify overlay readinness to shadowplay
GetShadowPlaySupported True False Gets ShadowPlay support state
GetShadowPlayStatus True False Gets ShadowPlay run state
Get4KSupport True False Gets 4K Support
GetSupportedBitrates True False Gets the bitrate values for a specific recording quality and resolution
GetSupportedBitratesFramerates True False Gets the bitrate and framerate values for a specific recording quality, resolution and codec
GetSupportedResolutions True False Gets the list of supported resolutions
GetSupportedResolutionsCodecs True False Gets the list of supported resolutions and codecs and default codec
GetSupportedFramerates True False Gets the list of supported framerates
GetQualityDefaultData True False Gets the default resolution and framerate values for a specific recording quality
GetCaptureState True False Gets Capture State
GetCaptureProcessInfo True False Gets Process Info
GetCaptureControlPIDMode True False Gets if it is valid to do capture control under PID mode
GetScreenshotSupport True False Gets screenshot support
CaptureScreenshot True False Captures screenshot
CaptureCustomScreenshot True False Captures screenshot with custom name
CustomScreenshotNotifications True False  
GetFreestylePreviewBasePath True False  
StartDiskCapture True False Starts a capture session muxed to disk
StopAndSaveDiskCapture True False Stops and finalized recording the capture session to disk
StartBufferedCapture True False Start recording video to a circular buffer from which to save clips
StopBufferedCapture True False Stop and flush the circular video buffer
SaveBufferedCaptureClip True False Saves video clip from the circular buffer
EDGEEvent True False  
GetInstantReplayEnableStatus True False Gets the enable/disable state of Instant Replay
GetInstantReplayRunningStatus True False Gets the running state of Instant Replay
GetInstantReplaySettings True False Gets the Instant Replay settings
SetInstantReplaySettings True False Saves Instant Replay settings
EnableInstantReplay True False Enables Instant Replay
SaveInstantReplay True False Saves Instant Replay
GetLastInstantReplayLength True False Gets the length of the last Instant Replay recording, in seconds
GetInstantReplayCustomizeData True False  
GetRecordEnableStatus True False Gets the enable/disable state of Manual Record
GetRecordRunningStatus True False Gets the running state of Manual Record
EnableRecord True False Enables/disables Manual Record
GetRecordSettings True False Gets the Record settings
SetRecordSettings True False Sets the Record settings
GetRecordCustomizeData True False Gets data for OSC’s Manual Record Customize view
EnableBroadcast True False Enables/disables Broadcast
PauseBroadcast True False Pauses/resumes Broadcast
GetBroadcastEnableStatus True False Gets the enable/disable state of Broadcast
GetBroadcastRunningStatus True False Gets the running state of Broadcast
GetBroadcastSupported True False Gets the support state of Broadcast
GetBroadcastSettings True False Gets the Broadcast settings
SetBroadcastSettings True False Sets the Broadcast settings
SetBroadcastSession True False Sets the Broadcast settings
GetBroadcastPreferredProviderSetting True False Gets the preferred broadcast provider/destination setting
SetBroadcastPreferredProviderSetting True False Sets the preferred broadcast provider/destination setting
GetBroadcastLastProvider True False Gets the last broadcast provider/destination used
SetBroadcastLastProvider True False Sets the last broadcast provider/destination used
GetBroadcastTitle True False Gets the title of the broadcast
GetBroadcast2K True False Gets 2K Broadcast support information
GetBroadcastFacebookLiveSupport True False Gets Facebook Live broadcast support information
GetBroadcastIngestServer True False Gets Broadcast Twitch Ingest server information
SetBroadcastIngestServer True False Sets Broadcast Twitch Ingest server information
SetBroadcastViewerCountImage True False Sets the image to be used as the broadcast viewer count
SetBroadcastViewerMax True False Sets maximum number of broadcast viewers
GetRecordBroadcastConcurrencySupport True False Gets the Manual Record Concurrency support with Broadcast
GetRecordGamestreamConcurrencySupport True False Gets the Manual Record Concurrency support with Gamecast
GetDesktopCaptureEnabled True False Get Desktop Capture enable state
SetDesktopCaptureEnabled True False Sets Desktop Capture enable state
GetDesktopCaptureSupported True False Gets if Desktop Capture is supported
GetDesktopCaptureSupportReason True False Gets the supported reasons for Desktop Capture. This is an extended version of /ShadowPlay/v.1.0/DesktopCapture/Support.
GetHevcSupportedState True False Get HEVC Supported state
GetAudioMode True False Gets Audio mode
SetAudioMode True False Sets Audio mode
GetAudioSettings True False Gets Audio settings
SetAudioSettings True False Sets Audio settings
GetMicCount True False Gets Microphone count, Returns {present:Integer} for number of microphones present (0 or more)
GetMicMode True False Gets Microphone mode
SetMicMode True False Sets Microphone mode
GetMicSettings True False Gets Microphone settings
SetMicSettings True False Sets Microphone settings
MicPTTMode True False Set Microphone PTT Mode
EnableWebcam True False Enables/disables the webcam
ToggleWebcam True False Toggles Webcam between show/hide
GetWebcamEnable True False Gets webcam enable state
GetWebcamShown True False Gets if webcam overlay is shown
GetWebcamPresent True False Gets webcam presence
GetWebcamPreviewState True False Gets if webcam preview is enabled
EnableWebcamPreview True False Enables/disables the webcam preview
GetHighlightsActive True False Checks if a GFE SDK Highlight session is active
GetHighlightsEnable True False Checks if the Highlight feature is enabled
SetHighlightsEnable True False Sets Highlights enable state
GetSDKInstanceActive True False Checks if an active GFE SDK instance exists
GetSDKPermissions True False Gets permissions of GFE SDK
SetSDKPermissions True False sets permissions of GFE SDK
NotifyAppOverlayState True False Sends a notification to SDK-integrate app of overlay state
GetHighlightsConfig True False Gets list of application-defined Highlights and their enable state
SetHighlightsConfig True False Sets enable/disable state of Highlights for a specific application/game
GetApplicationConfigs True False Gets Highlight and SDK Permission settings for all tracked SDK-integrated applications
GetHotkeyShortcut True False Gets the keys assigned to a specific ShadowPlay hotkey action
SetHotkeyShortcut True False Sets the keys assigned to a specific ShadowPlay hotkey action
ResetHotkeysToDefault True False Resets all Hotkeys to default value
GetHotkeyMonitoring True False Determines if hotkey monitoring is enabled
Init True False Initialize all the members requiring SystemInfo
SetHotkeyMonitoring True False Defines if hotkey monitoring is enabled
SetHotkeyDynamicEnable True False Defines if hotkeys should be dynamically enabled
GetIndicatorSupported True False Gets if an Indicator Overlay is supported
GetIndicatorOverlaySettings True False Gets the Indicator Overlay Settings
SetIndicatorOverlaySettings True False Sets an indicator overlay settings
GetCustomOverlayDefaultPath True False Gets the default path of the Custom Overlays
GetCustomOverlaySupport True False Gets Custom Overlays support state
GetCustomOverlayPath True False Gets the default path of a Custom Overlay
SetCustomOverlayPath True False Sets the default path of a Custom Overlay
GetCustomOverlayEnable True False Gets the default path of a Custom Overlay
SetCustomOverlayEnable True False Sets the default path of a Custom Overlay
GetCustomOverlayDisplay True False Gets the display state of a Custom Overlay
SelectCustomOverlay True False Select a Custom Overlay
EnableCustomOverlay True False Enable/Disable Custom Overlay feature
GetNvCameraToggleState True False Gets GameFilter/PhotoMode state.
SetNvCameraToggleState True False Sets GameFilter/PhotoMode state.
ToggleAutoHighlight True False Toggle AutoHighlight
DisableRecordSpecialCase True False Control Recording
GetIf4KRecordingFallbackAvailable True False  
GetExportedGFESettingsData True False Returns exported GFE settings
SyncShadowPlaySettings True False Sync ShadowPlay Settings with handling GFE migration if applicable
HandleHighlightsGfeConfig True False Migrate Highlights config and permissions data from a GFE backup
GAssistToggle True False  

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