Exemplo n.º 1
0
        /// <summary>Get all import modules from image</summary>
        /// <returns>Import modules</returns>
        public IEnumerator <ImportModule> GetEnumerator()
        {
            if (!IsEmpty)
            {
                UInt32 count = 0;
                WinNT.IMAGE_IMPORT_DESCRIPTOR descriptor = this.Header.Value;
                while (!descriptor.IsEmpty)
                {
                    yield return(new ImportModule(this, descriptor));

                    count++;
                    descriptor = this.Parent.Header.PtrToStructure <WinNT.IMAGE_IMPORT_DESCRIPTOR>(base.Directory.VirtualAddress + (Import.SizeOfHeader * count));
                }
            }
        }
Exemplo n.º 2
0
 /// <summary>Create instance of import description class</summary>
 /// <param name="directory">Import directory</param>
 /// <param name="header">Header</param>
 public ImportModule(Import directory, WinNT.IMAGE_IMPORT_DESCRIPTOR header)
 {
     this._directory = directory;
     this._header    = header;
 }