@@ -1545,9 +1545,10 @@ private void ModificationAdded(RegistryTraceData registryTraceData) {
1545
1545
//return;
1546
1546
//}
1547
1547
1548
+ // comparable names, since registry key/value names shouldn't have null bytes in them according to Win32
1548
1549
RegistryStateElement registryStateElement = new RegistryStateElement {
1549
- KeyName = registryTraceData . KeyName ,
1550
- ValueName = registryTraceData . ValueName
1550
+ KeyName = GetComparableName ( registryTraceData . KeyName ) ,
1551
+ ValueName = GetComparableName ( registryTraceData . ValueName )
1551
1552
} ;
1552
1553
1553
1554
// KeyHandle is meant to be a uint32, so we discard the rest
@@ -1740,8 +1741,8 @@ private void ModificationRemoved(RegistryTraceData registryTraceData) {
1740
1741
1741
1742
// create filler element to get name
1742
1743
RegistryStateElement registryStateElement = new RegistryStateElement {
1743
- KeyName = registryTraceData . KeyName ,
1744
- ValueName = registryTraceData . ValueName
1744
+ KeyName = GetComparableName ( registryTraceData . KeyName ) ,
1745
+ ValueName = GetComparableName ( registryTraceData . ValueName )
1745
1746
} ;
1746
1747
1747
1748
ulong safeKeyHandle = registryTraceData . KeyHandle & 0x00000000FFFFFFFF ;
@@ -1795,7 +1796,7 @@ private void KCBStarted(RegistryTraceData registryTraceData) {
1795
1796
kcbModificationKeyNames = new Dictionary < ulong , string > ( ) ;
1796
1797
}
1797
1798
1798
- kcbModificationKeyNames [ safeKeyHandle ] = registryTraceData . KeyName ;
1799
+ kcbModificationKeyNames [ safeKeyHandle ] = GetComparableName ( registryTraceData . KeyName ) ;
1799
1800
}
1800
1801
1801
1802
private void KCBStopped ( RegistryTraceData registryTraceData ) {
@@ -1854,7 +1855,7 @@ private void KCBStopped(RegistryTraceData registryTraceData) {
1854
1855
registryStateElement = registryStateElements [ j ] ;
1855
1856
1856
1857
keyName = GetRedirectedKeyValueName (
1857
- GetKeyValueNameFromKernelRegistryString ( registryTraceData . KeyName + "\\ " + registryStateElement . KeyName ) ,
1858
+ GetKeyValueNameFromKernelRegistryString ( GetComparableName ( registryTraceData . KeyName ) + "\\ " + registryStateElement . KeyName ) ,
1858
1859
modificationsElement . RegistryStates . BinaryType
1859
1860
) ;
1860
1861
0 commit comments