binana/go/app/util/exe.go
superp00t 2c2815ab0b
Some checks failed
Push / build (push) Has been cancelled
feat(binana): add tokens database
2026-03-20 01:58:16 -04:00

31 lines
512 B
Go

package util
import (
"debug/pe"
"os"
)
func get_exe_base_address(name string) (base_address uint64, err error) {
var file *os.File
file, err = os.Open(name)
if err != nil {
return
}
var (
pe_file *pe.File
)
pe_file, err = pe.NewFile(file)
if err != nil {
return
}
base_address = uint64(0x400000)
switch h := pe_file.OptionalHeader.(type) {
case *pe.OptionalHeader32:
base_address = uint64(h.ImageBase)
case *pe.OptionalHeader64:
base_address = h.ImageBase
}
file.Close()
return
}