From 867f75b5a62250fbd04f9d63e2b0d32b52c5c895 Mon Sep 17 00:00:00 2001 From: node Date: Tue, 17 May 2022 18:00:25 +0200 Subject: [PATCH] fix: SafetyNet pass feat(docker): Docker container for build Magisk module --- CHANGELOG.md | 8 +++++++ Dockerfile | 55 ++++++++++++++++++++++++++++++++++++++++++++++ build.sh | 2 +- docker-compose.yml | 14 ++++++++++++ java/gradlew | 2 +- magisk/module.prop | 4 ++-- update.json | 6 ++--- zygisk/gradlew | 2 +- 8 files changed, 85 insertions(+), 8 deletions(-) create mode 100644 Dockerfile create mode 100644 docker-compose.yml diff --git a/CHANGELOG.md b/CHANGELOG.md index d89f1dfc..c396c4eb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,11 @@ +# v2.3.0 (Zygisk) + +**This version only supports Zygisk. See v2.1.3 for a Riru version.** + +- Fixed fingerprint scanner +- Fixed SafetyNet Pass (now "pass" all verifications) +- Add Docker container for build Magisk module (only Zygisk tested) + # v2.2.1 (Zygisk) **This version only supports Zygisk. See v2.1.3 for a Riru version.** diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..a3a7b046 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,55 @@ +FROM ubuntu:latest + +WORKDIR / + +SHELL ["/bin/bash", "-c"] + +# To avoid "tzdata" asking for geographic area +ARG DEBIAN_FRONTEND=noninteractive + +# Version of tools: +# In Code +ARG GRADLE_VERSION=7.0.2 +ARG ANDROID_API_LEVEL=32 +# https://developer.android.com/studio/releases/build-tools +ARG ANDROID_BUILD_TOOLS_LEVEL=32.0.0 +# https://developer.android.com/ndk/downloads +ARG ANDROID_NDK_VERSION=21.4.7075529 +# https://developer.android.com/studio/ +ARG ANNDROID_CMD_LINE_TOOLS=linux-8512546_latest + +# Dependencies and needed tools +RUN apt update -qq && apt install -qq -y cmake zip file openjdk-11-jdk vim git unzip libglu1 libpulse-dev libasound2 libc6 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxi6 libxtst6 libnss3 wget + +# Download gradle, install gradle and gradlew +RUN wget -q https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-bin.zip -P /tmp +RUN unzip -q -d /opt/gradle /tmp/gradle-${GRADLE_VERSION}-bin.zip +RUN mkdir /opt/gradlew +RUN touch /opt/gradlew/settings.gradle +RUN /opt/gradle/gradle-${GRADLE_VERSION}/bin/gradle wrapper --gradle-version ${GRADLE_VERSION} --distribution-type all -p /opt/gradlew +RUN /opt/gradle/gradle-${GRADLE_VERSION}/bin/gradle wrapper -p /opt/gradlew + +# Download commandlinetools +RUN mkdir /opt/android +RUN mkdir /opt/android/cmdline-tools +RUN wget -q https://dl.google.com/android/repository/commandlinetools-${ANNDROID_CMD_LINE_TOOLS}.zip -P /tmp +RUN unzip -q -d /opt/android/cmdline-tools /tmp/commandlinetools-${ANNDROID_CMD_LINE_TOOLS}.zip + +# install packages and accept all licenses +# cmdline-tools/cmdline-tools - the second "cmdline-tools" is the folder in the zip file +RUN yes Y | /opt/android/cmdline-tools/cmdline-tools/bin/sdkmanager --install "build-tools;${ANDROID_BUILD_TOOLS_LEVEL}" "platforms;android-${ANDROID_API_LEVEL}" "platform-tools" "ndk;${ANDROID_NDK_VERSION}" \ +&& yes Y | /opt/android/cmdline-tools/cmdline-tools/bin/sdkmanager --licenses + +# Environment variables to be used for build +ENV GRADLE_HOME=/opt/gradle/gradle-$GRADLE_VERSION +ENV ANDROID_HOME=/opt/android +ENV ANDROID_NDK_HOME=${ANDROID_HOME}/ndk/${ANDROID_NDK_VERSION} +ENV PATH "$PATH:$GRADLE_HOME/bin:/opt/gradlew:$ANDROID_HOME/emulator:$ANDROID_HOME/cmdline-tools/tools/bin:$ANDROID_HOME/platform-tools:${ANDROID_NDK_HOME}" +ENV LD_LIBRARY_PATH "$ANDROID_HOME/emulator/lib64:$ANDROID_HOME/emulator/lib64/qt/lib" + +# Clean up +RUN rm /tmp/gradle-${GRADLE_VERSION}-bin.zip \ +&& rm /tmp/commandlinetools-${ANNDROID_CMD_LINE_TOOLS}.zip + +# Create folder work +RUN mkdir /opt/safetynet-fix diff --git a/build.sh b/build.sh index 392035d3..d7c99d10 100755 --- a/build.sh +++ b/build.sh @@ -12,7 +12,7 @@ debug_mode=1 if [[ "$build_mode" == "release" ]]; then debug_mode=0 fi -$HOME/code/android/sdk/ndk/21.4.7075529/ndk-build -j48 NDK_DEBUG=$debug_mode +$ANDROID_NDK_HOME/ndk-build -j48 NDK_DEBUG=$debug_mode popd pushd java diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 00000000..5d6e0f26 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,14 @@ +version: "3.9" + +services: + android-build: + build: + context: . + dockerfile: ./Dockerfile + + working_dir: /opt/safetynet-fix + command: ['bash', 'build.sh'] + # debug + # command: ['bash', '-c', 'while sleep 1000; do :; done'] + volumes: + - ./:/opt/safetynet-fix diff --git a/java/gradlew b/java/gradlew index 4f906e0c..f845c28f 100755 --- a/java/gradlew +++ b/java/gradlew @@ -1,4 +1,4 @@ -#!/usr/bin/env sh +#!/usr/bin/env bash # # Copyright 2015 the original author or authors. diff --git a/magisk/module.prop b/magisk/module.prop index 08ea3b39..11372ae0 100644 --- a/magisk/module.prop +++ b/magisk/module.prop @@ -1,7 +1,7 @@ id=safetynet-fix name=Universal SafetyNet Fix -version=v2.2.1 -versionCode=20201 +version=v2.3.0 +versionCode=20300 author=kdrag0n, frnode description=A universal fix for SafetyNet on Android 8–12 devices with hardware attestation and unlocked bootloaders. updateJson=https://raw.githubusercontent.com/frnode/safetynet-fix/master/update.json diff --git a/update.json b/update.json index fad35b0d..b616fc4b 100644 --- a/update.json +++ b/update.json @@ -1,6 +1,6 @@ { - "version": "v2.2.1", - "versionCode": 20201, - "zipUrl": "https://github.com/frnode/safetynet-fix/releases/download/v2.2.1/safetynet-fix-v2.2.1.zip", + "version": "v2.3.0", + "versionCode": 20300, + "zipUrl": "https://github.com/frnode/safetynet-fix/releases/download/v2.3.0/safetynet-fix-v2.3.0.zip", "changelog": "https://raw.githubusercontent.com/frnode/safetynet-fix/master/CHANGELOG.md" } diff --git a/zygisk/gradlew b/zygisk/gradlew index 4f906e0c..f845c28f 100755 --- a/zygisk/gradlew +++ b/zygisk/gradlew @@ -1,4 +1,4 @@ -#!/usr/bin/env sh +#!/usr/bin/env bash # # Copyright 2015 the original author or authors.