--- /home/fdroid/fdroiddata/tmp/com.craigd.lmsmaterial.app_301.apk +++ /home/fdroid/fdroiddata/tmp/sigcp_com.craigd.lmsmaterial.app_301.apk ├── /usr/lib/android-sdk/build-tools/debian/apksigner verify --verbose --print-certs {} │┄ error from `/usr/lib/android-sdk/build-tools/debian/apksigner verify --verbose --print-certs {}` (b): │┄ DOES NOT VERIFY │┄ ERROR: APK Signature Scheme v3 signer #1: APK integrity check failed. CHUNKED_SHA256 digest mismatch. Expected: <75305f3a2a1a5bea44c699f604d6d9cb9b14377e82653954eeea8a4f56b9372f>, actual: <5d494f6a6483f66bae3c2689187e7c683dbc17f5217c4b7cbf727f718f103941> │┄ ERROR: APK Signature Scheme v3 signer #1: APK integrity check failed. VERITY_CHUNKED_SHA256 digest mismatch. Expected: <5c763f6ba4a6c6b75ba8b904bc740219cafc0c26bf74ad23b14581db576044183714340000000000>, actual: │ @@ -1,67 +0,0 @@ │ -Verifies │ -Verified using v1 scheme (JAR signing): true │ -Verified using v2 scheme (APK Signature Scheme v2): true │ -Verified using v3 scheme (APK Signature Scheme v3): true │ -Verified using v4 scheme (APK Signature Scheme v4): false │ -Verified for SourceStamp: false │ -Number of signers: 1 │ -Signer #1 certificate DN: CN=FDroid, OU=FDroid, O=fdroid.org, L=ORG, ST=ORG, C=UK │ -Signer #1 certificate SHA-256 digest: dccf7b71f9c0766e9f0e87ead39b78cca877132718a17c0a5173966aef8934f4 │ -Signer #1 certificate SHA-1 digest: de24599baff76f060b2b60604354005a6877611d │ -Signer #1 certificate MD5 digest: 9aa2841d3672a0ef6c0051ba83d45eb3 │ -Signer #1 key algorithm: RSA │ -Signer #1 key size (bits): 2048 │ -Signer #1 public key SHA-256 digest: ecc64091f0231af9b1f5e55f997ebbda39bf5c26c8ca9048660e27b1c4cd6bd3 │ -Signer #1 public key SHA-1 digest: 91d7f0b9ddf48c45d492271ba991b385577e7f78 │ -Signer #1 public key MD5 digest: 6f4629ff340ad8f23a4fe9673dd90589 │ -WARNING: META-INF/com/android/build/gradle/app-metadata.properties not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.activity_activity-ktx.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.activity_activity.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.annotation_annotation-experimental.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.appcompat_appcompat-resources.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.appcompat_appcompat.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.arch.core_core-runtime.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.asynclayoutinflater_asynclayoutinflater.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.coordinatorlayout_coordinatorlayout.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.core_core-ktx.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.core_core.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.cursoradapter_cursoradapter.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.customview_customview.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.documentfile_documentfile.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.drawerlayout_drawerlayout.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.emoji2_emoji2-views-helper.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.emoji2_emoji2.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.fragment_fragment-ktx.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.fragment_fragment.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.interpolator_interpolator.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.legacy_legacy-support-core-ui.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.legacy_legacy-support-core-utils.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.lifecycle_lifecycle-livedata-core-ktx.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.lifecycle_lifecycle-livedata-core.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.lifecycle_lifecycle-livedata.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.lifecycle_lifecycle-process.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.lifecycle_lifecycle-runtime-ktx.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.lifecycle_lifecycle-runtime.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.lifecycle_lifecycle-viewmodel-ktx.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.lifecycle_lifecycle-viewmodel-savedstate.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.lifecycle_lifecycle-viewmodel.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.loader_loader.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.localbroadcastmanager_localbroadcastmanager.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.media_media.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.preference_preference.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.print_print.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.recyclerview_recyclerview.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.savedstate_savedstate-ktx.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.savedstate_savedstate.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.slidingpanelayout_slidingpanelayout.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.startup_startup-runtime.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.swiperefreshlayout_swiperefreshlayout.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.tracing_tracing.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.transition_transition.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.vectordrawable_vectordrawable-animated.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.vectordrawable_vectordrawable.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.versionedparcelable_versionedparcelable.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.viewpager_viewpager.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/androidx.window_window.version not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/services/kotlinx.coroutines.CoroutineExceptionHandler not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. │ -WARNING: META-INF/services/kotlinx.coroutines.internal.MainDispatcherFactory not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. ├── zipinfo {} │ @@ -1,10 +1,10 @@ │ Zip file size: 3417143 bytes, number of entries: 466 │ -rw-rw-rw- 0.0 unx 56 b- defN 81-Jan-01 01:01 META-INF/com/android/build/gradle/app-metadata.properties │ --rw-rw-rw- 0.0 unx 7468184 b- defN 81-Jan-01 01:01 classes.dex │ +-rw-rw-rw- 0.0 unx 7468188 b- defN 81-Jan-01 01:01 classes.dex │ -rw---- 2.4 fat 1714 b- defN 81-Jan-01 01:01 DebugProbesKt.bin │ -rw---- 2.4 fat 6 b- stor 81-Jan-01 01:01 META-INF/androidx.activity_activity-ktx.version │ -rw---- 2.4 fat 6 b- stor 81-Jan-01 01:01 META-INF/androidx.activity_activity.version │ -rw---- 2.4 fat 6 b- stor 81-Jan-01 01:01 META-INF/androidx.annotation_annotation-experimental.version │ -rw---- 2.4 fat 6 b- stor 81-Jan-01 01:01 META-INF/androidx.appcompat_appcompat-resources.version │ -rw---- 2.4 fat 6 b- stor 81-Jan-01 01:01 META-INF/androidx.appcompat_appcompat.version │ -rw---- 2.4 fat 6 b- stor 81-Jan-01 01:01 META-INF/androidx.arch.core_core-runtime.version │ @@ -461,8 +461,8 @@ │ -rw---- 0.0 fat 396 b- defN 81-Jan-01 01:01 res/z3.xml │ -rw---- 0.0 fat 1116 b- defN 81-Jan-01 01:01 res/zH.xml │ -rw---- 0.0 fat 840 b- defN 81-Jan-01 01:01 res/zq.xml │ -rw---- 0.0 fat 328804 b- stor 81-Jan-01 01:01 resources.arsc │ -rw---- 2.0 fat 41735 b- defN 81-Jan-01 01:01 META-INF/B34BCFD6.SF │ -rw---- 2.0 fat 1334 b- defN 81-Jan-01 01:01 META-INF/B34BCFD6.RSA │ -rw---- 2.0 fat 41608 b- defN 81-Jan-01 01:01 META-INF/MANIFEST.MF │ -466 files, 8254605 bytes uncompressed, 3360153 bytes compressed: 59.3% │ +466 files, 8254609 bytes uncompressed, 3360282 bytes compressed: 59.3% ├── classes.dex │ ├── classes.jar │ │ ├── zipinfo {} │ │ │ @@ -1,8 +1,8 @@ │ │ │ -Zip file size: 10152654 bytes, number of entries: 5407 │ │ │ +Zip file size: 10152661 bytes, number of entries: 5407 │ │ │ ?rwxrwxr-x 2.0 unx 318 b- stor 80-Jan-01 00:00 android/support/v4/app/INotificationSideChannel.class │ │ │ ?rwxrwxr-x 2.0 unx 503 b- stor 80-Jan-01 00:00 android/support/v4/media/MediaBrowserCompat$Api21Impl.class │ │ │ ?rwxrwxr-x 2.0 unx 2930 b- stor 80-Jan-01 00:00 android/support/v4/media/MediaBrowserCompat$CallbackHandler.class │ │ │ ?rwxrwxr-x 2.0 unx 987 b- stor 80-Jan-01 00:00 android/support/v4/media/MediaBrowserCompat$ConnectionCallback$ConnectionCallbackApi21.class │ │ │ ?rwxrwxr-x 2.0 unx 230 b- stor 80-Jan-01 00:00 android/support/v4/media/MediaBrowserCompat$ConnectionCallback$ConnectionCallbackInternal.class │ │ │ ?rwxrwxr-x 2.0 unx 989 b- stor 80-Jan-01 00:00 android/support/v4/media/MediaBrowserCompat$ConnectionCallback.class │ │ │ ?rwxrwxr-x 2.0 unx 362 b- stor 80-Jan-01 00:00 android/support/v4/media/MediaBrowserCompat$CustomActionCallback.class │ │ │ @@ -3946,15 +3946,15 @@ │ │ │ ?rwxrwxr-x 2.0 unx 559 b- stor 80-Jan-01 00:00 com/android/volley/toolbox/NoCache.class │ │ │ ?rwxrwxr-x 2.0 unx 2479 b- stor 80-Jan-01 00:00 com/android/volley/toolbox/RequestFuture.class │ │ │ ?rwxrwxr-x 2.0 unx 1805 b- stor 80-Jan-01 00:00 com/android/volley/toolbox/StringRequest.class │ │ │ ?rwxrwxr-x 2.0 unx 584 b- stor 80-Jan-01 00:00 com/android/volley/toolbox/Volley$1.class │ │ │ ?rwxrwxr-x 2.0 unx 2577 b- stor 80-Jan-01 00:00 com/craigd/lmsmaterial/app/MainActivity$Discovery.class │ │ │ ?rwxrwxr-x 2.0 unx 2184 b- stor 80-Jan-01 00:00 com/craigd/lmsmaterial/app/PhoneStateReceiver$1.class │ │ │ ?rwxrwxr-x 2.0 unx 2503 b- stor 80-Jan-01 00:00 com/craigd/lmsmaterial/app/SettingsActivity$SettingsFragment$1.class │ │ │ -?rwxrwxr-x 2.0 unx 1829 b- stor 80-Jan-01 00:00 com/craigd/lmsmaterial/app/SettingsActivity$SettingsFragment$2.class │ │ │ +?rwxrwxr-x 2.0 unx 1836 b- stor 80-Jan-01 00:00 com/craigd/lmsmaterial/app/SettingsActivity$SettingsFragment$2.class │ │ │ ?rwxrwxr-x 2.0 unx 2387 b- stor 80-Jan-01 00:00 com/craigd/lmsmaterial/app/SettingsActivity$SettingsFragment$3.class │ │ │ ?rwxrwxr-x 2.0 unx 1868 b- stor 80-Jan-01 00:00 com/craigd/lmsmaterial/app/SettingsActivity$SettingsFragment$4.class │ │ │ ?rwxrwxr-x 2.0 unx 3019 b- stor 80-Jan-01 00:00 com/craigd/lmsmaterial/app/SettingsActivity$SettingsFragment$Discovery.class │ │ │ ?rwxrwxr-x 2.0 unx 5256 b- stor 80-Jan-01 00:00 com/craigd/lmsmaterial/app/UrlHandler$1.class │ │ │ ?rwxrwxr-x 2.0 unx 1137 b- stor 80-Jan-01 00:00 com/craigd/lmsmaterial/app/UrlHandler$2.class │ │ │ ?rwxrwxr-x 2.0 unx 1174 b- stor 80-Jan-01 00:00 kotlin/DeepRecursiveScopeImpl$crossFunctionCompletion$$inlined$Continuation$1.class │ │ │ ?rwxrwxr-x 2.0 unx 3307 b- stor 80-Jan-01 00:00 kotlin/DeepRecursiveScopeImpl.class │ │ │ @@ -5402,8 +5402,8 @@ │ │ │ ?rwxrwxr-x 2.0 unx 497 b- stor 80-Jan-01 00:00 kotlinx/coroutines/flow/internal/FlowProduceCoroutine.class │ │ │ ?rwxrwxr-x 2.0 unx 44623 b- defN 80-Jan-01 00:00 kotlin/collections/CollectionsKt___CollectionsKt.class │ │ │ ?rwxrwxr-x 2.0 unx 28592 b- defN 80-Jan-01 00:00 kotlin/text/StringsKt__StringsKt.class │ │ │ ?rwxrwxr-x 2.0 unx 179 b- stor 80-Jan-01 00:00 kotlin/collections/CollectionsKt.class │ │ │ ?rwxrwxr-x 2.0 unx 1766 b- stor 80-Jan-01 00:00 kotlin/text/StringsKt___StringsJvmKt.class │ │ │ ?rwxrwxr-x 2.0 unx 35022 b- defN 80-Jan-01 00:00 kotlin/text/StringsKt___StringsKt.class │ │ │ ?rwxrwxr-x 2.0 unx 153 b- stor 80-Jan-01 00:00 kotlin/text/StringsKt.class │ │ │ -5407 files, 11270475 bytes uncompressed, 9152684 bytes compressed: 18.8% │ │ │ +5407 files, 11270482 bytes uncompressed, 9152691 bytes compressed: 18.8% │ │ ├── com/craigd/lmsmaterial/app/SettingsActivity$SettingsFragment$2.class │ │ │ ├── procyon -ec {} │ │ │ │ @@ -15,13 +15,14 @@ │ │ │ │ } │ │ │ │ │ │ │ │ public boolean onPreferenceClick(final Preference preference) { │ │ │ │ Log.d("LMS", "Discover clicked"); │ │ │ │ StyleableToast.makeText(this.this$0.getContext(), this.this$0.getResources().getString(2131689514), 0, 2131755397).show(); │ │ │ │ if (SettingsActivity$SettingsFragment.access$000(this.this$0) == null) { │ │ │ │ final SettingsActivity$SettingsFragment this$0 = this.this$0; │ │ │ │ - SettingsActivity$SettingsFragment.access$002(this$0, new SettingsActivity$SettingsFragment$Discovery(this$0, this$0.getContext().getApplicationContext())); │ │ │ │ + final SettingsActivity$SettingsFragment this$2 = this.this$0; │ │ │ │ + SettingsActivity$SettingsFragment.access$002(this$0, new SettingsActivity$SettingsFragment$Discovery(this$2, this$2.getContext().getApplicationContext())); │ │ │ │ } │ │ │ │ SettingsActivity$SettingsFragment.access$000(this.this$0).discover(); │ │ │ │ return true; │ │ │ │ } │ │ │ │ } ├── smali/com/craigd/lmsmaterial/app/SettingsActivity$SettingsFragment$2.smali │ @@ -84,23 +84,25 @@ │ if-nez p1, :cond_0 │ │ .line 247 │ iget-object p1, p0, Lcom/craigd/lmsmaterial/app/SettingsActivity$SettingsFragment$2;->this$0:Lcom/craigd/lmsmaterial/app/SettingsActivity$SettingsFragment; │ │ new-instance v0, Lcom/craigd/lmsmaterial/app/SettingsActivity$SettingsFragment$Discovery; │ │ - invoke-virtual {p1}, Lcom/craigd/lmsmaterial/app/SettingsActivity$SettingsFragment;->getContext()Landroid/content/Context; │ + iget-object v1, p0, Lcom/craigd/lmsmaterial/app/SettingsActivity$SettingsFragment$2;->this$0:Lcom/craigd/lmsmaterial/app/SettingsActivity$SettingsFragment; │ │ - move-result-object v1 │ + invoke-virtual {v1}, Lcom/craigd/lmsmaterial/app/SettingsActivity$SettingsFragment;->getContext()Landroid/content/Context; │ │ - invoke-virtual {v1}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context; │ + move-result-object v2 │ │ - move-result-object v1 │ + invoke-virtual {v2}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context; │ │ - invoke-direct {v0, p1, v1}, Lcom/craigd/lmsmaterial/app/SettingsActivity$SettingsFragment$Discovery;->(Lcom/craigd/lmsmaterial/app/SettingsActivity$SettingsFragment;Landroid/content/Context;)V │ + move-result-object v2 │ + │ + invoke-direct {v0, v1, v2}, Lcom/craigd/lmsmaterial/app/SettingsActivity$SettingsFragment$Discovery;->(Lcom/craigd/lmsmaterial/app/SettingsActivity$SettingsFragment;Landroid/content/Context;)V │ │ invoke-static {p1, v0}, Lcom/craigd/lmsmaterial/app/SettingsActivity$SettingsFragment;->access$002(Lcom/craigd/lmsmaterial/app/SettingsActivity$SettingsFragment;Lcom/craigd/lmsmaterial/app/SettingsActivity$SettingsFragment$Discovery;)Lcom/craigd/lmsmaterial/app/SettingsActivity$SettingsFragment$Discovery; │ │ .line 249 │ :cond_0 │ iget-object p1, p0, Lcom/craigd/lmsmaterial/app/SettingsActivity$SettingsFragment$2;->this$0:Lcom/craigd/lmsmaterial/app/SettingsActivity$SettingsFragment;