--- /home/fdroid/fdroiddata/tmp/org.shadowice.flocke.andotp_37.apk +++ /home/fdroid/fdroiddata/tmp/sigcp_org.shadowice.flocke.andotp_37.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: <41c7a395cbb38c9f10bdfd15d95283199852d719d9c76cfd14760d43e84c6c5e>, actual: <2f7d47a86879cc1a285fea408b9176919247952a95ab746e514e6c3b051e1ef6> │┄ ERROR: APK Signature Scheme v3 signer #1: APK integrity check failed. VERITY_CHUNKED_SHA256 digest mismatch. Expected: <02003dca7e90d9a845f10465b7921b9089d6398df85a04fbf216e29ff57476f422c16d0000000000>, actual: │ @@ -1,58 +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: 987ccce4a1fa8ab28cd6ea1bedf129cbb31b8db24ee434fd6e3619adc924a122 │ -Signer #1 certificate SHA-1 digest: e94e9bfcab28b05c1652d0e4cf5ef4dee242a5f2 │ -Signer #1 certificate MD5 digest: 48622fc9d068236b250c4d36573bb972 │ -Signer #1 key algorithm: RSA │ -Signer #1 key size (bits): 2048 │ -Signer #1 public key SHA-256 digest: 4c4f059ee831faeb31d841be31040feada1bda4fa1b840d047e8b4cbe31e8f20 │ -Signer #1 public key SHA-1 digest: 2afc095fae82e41889f4fcf1076a2d26febed00a │ -Signer #1 public key MD5 digest: fcc64d2af2bbdfdb8bb92d19e0ad82bc │ -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.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/com.google.android.material_material.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.dynamicanimation_dynamicanimation.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-v4.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.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.databinding_library.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.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.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.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.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.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.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.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.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.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.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.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.viewpager2_viewpager2.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.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.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.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.databinding_baseAdapters.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.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.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.databinding_viewbinding.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.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.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.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.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.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.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.cardview_cardview.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.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/. ├── zipinfo {} │ @@ -1422,8 +1422,8 @@ │ -rw---- 0.0 fat 516 b- defN 81-Jan-01 01:01 res/drawable/abc_seekbar_tick_mark_material.xml │ -rw---- 0.0 fat 888 b- defN 81-Jan-01 01:01 res/drawable/$thumb_apache__1.xml │ -rw---- 0.0 fat 212 b- stor 81-Jan-01 01:01 res/drawable-hdpi-v4/notification_bg_normal.9.png │ -rw---- 0.0 fat 788 b- defN 81-Jan-01 01:01 res/drawable/$thumb_private_internet_access__3.xml │ -rw---- 2.0 fat 164380 b- defN 81-Jan-01 01:01 META-INF/C087976B.SF │ -rw---- 2.0 fat 1334 b- defN 81-Jan-01 01:01 META-INF/C087976B.RSA │ -rw---- 2.0 fat 164253 b- defN 81-Jan-01 01:01 META-INF/MANIFEST.MF │ -1427 files, 12341405 bytes uncompressed, 6959232 bytes compressed: 43.6% │ +1427 files, 12341405 bytes uncompressed, 6959229 bytes compressed: 43.6% ├── classes2.dex │ ├── dexdump -a -d -f -h {} │ │┄ Ignoring differences in offsets to keep diff size reasonable. │ │ @@ -1,12 +1,12 @@ │ │ DEX version '035' │ │ DEX file header: │ │ magic : 'dex\n035\0' │ │ -checksum : 7667b3e0 │ │ -signature : 7cba...16d3 │ │ +checksum : 4573b1e1 │ │ +signature : e09c...54d3 │ │ file_size : 367920 │ │ header_size : 112 │ │ link_size : 0 │ │ link_off : 0 (0x000000) │ │ string_ids_size : 2098 │ │ string_ids_off : 112 (0x000070) │ │ type_ids_size : 817 │ │ @@ -12255,24 +12255,24 @@ │ │ 01e180: 2020 da02 |001c: instance-of v0, v2, Ljava/util/SortedSet; // type@02da │ │ 01e184: 3800 0c00 |001e: if-eqz v0, 002a // +000c │ │ 01e188: 1f02 da02 |0020: check-cast v2, Ljava/util/SortedSet; // type@02da │ │ 01e18c: 2200 9800 |0022: new-instance v0, Lj$/util/SortedSet$1; // type@0098 │ │ 01e190: 1301 1500 |0024: const/16 v1, #int 21 // #15 │ │ 01e194: 7040 8104 2012 |0026: invoke-direct {v0, v2, v2, v1}, Lj$/util/SortedSet$1;.:(Ljava/util/SortedSet;Ljava/util/Collection;I)V // method@0481 │ │ 01e19a: 1100 |0029: return-object v0 │ │ -01e19c: 2020 d902 |002a: instance-of v0, v2, Ljava/util/Set; // type@02d9 │ │ +01e19c: 2020 ca02 |002a: instance-of v0, v2, Ljava/util/List; // type@02ca │ │ 01e1a0: 3800 0900 |002c: if-eqz v0, 0035 // +0009 │ │ -01e1a4: 1f02 d902 |002e: check-cast v2, Ljava/util/Set; // type@02d9 │ │ -01e1a8: 7110 7004 0200 |0030: invoke-static {v2}, Lj$/util/Set$-CC;.$default$spliterator:(Ljava/util/Set;)Lj$/util/Spliterator; // method@0470 │ │ +01e1a4: 1f02 ca02 |002e: check-cast v2, Ljava/util/List; // type@02ca │ │ +01e1a8: 7110 ec03 0200 |0030: invoke-static {v2}, Lj$/util/List$-CC;.$default$spliterator:(Ljava/util/List;)Lj$/util/Spliterator; // method@03ec │ │ 01e1ae: 0c02 |0033: move-result-object v2 │ │ 01e1b0: 1102 |0034: return-object v2 │ │ -01e1b2: 2020 ca02 |0035: instance-of v0, v2, Ljava/util/List; // type@02ca │ │ +01e1b2: 2020 d902 |0035: instance-of v0, v2, Ljava/util/Set; // type@02d9 │ │ 01e1b6: 3800 0900 |0037: if-eqz v0, 0040 // +0009 │ │ -01e1ba: 1f02 ca02 |0039: check-cast v2, Ljava/util/List; // type@02ca │ │ -01e1be: 7110 ec03 0200 |003b: invoke-static {v2}, Lj$/util/List$-CC;.$default$spliterator:(Ljava/util/List;)Lj$/util/Spliterator; // method@03ec │ │ +01e1ba: 1f02 d902 |0039: check-cast v2, Ljava/util/Set; // type@02d9 │ │ +01e1be: 7110 7004 0200 |003b: invoke-static {v2}, Lj$/util/Set$-CC;.$default$spliterator:(Ljava/util/Set;)Lj$/util/Spliterator; // method@0470 │ │ 01e1c4: 0c02 |003e: move-result-object v2 │ │ 01e1c6: 1102 |003f: return-object v2 │ │ 01e1c8: 7110 8803 0200 |0040: invoke-static {v2}, Lj$/util/Collection$-CC;.$default$spliterator:(Ljava/util/Collection;)Lj$/util/Spliterator; // method@0388 │ │ 01e1ce: 0c02 |0043: move-result-object v2 │ │ 01e1d0: 1102 |0044: return-object v2 │ │ catches : (none) │ │ positions : │ ├── classes2.jar │ │ ├── zipinfo -v {} │ │ │ @@ -1846,15 +1846,15 @@ │ │ │ version of encoding software: 2.0 │ │ │ minimum file system compatibility required: MS-DOS, OS/2 or NT FAT │ │ │ minimum software version required to extract: 2.0 │ │ │ compression method: none (stored) │ │ │ file security status: not encrypted │ │ │ extended local header: no │ │ │ file last modified on (DOS date/time): 1980 Jan 1 00:00:00 │ │ │ - 32-bit CRC value (hex): 01afbce2 │ │ │ + 32-bit CRC value (hex): 354ef40e │ │ │ compressed size: 4117 bytes │ │ │ uncompressed size: 4117 bytes │ │ │ length of filename: 28 characters │ │ │ length of extra field: 0 bytes │ │ │ length of file comment: 0 characters │ │ │ disk number on which file begins: disk 1 │ │ │ apparent file type: binary │ │ ├── j$/util/Collection$-EL.class │ │ │ ├── procyon -ec {} │ │ │ │ @@ -1,13 +1,13 @@ │ │ │ │ │ │ │ │ package j$.util; │ │ │ │ │ │ │ │ import java.util.Comparator; │ │ │ │ -import java.util.List; │ │ │ │ import java.util.Set; │ │ │ │ +import java.util.List; │ │ │ │ import java.util.SortedSet; │ │ │ │ import java.util.LinkedHashSet; │ │ │ │ import java.util.Iterator; │ │ │ │ import java.util.Objects; │ │ │ │ import j$.util.function.Consumer; │ │ │ │ import java.util.Collection; │ │ │ │ import java.util.OptionalLong; │ │ │ │ @@ -146,16 +146,16 @@ │ │ │ │ Objects.requireNonNull(obj); │ │ │ │ return (Spliterator)new Spliterators$IteratorSpliterator((Collection)obj, 17); │ │ │ │ } │ │ │ │ if (collection instanceof SortedSet) { │ │ │ │ final SortedSet set = (SortedSet)collection; │ │ │ │ return (Spliterator)new SortedSet$1(set, (Collection)set, 21); │ │ │ │ } │ │ │ │ - if (collection instanceof Set) { │ │ │ │ - return Set$-CC.$default$spliterator((Set)(SortedSet)collection); │ │ │ │ - } │ │ │ │ if (collection instanceof List) { │ │ │ │ return List$-CC.$default$spliterator((List)collection); │ │ │ │ } │ │ │ │ + if (collection instanceof Set) { │ │ │ │ + return Set$-CC.$default$spliterator((Set)(SortedSet)collection); │ │ │ │ + } │ │ │ │ return Collection$-CC.$default$spliterator(collection); │ │ │ │ } │ │ │ │ } ├── smali_classes2/j$/util/Collection$-EL.smali │┄ Ordering differences only │ @@ -479,34 +479,34 @@ │ │ invoke-direct {v0, p0, p0, v1}, Lj$/util/SortedSet$1;->(Ljava/util/SortedSet;Ljava/util/Collection;I)V │ │ return-object v0 │ │ .line 6 │ :cond_2 │ - instance-of v0, p0, Ljava/util/Set; │ + instance-of v0, p0, Ljava/util/List; │ │ if-eqz v0, :cond_3 │ │ - check-cast p0, Ljava/util/Set; │ + check-cast p0, Ljava/util/List; │ │ - invoke-static {p0}, Lj$/util/Set$-CC;->$default$spliterator(Ljava/util/Set;)Lj$/util/Spliterator; │ + invoke-static {p0}, Lj$/util/List$-CC;->$default$spliterator(Ljava/util/List;)Lj$/util/Spliterator; │ │ move-result-object p0 │ │ return-object p0 │ │ :cond_3 │ - instance-of v0, p0, Ljava/util/List; │ + instance-of v0, p0, Ljava/util/Set; │ │ if-eqz v0, :cond_4 │ │ - check-cast p0, Ljava/util/List; │ + check-cast p0, Ljava/util/Set; │ │ - invoke-static {p0}, Lj$/util/List$-CC;->$default$spliterator(Ljava/util/List;)Lj$/util/Spliterator; │ + invoke-static {p0}, Lj$/util/Set$-CC;->$default$spliterator(Ljava/util/Set;)Lj$/util/Spliterator; │ │ move-result-object p0 │ │ return-object p0 │ │ :cond_4 │ invoke-static {p0}, Lj$/util/Collection$-CC;->$default$spliterator(Ljava/util/Collection;)Lj$/util/Spliterator;