• General
  • 'Exploit protection compatibility mode' toggle not available for all apps?

Why is the toggle not available for some (or all?) 32bit apps? Is the hardening applied in the same manner to 32bit and 64bit versions of the same app? What am I missing?

Related:
I'm trying to solve this problem. I observed that arm64-v8a builds of the app mentioned in that post crash when the compability mode is disabled, and they don't crash when it's enabled. On the other hand, armabi-v7a builds of that app don't crash, and the thing here is that they don't even have the compability mode toggle in android settings so there's no way for me to know why they don't crash. Is it because some of the hardening isn't applied or because the fact that it is 32bit somehow doesn't cause the issue?

    Hi! This is probably not going to be a very useful reply, but I do remember asking the same question when the toggle was first introduced, and I was told that it's expected for some apps to not have that toggle.

    I believe that hardened_malloc is only available for 64-bit apps, so if that's true, it stands to reason that the 32-bit version wouldn't have any memory corruption bugs caught, and therefore would not be made to crash by hardened_malloc.

    I will try to confirm the above information, but until I do, please take it with a grain of salt, as I'm not 100% sure this is how it works.

      233328 The features controlled by the toggle (hardened_malloc and 48-bit address space) are only for 64-bit apps. Devices are becoming 64-bit only anyway. Pixel 7 and Pixel 7 Pro aren't entirely 64-bit only but have already dropped 32-bit app support completely.