Boot CD Plugins

From SpybotWiki
Jump to: navigation, search

Boot CD plugins are XML files that offer instructions on how to locate and insert specific applications into bootable CD images created by our Boot CD Creator.

appplugin

This is the root node of any plugin file, no attributes required.

application

This part contains the generic information about the application.

 <application>
   <name>spybotsd</name>
   <guid>B4092C6D-E886-4CB2-BA68-FE5A88D31DE6</guid>
   <displayname>Spybot - Search & Destroy</displayname>
   <purpose>Malware detection and removal.</purpose>
   <dependencies>
     <dependency>dummy</dependency>
   </dependencies>
 </application>

name

A short, simple name for the application for internal use. No spaces or special characters, keep it as simple as possible.

displayname

A nicer name that is used in places visible to the user.

purpose

A short explanation of the application.

guid

A unique ID that identifies the application. Using the one the application uses for its Uninstall entry is a good decision usually.

dependencies

Not yet implemented, this would control dependencies. If this application depends on another plugins one to be installed, adding a depency for that ones name would ensure consistency.


files

Files are either required or optional and specify single files, or, by using wildcards, groups of files.

   <required>advcheck.dll</required>
   <optional>aports.dll</optional>
   <required>blindman.exe</required>
   <optional>Default configuration.ini</optional>
   <required>DelZip179.dll</required>
   <required>messages.zres</required>
   <optional>OptOut.ini</optional>
   <optional group="Resident">SDHelper.dll</optional>
   <optional group="Resident">SDMain.exe</optional>
   <optional menuitem="Secure Shredder" group="Shredder">SDShred.exe</optional>
   <required menuitem="Spybot-S&D Update">SDUpdate.exe</required>

Each file can have a group attribute pointing to a filegroup for logical structuring, and a menuitem defining that a shortcut to it should be added to the menu.

filegroups

File groups are just a tool for logical structuring of files. The can be used by applying a group attribute to files nodes.

 <filegroups>
    <filegroup id="Shredder">Secure Shredder as an external application.</filegroup>
    <filegroup id="Resident">Files for resident protection, useless on PE.</filegroup>
 </filegroups>


registry

Changes that should be applied to the registry of the bootable CDs Operating System. Example:

 <registry>
   <value method="copy">HKEY_CURRENT_USER\Software\Safer Networking Limited\SpybotSnD\Language</value>
   <value method="set" type="REG_SZ" data="[$DESTDIR]">HKEY_CURRENT_USER\Software\Safer Networking Limited\SpybotSnD\Path</value>
 </registry>

value

A registry value is the smallest unit that this deals with.

method

The method to apply; either copy to copy existing settings from the current system (as in this example the language the user prefers) or set to add a new registry value.

type

Supported are some standard types; strings as they are:

  • REG_SZ
  • REG_EXPAND_SZ
  • REG_MULTI_SZ

Integers are supported by their pure decimal representation, no hex yet:

  • REG_DWORD
  • REG_DWORD_LITTLE_ENDIAN
  • REG_DWORD_BIG_ENDIAN
  • REG_QWORD
  • REG_QWORD_LITTLE_ENDIAN

data

The data to be set. Contrary to the example, no custom or standard path templates are supported yet.

menu

This entry controls where the item would be listed in a structured menu.

 <menu>
    <group>Security</group>
 </menu>

group

The name of the group this application should be listed under.

detectors

This group of nodes defines how the application should be detected. Every sub-node here has to be named detector to be recognized. An example:

 <detectors>
   <detector type="regpath">HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{B4092C6D-E886-4CB2-BA68-FE5A88D31DE6}_is1\InstallLocation</detector>
   <detector type="regpathbyfile">HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{B4092C6D-E886-4CB2-BA68-FE5A88D31DE6}_is1\DisplayIcon</detector>
   <detector type="filesys">[$PROGRAMFILES]\Spybot - Search & Destroy\</detector>
 </detectors>

There are three detector types available currently:

regpath

A registry path to a REG_SZ or REG_EXPAND_SZ that lists the installation path of the application.

regpathbyfile

Similar to regpath, except that the entry would contain a fully qualified filename, from which the path would be taken.

filesys

Locate th application through the filesystem. This supports path templates, with the exception that they are to be put into square brackets, as seen in the example.