Add linux-arm64 support for sliver client/server
Would be really nice if you could add linux-arm64 arch support for client/server. Currently it was not possible for me to build sliver client/server from source for that architecture
@moloch-- wasn't the plan to ditch CGO and use the pure Go implementation of sqlite? That would solve this kind of problems methinks.
Yes, but I ran into db lock issues with GORM/pure go SQLite so I reverted to CGO by default.
@cr7pt0pl4gu3 in the short term you should be able to manually compile a linux/arm version by doing the following:
- Download a copy of golang linux/arm and add it to
/server/assets/fs(seego-assets.shfor details) - Compile using
TAGS=-tags osusergo,netgo,gosqlite,sqlite_omit_load_extension make(note the use ofgosqliteinstead of the defaultcgosqlite
You may encounter some of the same compatibility problems I encountered with the pure Go version of sqlite, but it should mostly work.
I'll continue to test with the pure go SQLite from time to time, once the compatibility is there we'll be able to more easily support other platforms like this.
@moloch--
I think I need garble to compile successfully, there is no ARM64 version as far as I understand though:
Do I also compile it from source?
Yes sounds like you need to compile garble from source too
Thank you, built successfully:
Also had to create this file:
However, when generating implant:

Fixed with those commands, after that implant generated successfully:

Awesome! Like I said, we'll have an official version once we sort out some of the quirks with the pure Go SQLite dependency.
It's available in kali repo btw for both amd64 and arm64 and works great (at least as of the writing of this comment) - https://www.kali.org/tools/sliver/
Yes, the makefiles and everything now support ARM64, however the ARM64 version uses the pure Go version of Sqlite3 which we've encountered a couple bugs with in the past so there's no "official" release yet, but it should compile and (mostly) work.