{ PIMAGE_IMPORT_DESCRIPTOR = ^IMAGE_IMPORT_DESCRIPTOR; IMAGE_IMPORT_DESCRIPTOR = packed record Characteristics: DWORD; // or original first thunk // 0 for terminating null import descriptor // RVA to original unbound IAT TimeDateStamp: DWORD; // 0 if not bound, // -1 if bound, and real date\time stamp // in IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT (new BIND) // O.W. date/time stamp of DLL bound to (Old BIND) Name: DWORD; FirstThunk: DWORD; // PIMAGE_THUNK_DATA // RVA to IAT (if bound this IAT has actual addresses) ForwarderChain: DWORD; // -1 if no forwarders end; TImageImportDescriptor = IMAGE_IMPORT_DESCRIPTOR; PImageImportDescriptor = PIMAGE_IMPORT_DESCRIPTOR;}
PIMAGE_IMPORT_BY_NAME = ^IMAGE_IMPORT_BY_NAME; IMAGE_IMPORT_BY_NAME = record Hint: Word; Name: Array[0..0] of Char; end;
PIMAGE_THUNK_DATA = ^IMAGE_THUNK_DATA; IMAGE_THUNK_DATA = record Whatever: DWORD; end;
const IMAGE_DOS_SIGNATURE = $5A4D; // MZ IMAGE_OS2_SIGNATURE = $454E; // NE IMAGE_OS2_SIGNATURE_LE = $454C; // LE IMAGE_VXD_SIGNATURE = $454C; // LE IMAGE_NT_SIGNATURE = $00004550; // PE00
implementation
end.
================================================= Create a new project with one form, with two buttons. =================================================