From 7bf2f8fd27bcde0842aebe51257544079ee2e832 Mon Sep 17 00:00:00 2001 From: WorksButNotTested <62701594+WorksButNotTested@users.noreply.github.com> Date: Thu, 9 Jan 2025 14:21:16 +0000 Subject: [PATCH] linux: Add support for arm64be --- src/linux/frida-helper-backend.vala | 2 +- src/linux/helpers/bootstrapper-arm64be.bin | Bin 0 -> 7187 bytes src/linux/helpers/loader-arm64be.bin | Bin 0 -> 1590 bytes src/meson.build | 2 ++ 4 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 src/linux/helpers/bootstrapper-arm64be.bin create mode 100644 src/linux/helpers/loader-arm64be.bin diff --git a/src/linux/frida-helper-backend.vala b/src/linux/frida-helper-backend.vala index 38b72bb41..d8215beec 100644 --- a/src/linux/frida-helper-backend.vala +++ b/src/linux/frida-helper-backend.vala @@ -1996,7 +1996,7 @@ namespace Frida { else breakpoint_data = (uint8[]) &arm_breakpoint_val; #elif ARM64 - uint32 breakpoint_val = 0xd4200000U; + uint32 breakpoint_val = (0xd4200000U).to_little_endian (); breakpoint_data = (uint8[]) &breakpoint_val; #elif MIPS uint32 breakpoint_val = 0x0000000dU; diff --git a/src/linux/helpers/bootstrapper-arm64be.bin b/src/linux/helpers/bootstrapper-arm64be.bin new file mode 100644 index 0000000000000000000000000000000000000000..5b67e6dd6d46beb497e2370f0fa97d4c6cd3aec3 GIT binary patch literal 7187 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