;----------------------------------------------------------------- ;[Options] ; This section specifies VSP.EXE program options just like command ; line switches. Options that accept paths will have environment ; variables expanded. Options that function as a toggle may specified using ; any of the following terms: true, false, yes, no, on, off, 0 or 1. ;----------------------------------------------------------------- [Options] ;InFile=obj\i386\EncDec.DLL ; Input file (may be BBTized if PreBBT specified) ;OutFile=EncDec.dll ; /O Final output file ;PreBBT=%BBTDIR%\dll.dll ; /P Pre-BBT file if process Pre/Post BBT pairs ;AutoMac=1,2 ; /A Controls AutoMAC generation using ratio AutoMac=1,5 ; /A Controls AutoMAC generation using ratio ;AutoMac=100 ; /A Controls max number of AutoMAC generated AutoMac=50 ; /A Controls max number of AutoMAC generated CallPlacementLabels=false ; Controls verify call insertion at labels DebugLevel=4 ; /D Debug level controls output to logfile (0-4) ;Instrument=commandline ; /I Passes command line to office instrumentation NoPopups=true ; Exit on GP-Fault ;NoPopups=false ; Exit on GP-Fault NoRedundantSegments=false ; /R Controls generation of redundant sections ;SourceFileList=%SRC%\files ; /S Additional list of source files for injection of verify calls UseForcedInjection=false ; /U Use forced support code injection. NoCallInsertion=false ; /X Disable verify call injection ;CallOnce=true ; Disable verify calls after first execution (default) CallOnce=false ; Disable verify calls after first execution (default) ProfileLog=Profile.log ; Name of final binary profile log. RandomSeed=1000 ; Seed for random number generator. ;DllMainCleanup=false ; Over-ride DllMain for critical section cleanup DllMainCleanup=true ; Over-ride DllMain for critical section cleanup ;UseDadWatson=false ; Inject DadWatson stack signatures UseDadWatson=true ; Inject DadWatson stack signatures TargetDbgFlags= 0x0000020f ; Inject new debug flags into msoutdll.dll ;-------------------------------------------------------------------------- ; [SourceFileNames] ; This section contains a list of source file that can have verify calls ; injected into the code. Expansion of environment variables is supported ;-------------------------------------------------------------------------- [SourceFileNames] EtFilter.cpp DtFilter.cpp RegKey.cpp XDSCodec.cpp ;-------------------------------------------------------------------------- ;[CallPlacementProcs] ; This section contains a list of functions that can have verify ; calls placed in them. Vulcan friendly names are supported. ; This section supplements the functions located in the source ; files specified in the [SourceFileNames] section. ;;-------------------------------------------------------------------------- [CallPlacementProcs] ;;MyWindow::OnIdleHander ;;printf ;-------------------------------------------------------------------------- ;[DontTouch] ; This section contains the names of functions that cannot have ; verify calls inserted into them. Vulcan friendly names may ; be used. ;-------------------------------------------------------------------------- [DontTouch] CDTFilterInput::Receive CETFilterInput::Receive CXDSCodecInput::Receive CDTFilter::Process CETFilter::Process CXDSCodec::Process CDTFilter::Fire CETFilter::Fire CXDSCodec::Fire CDTFilter::FireBroadcastEvent CETFilter::FireBroadcastEvent CXDSCodec::FireBroadcastEvent CDTFilter::~CDTFilter CETFilter::~CETFilter CXDSCodec::~CXDSCodec CDTFilter::AddSampleToDropQueue CDTFilter::AddMaxSampleToDropQueue CDTFilter::DropMinSampleFromDropQueue CDTFilter::DropQueueThreadBody ; actually a good place for lots of tests.. CDTFilter::GetCurrRating CDTFilter::SetCurrRating CDTFilter::PossiblyUpdateBroadcastEvent CETFilter::GetRating CETFilter::SetRating CXDSCodec::GetXDSPacket CXDSCodec::ParseXDSBytePair CXDSCodec::GoDuplicateXDSRatings CXDSCodec::GoNewXDSRatings ;-------------------------------------------------------------------------- ;[CallPlacementLabelProcs] ; This section contains a list of functions that can have verify ; calls placed in them when the /C switch is used or if ; CallPlacement=TRUE in the configuration file. Vulcan friendly ; names are supported. ;;-------------------------------------------------------------------------- [CallPlacementLabelProcs] ;;MyWindow::OnIdleHander ;-------------------------------------------------------------------------- ;[VerifiedParams] ; This section contains over-ride values for segments which ; have been pre-defined in the source files. ; FORMAT: ; ID1,ID2 = CryptMethod,Significance,Proximity,Redundance ;-------------------------------------------------------------------------- [VerifiedParams] ; 0,1 = 2,10,1,1 ; 0,4 = 2,4,1,2 ;-------------------------------------------------------------------------- ;[VerifyProcs] ; This section contains the names of functions that should be fully ; protected within a verified segment. ; FORMAT: ; Proc = CryptMethod,Significance,Proximity,Redundance ; Proc = ID1, ID2 ;-------------------------------------------------------------------------- [VerifyProcs] CDTFilter::Process = 112,1 CETFilter::Process = 112,2 CDTFilter::SetCurrRating = 112,10 CETFilter::GetCurrRating = 112,11 CETFilter::SetRating = 112,12 CDTFilter::GetCurrRating = 112,13 CDTFilter::get_BlockUnRated = 112,14 ;OpenRegKey = 112,15 CDTFilter::HookupGraphEventService = 113,1 CETFilter::HookupGraphEventService = 113,2 CDTFilter::PossiblyUpdateRatingsEvent = 113,3 CDTFilter::CreateInstance = 113,4 CETFilter::CreateInstance = 113,5 CDTFilter::put_BlockedRatingAttributes = 113,6 CETFilter::NonDelegatingQueryInterface = 113,7 CDTFilter::NonDelegatingQueryInterface = 113,8 CETFilter::LocateXDSCodec = 113,9 CDTFilter::Stop = 113,10 CDTFilter::Pause = 113,11 CDTFilter::Run = 113,12 CETFilter::Stop = 113,13 CETFilter::Pause = 113,14 CETFilter::Run = 113,15 CDTFilter::AddMaxSampleToDropQueue = 113,20 CDTFilter::DropMinSampleFromDropQueue = 113,21 CDTFilter::FlushDropQueue = 113,22 ;-------------------------------------------------------------------------- ;[VSCPProcs] ; This section contains the names of functions that should be encrypted. ;-------------------------------------------------------------------------- [VSCPProcs] ; Tier 1 - needs to be well protected, dealing with licensing and keys CETFilter::DecodeHashStruct CETFilter::CreateHashStruct CETFilter::ReleaseLicenses CDTFilter::JoinFilterGraph CETFilter::JoinFilterGraph CDTFilter::CheckIfSecureServer CETFilter::CheckIfSecureServer CDTFilter::InitializeAsSecureClient CETFilter::InitializeAsSecureClient CDTFilter::UnBindDRMLicenses CDTFilter::BindDRMLicense CDTFilter::GetSecureChannelObject CETFilter::GetSecureChannelObject CETFilter::ReleaseLicenses CETFilter::InitLicense ;CETFilter::CheckLicense Get_EncDec_RegEntries Set_EncDec_RegEntries Remove_EncDec_RegEntries GetRegValue SetRegValue -------------------------------------------------------------------------- ;[VerifyFiles] ; This section contains the names of source files containing functions ; that should be fully protected within one or more verified segments. ; FORMAT: ; Filename=ID1,ID2 ;-------------------------------------------------------------------------- [VerifyFiles] ;;verified1.cpp=0,1 ;;checks.cpp=0,1 ;;morechecks.cpp=0,5 ;DTFilter.cpp =0,1 ;ETFilter.cpp =0,2 ;-------------------------------------------------------------------------- ; [EncryptedProcs] ; This section allows specifying functions that will be encrypted ; during VSP.EXE processing. The DECRYPT_DATA() must be inserted ; into the code path before these functions are called and the ; macro ENCRYPT_DATA() may be inserted after the calls to re-encrypt ; the functions. ;-------------------------------------------------------------------------- [EncryptedProcs] ; Tier 3 - don't really need to protect, do so to be annoying.. ;CDTFilter::FireBroadcastEvent = 110,4 ;CETFilter::FireBroadcastEvent = 110,5 ;CDTFilter::Fire = 110,6 ;CETFilter::Fire = 110,7 ;-------------------------------------------------------------------------- ; [EncryptedData] ; This section allows specifying arrays that will be encrypted ; during VSP.EXE processing. The DECRYPT_DATA() must be inserted ; into the code path before these arrays are accessed and the ; macro ENCRYPT_DATA() may be inserted afterwards to re-encrypt ; the data. ;-------------------------------------------------------------------------- [EncryptedData] ;;ConstString000=151,0 ;;ConstString001=151,1 ;-------------------------------------------------------------------------- ; [VerifyData] ; This section allows specifying arrays that will be protected ; inside a protected segment. ;-------------------------------------------------------------------------- [VerifyData] abCert7003 =0,10 abPVK7003 =0,10 abEncDecCertRoot =0,12