DynamoRIO / DynamoRIO/dynamorio

app_process32 crashes on Android O

Open
#3,540 15 comments 0 reactions 0 assignees View on GitHub
Bug-DRCrash help wanted Hotlist-Release OpSys-Android OpSys-ARM Status-NeedInfo
Dominant language
C
Stars
3.2k
Forks
629
Avg merge
2d 15h
Merged PRs (30d)
31

Description

I'm trying to run app_process32 with drrun on my Pixel 2 (Android 8.1.0) but it crashes with SIGSEGV instantly every time (even without any argument)

`walleye:/data/ssh/root # /system/xbin/dynamorio/bin32/drrun -- app_process32`

```

```

I'm using the release version `DynamoRIO-ARM-Android-EABI-7.1.0-1.tar.gz`.

According to addr2line it crashes at `/dynamorio_package/core/arch/arm/encode.c:3084`

```cpp
if (di.isa_mode == DR_ISA_ARM_THUMB) {
if (di.instr_word >> 16 != 0) {
*((ushort *)copy_pc) = (ushort)(di.instr_word >> 16); // <- HERE
copy_pc += THUMB_SHORT_INSTR_SIZE;
}
*((ushort *)copy_pc) = (ushort)di.instr_word;
copy_pc += THUMB_SHORT_INSTR_SIZE;
} else {
*((uint *)copy_pc) = di.instr_word;
copy_pc += ARM_INSTR_SIZE;
}
```

btw I tried some simple commands like `ls` `date` `wget` `ping` etc. they all works perfectly fine

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.