103 lines
2.7 KiB
PostScript
103 lines
2.7 KiB
PostScript
|
@include "PSPHelpers.epm";
|
||
|
@include "PerlFunctions.epm";
|
||
|
#The struct is defined in PSPHelpers.epm
|
||
|
metaData @metaData;
|
||
|
#initialize the struct
|
||
|
init(@metaData);
|
||
|
|
||
|
echo "Starting Panda configuration change check";
|
||
|
@echo off;
|
||
|
# Check Panda versions
|
||
|
|
||
|
string $version;
|
||
|
reg_query("\"software\\Panda Software\\Setup\"", "CLIENT", $version);
|
||
|
|
||
|
if (defined($version)) {
|
||
|
panda($version,@metaData);
|
||
|
} else {
|
||
|
@metaData.$vendor = "Panda";
|
||
|
@metaData.$product = "Unknown";
|
||
|
@metaData.$version = "Unknown";
|
||
|
if(writeMetaData(@metaData)) {
|
||
|
echo "Wrote meta data to disk";
|
||
|
} else {
|
||
|
echo "ERROR: Could not write meta data to disk.";
|
||
|
}
|
||
|
echo "Current Version: Unknown!";
|
||
|
if (prompt "Pull Panda registry information?") {
|
||
|
`background regquery -hive L -subkey "software\\Panda Software" -recursive`;
|
||
|
} else {
|
||
|
echo "Please reconsider so we can fingerprint this...";
|
||
|
}
|
||
|
}
|
||
|
#----------------------------------------------------------------
|
||
|
# Runs a reg query searching for a specific subkey and returning
|
||
|
# a value.
|
||
|
# values = the values from the subkey that you are looking for
|
||
|
# ret = return values (in an array)
|
||
|
# error = do you want to halt on query errors
|
||
|
#----------------------------------------------------------------
|
||
|
sub reg_query(IN string $subkey, IN string $search_values, OUT string $ret)
|
||
|
{
|
||
|
string $values;
|
||
|
string $value;
|
||
|
string $value_data;
|
||
|
int $i=0;
|
||
|
int $j=0;
|
||
|
@record on;
|
||
|
if(`regquery -hive L -subkey $subkey`)
|
||
|
{
|
||
|
$values = GetCmdData("value");
|
||
|
$value_data = GetCmdData("value_data");
|
||
|
|
||
|
foreach $value ($values)
|
||
|
{
|
||
|
string $search_value;
|
||
|
foreach $search_value ($search_values)
|
||
|
{
|
||
|
if($value == $search_value)
|
||
|
{
|
||
|
$ret[$j] = $value_data[$i];
|
||
|
$j++;
|
||
|
}
|
||
|
}
|
||
|
$i++;
|
||
|
}
|
||
|
} else {
|
||
|
return false;
|
||
|
}
|
||
|
|
||
|
}
|
||
|
sub panda(IN string $version,IN metaData @metaData) {
|
||
|
@record on;
|
||
|
if(@metaData.$history){
|
||
|
if(checkConfig("panda:$version",@metaData)){
|
||
|
echo "\r\rNo change in PSP configs.\r\r";
|
||
|
}else{
|
||
|
echo "\r\r!!!Changed PSP configs since last time!!!\r\r";
|
||
|
}
|
||
|
}
|
||
|
string $product;
|
||
|
reg_query("\"software\\Panda Software\\Setup\"", "LPRODUCTNAME", $product);
|
||
|
if (defined($product)) {
|
||
|
@metaData.$product = $product;
|
||
|
}
|
||
|
|
||
|
string $installDate;
|
||
|
reg_query("\"software\\Panda Software\\Panda Antivirus Platinum\"", "FECHAINSTALACION", $installDate);
|
||
|
if (defined($installDate)) {
|
||
|
@metaData.$installDate = $installDate;
|
||
|
}
|
||
|
|
||
|
@metaData.$vendor = "Panda";
|
||
|
@metaData.$version = $version;
|
||
|
|
||
|
@record off;
|
||
|
if(writeMetaData(@metaData)) {
|
||
|
echo "Wrote meta data to disk";
|
||
|
} else {
|
||
|
echo "ERROR: Could not write meta data to disk.";
|
||
|
}
|
||
|
echo "Current Version: @metaData.$product (@metaData.$version)";
|
||
|
}
|