From 5c52d4d28fa3451eb62b3a08967edee62a421a77 Mon Sep 17 00:00:00 2001 From: Pagran <67878280+pagran@users.noreply.github.com> Date: Thu, 24 Sep 2020 13:38:30 +0300 Subject: [PATCH] Fixes --- import_obfuscation.go | 3 ++- main.go | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/import_obfuscation.go b/import_obfuscation.go index 0345359..509ddb4 100644 --- a/import_obfuscation.go +++ b/import_obfuscation.go @@ -52,7 +52,8 @@ func appendPrivateNameMap(pkg *goobj2.Package, nameMap map[string]string) error } serializedMap := member.ArchiveHeader.Data - if err := json.Unmarshal(serializedMap[:bytes.IndexByte(serializedMap, 0x00)], &nameMap); err != nil { + serializedMap = serializedMap[:bytes.IndexByte(serializedMap, 0x00)] + if err := json.Unmarshal(serializedMap, &nameMap); err != nil { return err } return nil diff --git a/main.go b/main.go index bdbceab..8edfa8b 100644 --- a/main.go +++ b/main.go @@ -32,7 +32,6 @@ import ( "unicode" "github.com/Binject/debug/goobj2" - "golang.org/x/mod/module" "golang.org/x/mod/semver" "golang.org/x/tools/go/ast/astutil" @@ -684,6 +683,8 @@ func transformCompile(args []string) ([]string, error) { return err } + // Adding an extra archive header is safe, + // and shouldn't break other tools like the linker since our header name is unique pkg.ArchiveMembers = append(pkg.ArchiveMembers, goobj2.ArchiveMember{ ArchiveHeader: goobj2.ArchiveHeader{ Name: garbleMapHeaderName,