Esempio n. 1
0
    public DisplayPeImport(
        PeImport PeImport,
        PhSymbolProvider SymPrv,
        string ModuleFilePath,
        bool ImportFound
        )
    {
        Info.ordinal    = PeImport.Ordinal;
        Info.hint       = PeImport.Hint;
        Info.name       = PeImport.Name;
        Info.moduleName = PeImport.ModuleName;
        Info.modulePath = ModuleFilePath;

        Tuple <CLRPH_DEMANGLER, string> DemanglingInfos = SymPrv.UndecorateName(PeImport.Name);

        Info.Demangler       = Enum.GetName(typeof(CLRPH_DEMANGLER), DemanglingInfos.Item1);
        Info.UndecoratedName = DemanglingInfos.Item2;

        Info.delayedImport   = PeImport.DelayImport;
        Info.importAsCppName = (PeImport.Name.Length > 0 && PeImport.Name[0] == '?');
        Info.importByOrdinal = PeImport.ImportByOrdinal;
        Info.importNotFound  = !ImportFound;


        AddNewEventHandler("Undecorate", "Undecorate", "Name", this.GetDisplayName);
        AddNewEventHandler("FullPath", "FullPath", "ModuleName", this.GetPathDisplayName);
    }
Esempio n. 2
0
    public DisplayPeImport(
        PeImport PeImport,
        PhSymbolProvider SymPrv,
        string ModuleFilePath
        )
    {
        Info.ordinal         = PeImport.Ordinal;
        Info.hint            = PeImport.Hint;
        Info.name            = PeImport.Name;
        Info.moduleName      = PeImport.ModuleName;
        Info.modulePath      = ModuleFilePath;
        Info.UndecoratedName = SymPrv.UndecorateName(PeImport.Name);

        Info.delayedImport   = PeImport.DelayImport;
        Info.importAsCppName = (PeImport.Name.Length > 0 && PeImport.Name[0] == '?');
        Info.importByOrdinal = PeImport.ImportByOrdinal;
        Info.importNotFound  = !BinaryCache.LookupImport(ModuleFilePath, PeImport.Name, PeImport.Ordinal, PeImport.ImportByOrdinal);


        AddNewEventHandler("Undecorate", "Undecorate", "Name", this.GetDisplayName);
        AddNewEventHandler("FullPath", "FullPath", "ModuleName", this.GetPathDisplayName);
    }