This site is the archived OWASP Foundation Wiki and is no longer accepting Account Requests.
To view the new OWASP Foundation website, please visit https://owasp.org
.Net Assembly Analyzer
From OWASP
Revision as of 06:33, 28 July 2006 by Dinis.cruz (talk | contribs)
.Net Assembly Analyzer is a tool that uses reflection to analyze .Net (i.e. MSIL) code.
Download
You can download the current version from here File:AssemblyAnalyzer v0.2.zip.ppt AssemblyAnalyzer v0.2.zip.ppt (remove the .ppt to unzip)
Info
The current version takes an assembly and creates an XML file containg the following information
namespace Owasp.AssemblyAnalyzer
{
[Serializable]
public class AssemblyRawData
{
public List<aAssembly> aAssemblies = new List<aAssembly>();
}
[Serializable]
public class aAssembly
{
[XmlAttribute()] public string Name = "";
public List<String> strAttributes = new List<String>();
public List<mModule> mModules = new List<mModule>();
}
[Serializable]
public class mModule
{
[XmlAttribute()] public string Name;
public string FullyQualifiedName;
public List<tType> tTypes = new List<tType>();
}
[Serializable]
public class tType
{
[XmlAttribute()] public string FullName;
[XmlAttribute()] public string Name;
[XmlAttribute()] public string Namespace;
[XmlAttribute()] public bool bIsAbstract;
[XmlAttribute()] public bool bIsAnsiClass;
[XmlAttribute()] public bool bIsArray;
[XmlAttribute()] public bool bIsAutoClass;
[XmlAttribute()] public bool bIsAutoLayout;
[XmlAttribute()] public bool bIsByRef;
[XmlAttribute()] public bool bIsClass;
[XmlAttribute()] public bool bIsCOMObject;
[XmlAttribute()] public bool bIsContextful;
[XmlAttribute()] public bool bIsEnum;
[XmlAttribute()] public bool bIsExplicitLayout;
[XmlAttribute()] public bool bIsGenericParameter;
[XmlAttribute()] public bool bIsGenericType;
[XmlAttribute()] public bool bIsGenericTypeDefinition;
[XmlAttribute()] public bool bIsImport;
[XmlAttribute()] public bool bIsInterface;
[XmlAttribute()] public bool bIsLayoutSequential;
[XmlAttribute()] public bool bIsMarshalByRef;
[XmlAttribute()] public bool bIsNested;
[XmlAttribute()] public bool bIsNestedAssembly;
[XmlAttribute()] public bool bIsNestedFamily;
[XmlAttribute()] public bool bIsNestedPrivate;
[XmlAttribute()] public bool bIsNestedPublic;
[XmlAttribute()] public bool bIsNotPublic;
[XmlAttribute()] public bool bIsPointer;
[XmlAttribute()] public bool bIsPrimitive;
[XmlAttribute()] public bool bIsPublic;
[XmlAttribute()] public bool bIsSealed;
[XmlAttribute()] public bool bIsSerializable;
[XmlAttribute()] public bool bIsSpecialName;
[XmlAttribute()] public bool bIsUnicodeClass;
[XmlAttribute()] public bool bIsValueType;
[XmlAttribute()] public bool bIsVisible;
public string strTypeAttributes;
public List<String> strAttributes = new List<String>();
public List<mMethod> mMethods = new List<mMethod>();
public List<fField> fFields = new List<fField>();
public List<pProperty> pProperties = new List<pProperty>();
}
[Serializable]
public class mMethod
{
[XmlAttribute()] public string Name;
[XmlAttribute()] public bool bIsAbstract;
[XmlAttribute()] public bool bIsAssembly;
[XmlAttribute()] public bool bIsConstructor;
[XmlAttribute()] public bool bIsFamily;
[XmlAttribute()] public bool bIsFinal;
[XmlAttribute()] public bool bIsGenericMethod;
[XmlAttribute()] public bool bIsGenericMethodDefinition;
[XmlAttribute()] public bool bIsHideBySig;
[XmlAttribute()] public bool bIsPrivate;
[XmlAttribute()] public bool bIsPublic;
[XmlAttribute()] public bool bIsSpecialName;
[XmlAttribute()] public bool bIsStatic;
[XmlAttribute()] public bool bIsVirtual;
public List<string> strCalls = new List<string>();
public List<string> strUsedBy = new List<string>();
}
[Serializable]
public class fField
{
[XmlAttribute()] public string Name;
}
[Serializable]
public class pProperty
{
[XmlAttribute()] public string Name;
}
}