# AntiDebugandMemoryDump **Repository Path**: software-reverse-engineering/AntiDebugandMemoryDump ## Basic Information - **Project Name**: AntiDebugandMemoryDump - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2022-01-17 - **Last Updated**: 2022-04-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: 反调试 ## README # AntiDebugandMemoryDump Anti-Debug and Anti-Memory Dump for Android Some known techniques for anti-debug and anti-memory dump have been used in this project. The focus is to use these techniques in a stealthy way without relying on Java APIs. Following are the techniques used ## Anti-Debug for Java Presence of JDWP in /proc/self/task/comm and in each of task /proc/self/task//comm is an indication that app is debuggable. ## Anti-Debug for Native Check for TracerPid != 0 in /proc/self/status and in each of task /proc/self/task//status ## Anti-Memorydump Anti-Memory dump is useful to protect the app from memory dumping via frida or [Gameguardian](https://gameguardian.net/forum/gallery/image/248-how-to-dump-memory-of-any-running-processes-in-android-gameguardian/) or any other means. inotify watch of the following files 1. /proc/self/maps 2. /proc/self/mem 3. /proc/self/pagemap 4. /proc/self/task//mem 5. /proc/self/task//pagemap Any attempts to access or open these files is an indication of access to the memory. If you use the techniques in [DetectFrida](https://github.com/darvincisec/DetectFrida), inotify will be triggered. There is no way to filter if the access is by the same process or a different process. fanotify addresses the problem wherein it provides the pid of the process accessing the file. But [seccomp](https://android-developers.googleblog.com/2017/07/seccomp-filter-in-android-o.html) filter in Android O filters restricts the usage by normal apps. ## Bonus Just listening on file opening of /proc/self/maps makes it a candidate for Anti-Frida. Just that it is mutually exclusive with other anti-frida techniques relying on the /proc/self/maps.