hi!
I uploaded androidqf-1.8.1-1-x86_64.pkg.tar.zst to Arch Linux. :) I have the following patch to replace the adb binary in this git repository with /usr/bin/adb, and read the agent binaries from /usr/lib/androidqf/android-collector/collector_*:
diff --git a/acquisition/acquisition.go b/acquisition/acquisition.go
index 09e1d90..446b5a6 100644
--- a/acquisition/acquisition.go
+++ b/acquisition/acquisition.go
@@ -20,7 +20,6 @@ import (
rt "github.com/botherder/go-savetime/runtime"
"github.com/google/uuid"
"github.com/mvt-project/androidqf/adb"
- "github.com/mvt-project/androidqf/assets"
"github.com/mvt-project/androidqf/log"
"github.com/mvt-project/androidqf/utils"
)
@@ -177,7 +176,6 @@ func (a *Acquisition) Complete() {
// Stop ADB server before trying to remove extracted assets
adb.Client.KillServer()
- assets.CleanAssets()
}
func (a *Acquisition) GetSystemInformation() error {
diff --git a/adb/adb_linux.go b/adb/adb_linux.go
index 8d2a9e7..1df2878 100644
--- a/adb/adb_linux.go
+++ b/adb/adb_linux.go
@@ -10,15 +10,9 @@ import (
"path/filepath"
saveRuntime "github.com/botherder/go-savetime/runtime"
- "github.com/mvt-project/androidqf/assets"
)
func (a *ADB) findExe() error {
- err := assets.DeployAssets()
- if err != nil {
- return err
- }
-
adbPath, err := exec.LookPath("adb")
if err == nil {
a.ExePath = adbPath
diff --git a/adb/collector.go b/adb/collector.go
index 7baedd3..b39de6e 100644
--- a/adb/collector.go
+++ b/adb/collector.go
@@ -14,8 +14,6 @@ import (
"strings"
"github.com/mvt-project/androidqf/log"
-
- "github.com/mvt-project/androidqf/assets"
)
type Collector struct {
@@ -112,7 +110,7 @@ func (c *Collector) Install() error {
}
log.Debugf("Deploying collector binary '%s' for architecture '%s'.", collectorName, c.Architecture)
- collectorBinary, err := assets.Collector.ReadFile(collectorName)
+ collectorBinary, err := os.ReadFile(filepath.Join("/usr/lib/androidqf/android-collector", collectorName))
if err != nil {
// Somehow the file doesn't exist
return errors.New("couldn't find the collector binary")
Before starting the build I run rm -r assets/ to get rid of the pre-built binaries, so I needed to make sure no Go files from that directory are used.
I also noticed, when running /usr/bin/androidqf it tries to write it's results to /usr/bin/..., which fails unless you run it as root (but even then it's probably not what should be happening), so I applied this patch as well:
diff --git a/acquisition/acquisition.go b/acquisition/acquisition.go
index 446b5a6..8a8f041 100644
--- a/acquisition/acquisition.go
+++ b/acquisition/acquisition.go
@@ -17,7 +17,6 @@ import (
"time"
"github.com/botherder/go-savetime/hashes"
- rt "github.com/botherder/go-savetime/runtime"
"github.com/google/uuid"
"github.com/mvt-project/androidqf/adb"
"github.com/mvt-project/androidqf/log"
@@ -51,7 +50,7 @@ func New(path string) (*Acquisition, error) {
}
if path == "" {
- acq.StoragePath = filepath.Join(rt.GetExecutableDirectory(), acq.UUID)
+ acq.StoragePath = acq.UUID
} else {
acq.StoragePath = path
}
I'm posting this in an issue instead of a pull-request because those changes can't be applied as-is, as they would break the non-distribution use of the binary.
These patches are to be considered MVT-1.1 regardless of course.
hi!
I uploaded androidqf-1.8.1-1-x86_64.pkg.tar.zst to Arch Linux. :) I have the following patch to replace the adb binary in this git repository with
/usr/bin/adb, and read the agent binaries from/usr/lib/androidqf/android-collector/collector_*:Before starting the build I run
rm -r assets/to get rid of the pre-built binaries, so I needed to make sure no Go files from that directory are used.I also noticed, when running
/usr/bin/androidqfit tries to write it's results to/usr/bin/..., which fails unless you run it as root (but even then it's probably not what should be happening), so I applied this patch as well:I'm posting this in an issue instead of a pull-request because those changes can't be applied as-is, as they would break the non-distribution use of the binary.
These patches are to be considered
MVT-1.1regardless of course.