I recently came across an app that is protected with DexGuard. DexGuard claims to offer Runtime Application Self Protection (RASP), which comprises of app obfuscation and various runtime tampering checks (anti debugger/emulator/hooking/repackage/root/etc). However, while the app I discovered is rather well obfuscated, there were several rather glaring issues. For example, the type of device checks were described in a DeviceCheck class file, which have static variables for each type of check (e.g. EMULATOR = 1, HOOKED = 5, etc). By hooking onto the relevant method and returning false for each of these values, I was able to disable all checks.
This seems trivially simple to bypass given that DexGuard claims to be an enterprise level RASP solution, so I'm wondering if it was a misconfiguration or incorrect implementation on the developer's part. I'm unable to find any documentation of DexGuard online on implementation guidelines, so I'm hoping someone here who has experience would be able to shed some light.