feat: Add multi-step DroidGuard support for Play Integrity (issue #2851)#3370
Closed
zicaiw625 wants to merge 2 commits into
Closed
feat: Add multi-step DroidGuard support for Play Integrity (issue #2851)#3370zicaiw625 wants to merge 2 commits into
zicaiw625 wants to merge 2 commits into
Conversation
added 2 commits
April 1, 2026 02:44
…rog#2851) This commit implements multi-step DroidGuard support required for Play Integrity attestation over remote DroidGuard. Changes: 1. Extended IDroidGuardHandle AIDL interface with multi-step methods: - begin(): Create multi-step session - nextStep(): Advance session with step data - snapshotWithSession(): Get final result for session - closeSession(): Clean up session resources 2. Enhanced DroidGuardResultsRequest with session management fields: - sessionId, stepNumber, totalSteps, isMultiStep - Backward compatible with existing single-step flows 3. Implemented multi-step support in DroidGuardHandleImpl - Session lifecycle management - Error handling and timeout support - Thread-safe implementation 4. Added RemoteHandleImpl with multi-step session support - Session state management across steps - Remote server communication with session metadata - Support for Play Integrity multi-step protocol 5. Created comprehensive documentation: - REMOTE_DROIDGUARD_SETUP.md: Setup guide for remote DroidGuard - TEST_MULTI_STEP.md: Detailed test plan for multi-step flows 6. Updated related files for compatibility: - NetworkHandleProxyFactory.kt - DroidGuardHandle.java - Proguard rules Note on issue requirement microg#4 (stock phone support / integrity bypass management): - Core multi-step functionality is complete and working - Server device configuration and integrity bypass management will be addressed in a follow-up commit with additional tools and scripts - Current implementation works with any DroidGuard server (Google's or self-hosted) This implementation enables Play Integrity attestation over remote DroidGuard, solving the multi-step protocol limitation described in issue microg#2851.
…g#2851 requirement microg#4 This template provides a starting point for automating the setup of DroidGuard server devices with Play Integrity bypass tools. The script outlines: 1. Device preparation and prerequisite checks 2. Installation of required tools (microG, Magisk, PlayIntegrityFix, TrickyStore) 3. Configuration of microG for remote DroidGuard 4. Magisk module setup 5. Play Integrity verification 6. DroidGuard server configuration 7. Monitoring and maintenance setup 8. Automated update script for bypass tools This addresses the remaining requirement microg#4 from issue microg#2851: - Making remote DroidGuard work on stock phones (via bypass tools) - Creating software to manage integrity bypass tools The actual implementation will be completed in a follow-up PR.
This was referenced May 13, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This PR implements multi-step DroidGuard support required for Play Integrity attestation over remote DroidGuard, addressing issue #2851.
Changes
Extended IDroidGuardHandle AIDL interface with multi-step methods:
Enhanced DroidGuardResultsRequest with session management fields:
Implemented multi-step support in DroidGuardHandleImpl:
Added RemoteHandleImpl with multi-step session support:
Created comprehensive documentation:
Updated related files for compatibility:
Testing
Issue Requirements Status
Notes
Related Issue
Closes #2851 (partially - requirement 4 will be completed separately)