MCPcopy Index your code
hub / github.com/codeyourweb/irma / ListStartMenuLnkPersistence

Function ListStartMenuLnkPersistence

windowslnkparser.go:60–87  ·  view source on GitHub ↗

ListStartMenuLnkPersistence check for every *.lnk in Windows StartMenu folders and extract every executable path in those links

(verbose bool)

Source from the content-addressed store, hash-verified

58
59// ListStartMenuLnkPersistence check for every *.lnk in Windows StartMenu folders and extract every executable path in those links
60func ListStartMenuLnkPersistence(verbose bool) (exePath []string, errors []error) {
61
62 startMenuFolders, err := ListStartMenuFolders(verbose)
63 if err != nil {
64 errors = append(errors, err)
65 }
66
67 for _, path := range startMenuFolders {
68
69 files, err := RetrivesFilesFromUserPath(path, true, []string{".lnk"}, false, verbose)
70
71 if err != nil {
72 errors = append(errors, fmt.Errorf("%s - %s", path, err.Error()))
73 }
74
75 for _, p := range files {
76 lnk, lnkErr := golnk.File(p)
77 if lnkErr != nil {
78 errors = append(errors, fmt.Errorf("%s - Lnk parse error", p))
79 continue
80 }
81
82 exePath = append(exePath, lnk.LinkInfo.LocalBasePath)
83 }
84 }
85
86 return exePath, errors
87}

Callers 1

StartMenuAnalysisRoutineFunction · 0.85

Calls 2

ListStartMenuFoldersFunction · 0.85

Tested by

no test coverage detected