feat: test older version

main
TheSillyStever 2025-09-04 19:49:28 +02:00
parent 7386173106
commit 0ee0f1e4b0
2 changed files with 23 additions and 124 deletions

View File

@ -1,124 +0,0 @@
name: Build Patched APK 25.10.0
on:
workflow_dispatch:
inputs:
experimental:
description: 'Enable experimental Smali patches (e.g., logging). Disable if app crashes.'
required: false
type: boolean
default: true
permsRemoval:
description: 'Permission removal level. More removal may break features.'
required: true
default: 'strict'
type: choice
options:
- 'none'
- 'dangerous'
- 'strict'
# - 'paranoid'
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '17'
- name: Download Apktool
run: |
wget https://bitbucket.org/iBotPeaches/apktool/downloads/apktool_2.9.3.jar -O apktool.jar
sudo mv apktool.jar /usr/local/bin/apktool.jar
echo '#!/bin/bash' | sudo tee /usr/local/bin/apktool
echo 'java -jar /usr/local/bin/apktool.jar "$@"' | sudo tee -a /usr/local/bin/apktool
sudo chmod +x /usr/local/bin/apktool
- name: Set up Android SDK
uses: android-actions/setup-android@v3
with:
packages: 'platform-tools build-tools;34.0.0'
- name: Add Android Build Tools to PATH
run: echo "${ANDROID_HOME}/build-tools/34.0.0" >> $GITHUB_PATH
shell: bash
- name: Decompile APK
run: apktool d source_apk/ru.oneme.app.apk -f -o apk_workdir
- name: Remove original AndroidManifest.xml copy in workdir (if exists)
run: |
if [ -f "apk_workdir/original/AndroidManifest.xml" ]; then
echo "Removing apk_workdir/original/AndroidManifest.xml to prevent conflicts"
rm "apk_workdir/original/AndroidManifest.xml"
fi
shell: bash
- name: Patch AndroidManifest.xml based on user selection
if: ${{ inputs.permsRemoval != 'none' }}
run: |
echo "Permission removal level selected: ${{ inputs.permsRemoval }}"
SOURCE_MANIFEST="manifests/AndroidManifest_${{ inputs.permsRemoval }}.xml"
DEST_MANIFEST="apk_workdir/AndroidManifest.xml"
echo "Copying ${SOURCE_MANIFEST} to ${DEST_MANIFEST}"
cp "${SOURCE_MANIFEST}" "${DEST_MANIFEST}"
shell: bash
- name: Run Python Patcher for Smali
run: python scripts/patcher.py --experimental "${{ inputs.experimental }}"
env:
EXPERIMENTAL: ${{ inputs.experimental }}
- name: Remove original signature
run: |
rm -rf apk_workdir/original/META-INF
rm -f apk_workdir/original/stamp-cert-sha256
shell: bash
- name: Rebuild APK
run: apktool b apk_workdir -c -o rebuilt_unsigned.apk
shell: bash
- name: Zipalign the APK
run: zipalign -v 4 rebuilt_unsigned.apk rebuilt_aligned.apk
shell: bash
- name: Generate a temporary signing key
run: |
keytool -genkey -v \
-keystore temp-release-key.keystore \
-alias temp_alias \
-keyalg RSA \
-keysize 2048 \
-validity 10000 \
-storepass temppassword \
-keypass temppassword \
-dname "CN=Anonymous, OU=Anonymous, O=Anonymous, L=Unknown, ST=Unknown, C=XX"
shell: bash
- name: Sign the APK with the temporary key
run: |
apksigner sign --ks temp-release-key.keystore \
--ks-key-alias temp_alias \
--ks-pass pass:temppassword \
--key-pass pass:temppassword \
rebuilt_aligned.apk
shell: bash
- name: Rename Final APK
run: mv rebuilt_aligned.apk patched-app-release.apk
shell: bash
- name: Upload Patched APK as Artifact
uses: actions/upload-artifact@v4
with:
name: patched-apk-${{ inputs.permsRemoval }}
path: patched-app-release.apk

23
.github/workflows/router.yml vendored 100644
View File

@ -0,0 +1,23 @@
name: Build and Patch OLDER VERSIONS
on:
workflow_dispatch:
inputs:
branch:
description: "Branch to run workflow on"
required: true
workflow:
description: "Workflow filename to run"
required: true
jobs:
dispatch:
runs-on: ubuntu-latest
steps:
- name: Trigger selected workflow
uses: peter-evans/workflow-dispatch@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
repository: ${{ github.repository }}
workflow: ${{ github.event.inputs.workflow }}
ref: ${{ github.event.inputs.branch }}