May have found another one, not so much a bug but that when you find a hive key, and within that hive key resides a hex(1) value, your output states an error correctly, but it would appear that a string value after that, which contains a bracket (I assume), will be identified as also an error. A standard value after that will resume appropriate conversion. Here is a snip from my reg file that I know contains hex(1) values
Here is the output from your version 46 converterCode:[HKEY_LOCAL_MACHINE\SOFTWARE\AA_TEST\FRISK Software International\FP-Win\Default Task] "ByExtensionExtensions"=".EXE .COM .SYS .VXD .DLL .DRV .SCR .386 .XL? .DOC .DOT .OV? .CPL " "DisplayMessage"="F-Prot Antivirus - OnDemand Scanner has found a virus. Virus : [15015] Location : [15013][15012]" "EmailMessage"="F-Prot Antivirus - OnDemand Scanner has found a virus on host [15014].For more information see report file.[15016]" "MoveToFolder"="C:\\Program Files\\FSI\\F-Prot\\Moved" "NEW KEY"="line\\line\"line%2f" @=";I;a;m;ABug!@#$%^&*()\"Welcome\"\"ConfuseMeBaby\"" "new value"="hello","hi"
Here is what I am outputtingCode:HKLM,"SOFTWARE\AA_TEST\FRISK Software International\FP-Win\Default Task","ByExtensionExtensions",0x0 ; Failed (Invalid syntax): (.COM .SYS .VXD .DLL .DRV .SCR .386 .XL? .DOC .DOT .OV? .CPL " "DisplayMessage"="F-Prot Antivirus - OnDemand Scanner has found a virus.) ; Failed (Invalid syntax): (Virus : [15015] Location : [15013][15012]" "EmailMessage"="F-Prot Antivirus - OnDemand Scanner has found a virus on host [15014].For more information see report file.[15016]") HKLM,"SOFTWARE\AA_TEST\FRISK Software International\FP-Win\Default Task","MoveToFolder",0x0,"C:\Program Files\FSI\F-Prot\Moved" HKLM,"SOFTWARE\AA_TEST\FRISK Software International\FP-Win\Default Task","NEW KEY",0x0,"line\line""line%%2f" HKLM,"SOFTWARE\AA_TEST\FRISK Software International\FP-Win\Default Task",,0x0,";I;a;m;ABug!@#$%%^&*()""Welcome""""ConfuseMeBaby""" HKLM,"SOFTWARE\AA_TEST\FRISK Software International\FP-Win\Default Task","new value",0x0,"hello"",""hi"
Those darn hex(1) values. I really wish I could find a fix in .inf for them.Code:;___UN-SUPPORTED DATA TYPE hex(1)___HKLM,"SOFTWARE\AA_TEST\FRISK Software International\FP-Win\Default Task","ByExtensionExtensions",".EXE' & @LF & '.COM' & @LF & '.SYS' & @LF & '.VXD' & @LF & '.DLL' & @LF & '.DRV' & @LF & '.SCR' & @LF & '.386' & @LF & '.XL?' & @LF & '.DOC' & @LF & '.DOT' & @LF & '.OV?' & @LF & '.CPL' & @LF & '" ;___UN-SUPPORTED DATA TYPE hex(1)___HKLM,"SOFTWARE\AA_TEST\FRISK Software International\FP-Win\Default Task","DisplayMessage","F-Prot Antivirus - OnDemand Scanner has found a virus.' & @LF & '' & @LF & '' & @LF & 'Virus : [15015]' & @LF & '' & @LF & 'Location : [15013][15012]" HKLM,"SOFTWARE\AA_TEST\FRISK Software International\FP-Win\Default Task","EmailMessage",0x0,"F-Prot Antivirus - OnDemand Scanner has found a virus on host [15014].For more information see report file.[15016]" HKLM,"SOFTWARE\AA_TEST\FRISK Software International\FP-Win\Default Task","MoveToFolder",0x0,"C:\Program Files\FSI\F-Prot\Moved" HKLM,"SOFTWARE\AA_TEST\FRISK Software International\FP-Win\Default Task","NEW KEY",0x0,"line\line""line%%2f" HKLM,"SOFTWARE\AA_TEST\FRISK Software International\FP-Win\Default Task",,0x0,";I;a;m;ABug!@#$%%^&*()""Welcome""""ConfuseMeBaby""" HKLM,"SOFTWARE\AA_TEST\FRISK Software International\FP-Win\Default Task","new value",0x0,"hello","hi"
Now maybe you can answer a question. How does your routine handle the proper conversion of this
Your output is proper I believe, beingCode:"new value"="hello","hi"
While mine is like thisCode:HKLM,"SOFTWARE\AA_TEST\FRISK Software International\FP-Win\Default Task","new value",0x0,"hello"",""hi"
How do you segregate the instances of double quotes in a structure like that from one of the other more complicated variety? If I double up on a reg_sz, it affects them all.Code:HKLM,"SOFTWARE\AA_TEST\FRISK Software International\FP-Win\Default Task","new value",0x0,"hello","hi"
Anyway, more learning comin up.
MrWoo


Reply With Quote
Bookmarks