Our Sponsors

Tool – bindiff.exe

This command-line tool shows the differences between two binaries. BinDiff performs the following types of compares:

  • A compare between two binary files that excludes time stamp differences. This is the default comparison.
  • A compare between two binary files that excludes both time stamp and version information.
  • A straight compare between two binary files that does not exclude time stamp or version information. This can be used to verify a tree copy or a CD burn.
  • A compare between the files in one directory and the files in a separate directory.

Example 1: Compare Two Versions of a File

You have two versions of the file dcpromo.dll, and you want to see if there are any differences between the two files. Using BinDiff with no parameters other than FileSpec1 and FileSpec2 performs a basic compare. To check for different versions of dcpromo.dll, type the following at the command line:

bindiff \\heapsort\htmdrop\binold\dcpromo.dll \\heapsort\htmdrop\binnew\dcpromo.dll

Press Enter . The following output is displayed:

Different, Right is newer

In this case, the two versions are different: the second file (the one specified on the right) (\\heapsort\htmdrop\binnew\dcpromo.dll) is newer than the first file.

Example 2: Compare Two Versions of a File But Eliminate Version and Time Stamp Differences

You have two versions of a file that you want to compare, and you want to make sure that versioning and time stamp information are not the only differences between the two files. To compare the two files while ignoring versioning and time stamp information, type the following at the command line:

bindiff /v \\heapsort\htmdrop\binold\dcpromo.dll \\heapsort\htmdrop\binnew\dcpromo.dll

Press Enter. The following output is displayed:

Different, Right is newer

In this case, the two versions are different and the second file (the file on the right) (\\heapsort\htmdrop\binnew\dcpromo.dll) is newer than the first file (the file on the left). Versioning and time stamp information are not the only differences between the two files. If this were the case, the files would be listed as Near Identical.

Example 3: Compare Differing Byte Counts for Two Versions of a File

You have two versions of a file that you know differ, but you want to see how different they really are. To compare the two files and get a differing byte count, type the following at the command line:

bindiff /c \\heapsort\htmdrop\binold\dcpromo.dll \\heapsort\htmdrop\binnew\dcpromo.dll

Press Enter. The following output is displayed:

Different, Right is newer  16,294 bytes differ

File Count Summary
   Identical:      0 files
   Near Identical: 0 files
   Different:      1 files
   Left Only:      0 files
   Right Only:     0 files
   Errors:         0 files
   Total:          1 files

Byte Count Summary
   Matched:    16,294 bytes differ
   Left Only:       0 bytes
   Right Only:      0 bytes
   Total:      16,294 bytes

Both versions of the file are 29 KB, and 16 KB of code differs between the two files . The 16 KB difference results from deleting code in the original file, then adding code back in.

Example 4: Compare Files in Two Directories

You want to compare the files in one build folder to those in another folder. To compare the files in the two directories, discounting any differences due to versioning and time stamp information, type the following at the command line:

bindiff /s /v \\heapsort\htmdrop\binold \\heapsort\htmdrop\binnew

Press Enter. The following output is displayed:

appsec.dll   Right-only File
appsec.exe   Right-only File
APPSEC.HLP   Right-only File
dcpromo.csv  Identical
dcpromo.dll  Different, Right is newer
dcpromo.exe  Different, Right is newer

In this case, three files have been added to the new build directory (in …\BinNew). One file, (dcpromo.csv), is unchanged between builds, and two files, (dcpromo.dll and dcpromo.exe), have had changes in addition to versioning and timestamp changes made.

Tool – apmstat.exe

Apmstat.exe: Advanced Power Management Status

This command-line tool provides status information on Advanced Power Management (APM) features.

The output of ApmStat can be helpful in troubleshooting APM problems. The tool reports on APM-related registry entries and on APM BIOS problems.

ApmStat tells you whether a computer has multiple processors and whether it is running in ACPI mode.

Example 1: Provide status information on Advanced Power Management (APM)

To provide status information on Advanced Power Management (APM) features, type:

apmstat

Your results will look similar to the following output:

Copy Code
This machine has an APM bios present that looks OK, and it is
not on the list of machines known to have APM problems.
Check the power applet in the control panel to see if APM is enabled.

Example 2: Display a verbose report

To display a verbose report, type:

apmstat /v

Your results will look similar to the following output:

Copy Code
This computer appears to have an APM legal HAL.
This machine has an APM bios present that looks OK, and it is
not on the list of machines known to have APM problems.
Check the power applet in the control panel to see if APM is enabled.
APM Registry Data Dump
Major = 0001  Minor = 0002
InstallFlags = 0003
Code16Segment = f000  Code16Offset = f10c  DataSeg = f000
Signature = APM
Valid = 0001
Detection Log Data:
44 45 54 4c 4f 47 31 00 00 00 00 00 00 00 00 00
 D  E  T  L  O  G  1

Tools – acldiag.exe

Acldiag.exe: ACL Diagnostics

This command-line tool detects and reports discrepancies in the access control lists (ACLs) of objects in Active Directory. It can also reapply a security delegation template to an ACL, eliminating special permissions and restoring incomplete delegations.

With AclDiag, you can:

  • Display the access control entries (ACEs) in the ACL, and inheritance and audit settings.
  • Display the effective permissions of users and groups to an Active Directory object.
  • Compare the ACL for an object in Active Directory to the default permissions defined in the schema.
  • Compare the ACL of an Active Directory object to a delegation template.
  • Reapply the delegation template to the ACL of an Active Directory object.

Example 1: Display the ACL of a user object in Active Directory

To display the ACL of a user object in Active Directory, type:

acldiag CN="Test Admin",CN=Users,DC=domain1,DC=test,
DC=fourthcoffee,DC=com

Example 2: Display a Schema Analysis of a Computer Object in Active Directory

To display a schema analysis of a computer object in Active Directory, type:

acldiag CN=MACHINE-TEST,CN=Computers,DC=domain1,DC=test,
DC=fourthcoffee,DC=com /schema

Example 3: Display ACL, Permissions, and Delegation Information for a Computer Object

To display the ACL, the effective permissions for all users and groups in the security descriptor, and the delegation analysis of a computer object in tab-delimited format, type:

acldiag CN=MACHINE-TEST,CN=Computers,DC=domain1,DC=test,
DC=fourthcoffeeDC=com /chkdeleg /geteffective:* /tdo

Example 4: Reapply a Delegation Template to a Group Object

To reapply a delegation template to a group object, type:

acldiag CN="Domain Computers",CN=Users,DC=domain1,DC=test,
DC=fourthcoffee,DC=com /chkdeleg /fixdeleg