Improved security

This commit is contained in:
2024-08-14 17:49:07 +02:00
parent 235188e457
commit b1b83201eb
11 changed files with 42 additions and 77 deletions

@ -9,9 +9,6 @@ import (
"git.akyoto.dev/cli/q/src/arch/x64"
"git.akyoto.dev/cli/q/src/config"
"git.akyoto.dev/cli/q/src/os/common"
"git.akyoto.dev/cli/q/src/os/linux/elf"
"git.akyoto.dev/cli/q/src/os/mac/macho"
"git.akyoto.dev/cli/q/src/os/windows/pe"
"git.akyoto.dev/cli/q/src/sizeof"
)
@ -341,25 +338,8 @@ restart:
data, dataLabels = a.Data.Finalize()
var (
codeOffset Address
align Address
)
switch config.TargetOS {
case "linux":
codeOffset = elf.CodeOffset
align = elf.Align
case "mac":
codeOffset = macho.CodeOffset
align = macho.Align
case "windows":
codeOffset = pe.CodeOffset
align = pe.Align
}
dataStart := Address(config.BaseAddress) + codeOffset + Address(len(code))
dataStart += int32(common.Padding(dataStart, align))
dataStart := Address(config.BaseAddress) + config.CodeOffset + Address(len(code))
dataStart += int32(common.Padding(dataStart, config.Align))
for _, pointer := range dataPointers {
address := dataStart + pointer.Resolve()