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; }
}