Improved security
This commit is contained in:
src
asm
config
os
common
linux/elf
mac/macho
windows/pe
@ -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()
|
||||
|
Reference in New Issue
Block a user