From 189baf0e01cad315136e42d671683c936af6a04d Mon Sep 17 00:00:00 2001 From: clc5q <clc5q@git.zephyr-software.com> Date: Wed, 12 Dec 2007 15:14:33 +0000 Subject: [PATCH] Updated to reflect use of SMP.idc --- README.txt | 31 ++++++++++++++++++++++--------- 1 file changed, 22 insertions(+), 9 deletions(-) diff --git a/README.txt b/README.txt index dfbe0b79..dca8bce0 100644 --- a/README.txt +++ b/README.txt @@ -6,6 +6,9 @@ Assurance Program SMP = Software Memory Protection +mmStrata = Memory Monitor Strata, the memory protection SDT that uses +the annotations output by SMPStaticAnalyzer. + 1) BUILDING THE STATIC ANALYZER PLUGIN The variable IDAROOT in file "makefile" will need to be edited to suit @@ -20,7 +23,7 @@ SMP team members. The building of an IDA Pro plugin requires the SDK/include files. The standard arrangement is to have an SDK/myplugins directory that holds -the Build.sh, makefile, plugin.script, and *.cpp +the Build.sh, makefile, plugin.script, and *.[h,cpp] (e.g. SMPStaticAnalyzer.cpp) files. Thus, to build the plugin from source, you would copy these files into the myplugins directory and then type "Build.sh" there. The plugin builds and is copied into @@ -30,11 +33,11 @@ $IDAROOT/plugins where it is automatically loaded by IDA Pro. edit by jdh8d: -I choose non-standard install locations for IDAROOT and the SDK. Other -users may do the same. To avoid excessive CVS versions due to everyone -changing "makefile" to suit their own needs, one now needs to export IDAROOT -and IDASDK. The makefile has been edited to ensure that these variables -are set properly. +I choose non-standard install locations for IDAROOT and the SDK. +Other users may do the same. To avoid excessive CVS versions due to +everyone changing "makefile" to suit their own needs, one now needs to +export IDAROOT and IDASDK. The makefile has been edited to ensure +that these variables are set properly. 2) RUNNING THE STATIC ANALYZER ON AN EXECUTABLE @@ -44,10 +47,20 @@ directory you wish to work from, then type: SMP-analyze.sh foo.exe +The script uses file SMP.idc, which needs to be copied into +$IDAROOT/idc before invoking the script. This file rarely changes and +should only need to be copied once, not every time the script is being +invoked. + The resulting annotations will be found in "foo.annot" in the same -directory you worked from. +directory you worked from. The annotations are not sorted by address, +because some addresses are detected outside of IDA functions and dealt +with in an ad hoc manner. Invoking "sort foo.annot" will sort by the +first field, which is the address. This is not necessary with the +current version of mmStrata. -NOTE: Currently, SMP is only targeted to x86/Linux. +NOTE: Currently, SMP is only targeted to x86/Linux. SMP-analyze.sh +invokes objdump, which should be installed on any x86/Linux box. Clark Coleman -25-OCT-2007 +12-DEC-2007 -- GitLab