about summary refs log tree commit diff
diff options
context:
space:
mode:
authorGiovanni Di Santi <giovanni.disanti@protonmail.com>2024-07-21 18:26:13 +0200
committerGiovanni Di Santi <giovanni.disanti@protonmail.com>2024-07-21 18:26:13 +0200
commit4a6b751b93c135ac524bcad6e9d223e144fe0bd3 (patch)
tree39d7b4c29c88f03430adb246c5f7dbbefeae7547
parent19ca7b3761f5abff8b72770d6bbfbde80ef5b985 (diff)
downloadafl++-4a6b751b93c135ac524bcad6e9d223e144fe0bd3.tar.gz
frida_mode: fix fasan operand access order
-rw-r--r--frida_mode/src/asan/asan_arm64.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/frida_mode/src/asan/asan_arm64.c b/frida_mode/src/asan/asan_arm64.c
index 94729939..c1d5c10f 100644
--- a/frida_mode/src/asan/asan_arm64.c
+++ b/frida_mode/src/asan/asan_arm64.c
@@ -39,15 +39,15 @@ static void asan_callout(GumCpuContext *ctx, gpointer user_data) {
 
   address = base + index + mem->disp;
 
-  if ((operand->access & CS_AC_READ) == CS_AC_READ) {
+  if ((operand->access & CS_AC_WRITE) == CS_AC_WRITE) {
 
-    asan_loadN(address, asan_ctx->size);
+    asan_storeN(address, asan_ctx->size);
 
   }
 
-  if ((operand->access & CS_AC_WRITE) == CS_AC_WRITE) {
+  if ((operand->access & CS_AC_READ) == CS_AC_READ) {
 
-    asan_storeN(address, asan_ctx->size);
+    asan_loadN(address, asan_ctx->size);
 
   }