예제 #1
0
        public PeDependencies(PE Application)
        {
            string RootFilename = Path.GetFileName(Application.Filepath);

            RootPe          = Application;
            SxsEntriesCache = SxsManifest.GetSxsEntries(RootPe);
            ModulesCache    = new ModuleEntries();

            Root = GetModuleItem(RootFilename, Application.Filepath, ModuleSearchStrategy.ROOT, 0);
            Root.ResolveDependencies();
        }
예제 #2
0
        public PeDependencies(PE Application, int recursion_depth)
        {
            string RootFilename = Path.GetFileName(Application.Filepath);

            RootPe          = Application;
            SxsEntriesCache = SxsManifest.GetSxsEntries(RootPe);
            ModulesCache    = new ModuleEntries();
            MaxRecursion    = recursion_depth;

            ModulesVisited = new Dictionary <ModuleCacheKey, bool>();

            Root = GetModuleItem(RootFilename, Application.Filepath, ModuleSearchStrategy.ROOT, 0);
            Root.LoadPe();
            Root.ResolveDependencies();
        }