如何解决列出在任意PEEXE文件中链接的DLL的名称
我偶然发现了要读取链接到Windows上任意PE可执行文件的DLL文件列表的任务。 debug/pe
看起来很有前途,但发现却不胜枚举:
// ImportedLibraries returns the names of all libraries
// referred to by the binary f that are expected to be
// linked with the binary at dynamic link time.
func (f *File) ImportedLibraries() ([]string,error) {
// TODO
// cgo -dynimport don't use this for windows PE,so just return.
return nil,nil
}
那么我可以使用什么来从EXE文件中提取DLL列表?
解决方法
这似乎做到了:
package main
import "github.com/Binject/debug/pe"
func main() {
f,e := pe.Open(`C:\Windows\notepad.exe`)
if e != nil {
panic(e)
}
defer f.Close()
a,e := f.ImportedLibraries()
if e != nil {
panic(e)
}
for _,s := range a {
println(s)
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。