From 9c3eb8644a40c7e2d20176ab4cb645831b42d821 Mon Sep 17 00:00:00 2001 From: Antoine Rybacki <15911822+Lifeismana@users.noreply.github.com> Date: Wed, 16 Oct 2024 06:27:37 +0200 Subject: [PATCH] download from google play --- .github/workflows/run.yml | 24 +++++++++++++++++++- script.sh | 48 +++++++++++++++++++++------------------ 2 files changed, 49 insertions(+), 23 deletions(-) diff --git a/.github/workflows/run.yml b/.github/workflows/run.yml index 0303026..c687650 100644 --- a/.github/workflows/run.yml +++ b/.github/workflows/run.yml @@ -19,10 +19,19 @@ on: - false required: false default: "false" + download_source: + description: 'google or apk-pure' + type: choice + options: + - google + - apk-pure + required: false + default: "google" repository_dispatch: schedule: - - cron: '0 6 * * TUE,WED,THU,FRI,SAT' + - cron: '0 6 * * WED,THU,FRI,SAT' + - cron: '0 6 * * TUE' jobs: @@ -50,6 +59,16 @@ jobs: # sudo rm -rf /usr/local/lib/android # sudo rm -rf /opt/ghc # sudo rm -rf /opt/hostedtoolcache/CodeQL + - name: Set variables + id: setvars + run: | + if [[ "${{github.event.schedule}}" == '0 6 * * WED,THU,FRI,SAT' ]]; then + echo "::set-output name=source::google" + elif [[ "${{github.event.schedule}}" == '0 6 * * TUE' ]]; then + echo "::set-output name=source::apk-pure" + else + echo "::set-output name=source::${{ inputs.download_source }}" + fi - uses: actions/checkout@v4 with: ref: main @@ -58,5 +77,8 @@ jobs: FORCE: ${{ inputs.force }} APP_TO_PROCESS: ${{ inputs.app_id }} APP_VERSION: ${{ inputs.version }} + SOURCE: ${{steps.setvars.outputs.source}} + GOOGLE_MAIL: ${{secrets.GOOGLE_MAIL}} + AAS_TOKEN: ${{secrets.AAS_TOKEN}} GIT_NAME: ${{ secrets.GIT_NAME}} GIT_EMAIL: ${{ secrets.GIT_EMAIL}} diff --git a/script.sh b/script.sh index 818614f..cde84d2 100755 --- a/script.sh +++ b/script.sh @@ -17,7 +17,7 @@ MergeDPIPNG() if [[ ! $(dirname "$FILE") == *-@(ldpi|mdpi|hdpi|xhdpi|xxhdpi|xxxhdpi) ]]; then continue fi - if [ -f "$FILE" ]; then + if [[ -f "$FILE" ]]; then echo "Merging $FILE" filename=$(basename "$FILE") folder=$(basename $(dirname "$FILE")) @@ -25,10 +25,10 @@ MergeDPIPNG() foldernodpi=$(dirname $(dirname "$FILE"))/${folder%-*} [ -d $foldernodpi ] || ( mkdir -p "$foldernodpi" && touch "$foldernodpi/.folderisnotreal" ) # if the file already exists in that folder compare pixel count and keep the bigger one - if [ -f "$foldernodpi/$filename" ]; then + if [[ -f "$foldernodpi/$filename" ]]; then new=($(identify -format "%w %h" "$FILE")) old=($(identify -format "%w %h" "$foldernodpi/$filename")) - if [ $(expr ${new[0]} \* ${new[1]}) -gt $(expr ${old[0]} \* ${old[1]}) ]; then + if [[ $(expr ${new[0]} \* ${new[1]}) -gt $(expr ${old[0]} \* ${old[1]}) ]]; then mv -f "$FILE" "$foldernodpi/$filename" else rm -f "$FILE" @@ -44,27 +44,31 @@ ProcessApp() { echo "Processing $1" previous_version='' - if [ -f $1/resources/AndroidManifest.xml ]; then + if [[ -f $1/resources/AndroidManifest.xml ]]; then previous_version=$(xpath -q -e "string(/manifest/@android:versionName)" $1/resources/AndroidManifest.xml) fi echo "Previous version: $previous_version" rm -rf $1 mkdir -p $1 - if [ -n "$2" ]; then - apkeep -a $1@$2 -d apk-pure $1 - for FILE in $1/*@*apk - do - echo "Renaming $FILE" - extension="${FILE##*.}" - filename="${FILE%@*}" - mv $FILE $filename.$extension - done - Commit_message="$1 Version $2" - else - apkeep -a $1 -d apk-pure $1 - fi - if [ -f $1/$1.xapk ]; then - unzip -o $1/$1.xapk -d $1 + if [[ "$SOURCE" == "apk-pure" || "$SOURCE" == "" ]]; then + if [[ -n "$2" ]]; then + apkeep -a $1@$2 -d apk-pure $1 + for FILE in $1/*@*apk + do + echo "Renaming $FILE" + extension="${FILE##*.}" + filename="${FILE%@*}" + mv $FILE $filename.$extension + done + Commit_message="$1 Version $2" + else + apkeep -a $1 -d apk-pure $1 + fi + if [[ -f $1/$1.xapk ]]; then + unzip -o $1/$1.xapk -d $1 + fi + elif [[ "$SOURCE" == "google" ]]; then + apkeep -a $1 -d google-play -e $GOOGLE_MAIL -t $AAS_TOKEN $1 fi jadx --deobf --show-bad-code -d $1 $1/$1.apk find $1 -type f -exec md5sum {} >> $1/$1.apk.jadx.txt \; @@ -77,7 +81,7 @@ ProcessApp() column -t "/tmp/apkunzip.txt" > "$FILE.txt" done # decompile bundle - if [ -f $1/resources/assets/index.android.bundle ]; then + if [[ -f $1/resources/assets/index.android.bundle ]]; then echo "Decompiling $1/resources/assets/index.android.bundle" hbc-decompiler $1/resources/assets/index.android.bundle $1/resources/assets/index.android.bundle.decompiled.js hbc-file-parser $1/resources/assets/index.android.bundle > /tmp/index.android.bundle.header.txt @@ -107,7 +111,7 @@ ProcessApp() MergeDPIPNG $1 current_version='' - if [ -f $1/resources/AndroidManifest.xml ]; then + if [[ -f $1/resources/AndroidManifest.xml ]]; then current_version=$(xpath -q -e "string(/manifest/@android:versionName)" $1/resources/AndroidManifest.xml) fi echo "Current version: $current_version" @@ -118,7 +122,7 @@ ProcessApp() fi } -if [ -n "$APP_TO_PROCESS" ]; then +if [[ -n "$APP_TO_PROCESS" ]]; then ProcessApp $APP_TO_PROCESS $APP_VERSION else for APP in $APPS;