--- /home/fdroid/fdroiddata/tmp/org.freenetproject.mobile_300.apk +++ /home/fdroid/fdroiddata/tmp/sigcp_org.freenetproject.mobile_300.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: <5f90304c3ef3b8ca16ae82ac62568412d8e7d4b715ecde58048f60724a78f9b2>, actual: <77e9c891634a560f0849a2084f028782680d7dc3f11e54c76a94a49dce5e2621> │┄ ERROR: APK Signature Scheme v3 signer #1: APK integrity check failed. VERITY_CHUNKED_SHA256 digest mismatch. Expected: <0303b62d124de579da0636a3f658097c8ba01091574adf5ce3ee4f162570cf73840c8e0000000000>, actual: <2c65ff0ae48afa81d8babb1093f4077370cad7ea0c04db865a74aa3be725910c840c8e0000000000> │ @@ -1,50 +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: 0407fbd4e9db2937e02a27c21e9258e2cb2ce3f89e297249e593e007379f192e │ -Signer #1 certificate SHA-1 digest: 94e2ad8f009366fe17dbdba11b016b3c98613f90 │ -Signer #1 certificate MD5 digest: fb82fc79f06badd59e3731ae01919fbb │ -Signer #1 key algorithm: RSA │ -Signer #1 key size (bits): 2048 │ -Signer #1 public key SHA-256 digest: ecbaf0144c3e7f99445349059d9ae1699b46ea89d3c214788ff8fed6cc976962 │ -Signer #1 public key SHA-1 digest: a8e9f0f920544da93b1882a74377e35cfe4eebdb │ -Signer #1 public key MD5 digest: 42301099bae0c0da6c11a50f3a2ab360 │ -WARNING: META-INF/androidx.navigation_navigation-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.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/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.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.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.navigation_navigation-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.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.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.navigation_navigation-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.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.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.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-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.navigation_navigation-common.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.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.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/INDEX.LIST 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.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.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 {} │ @@ -1299,8 +1299,8 @@ │ -rw---- 0.0 fat 360 b- defN 81-Jan-01 01:01 res/xml/standalone_badge_offset.xml │ -rw---- 0.0 fat 516 b- defN 81-Jan-01 01:01 res/drawable/abc_seekbar_tick_mark_material.xml │ -rw---- 0.0 fat 1789 b- stor 81-Jan-01 01:01 freenet/clients/http/staticfiles/themes/sky/warning-16.png │ -rw---- 0.0 fat 212 b- stor 81-Jan-01 01:01 res/drawable-hdpi-v4/notification_bg_normal.9.png │ -rw---- 2.0 fat 160279 b- defN 81-Jan-01 01:01 META-INF/58C29F86.SF │ -rw---- 2.0 fat 1344 b- defN 81-Jan-01 01:01 META-INF/58C29F86.RSA │ -rw---- 2.0 fat 160152 b- defN 81-Jan-01 01:01 META-INF/MANIFEST.MF │ -1304 files, 22330847 bytes uncompressed, 9075953 bytes compressed: 59.4% │ +1304 files, 22330847 bytes uncompressed, 9075950 bytes compressed: 59.4% ├── classes.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 : 281f6eb9 │ │ -signature : 2787...8b99 │ │ +checksum : 464d6cce │ │ +signature : e428...e442 │ │ file_size : 9174292 │ │ header_size : 112 │ │ link_size : 0 │ │ link_off : 0 (0x000000) │ │ string_ids_size : 69718 │ │ string_ids_off : 112 (0x000070) │ │ type_ids_size : 8553 │ │ @@ -1601670,18 +1601670,18 @@ │ │ 4567fa: 1a04 d57b |00eb: const-string v4, "Toadlet.no" // string@7bd5 │ │ 4567fe: 6e20 7dd6 4300 |00ed: invoke-virtual {v3, v4}, Lfreenet/l10n/BaseL10n;.getString:(Ljava/lang/String;)Ljava/lang/String; // method@d67d │ │ 456804: 0c03 |00f0: move-result-object v3 │ │ 456806: 4d03 0209 |00f1: aput-object v3, v2, v9 │ │ 45680a: 6e40 f5f1 e021 |00f3: invoke-virtual {v0, v14, v1, v2}, Lfreenet/support/HTMLNode;.addChild:(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)Lfreenet/support/HTMLNode; // method@f1f5 │ │ 456810: 6e10 faf1 0b00 |00f6: invoke-virtual {v11}, Lfreenet/support/HTMLNode;.generate:()Ljava/lang/String; // method@f1fa │ │ 456816: 0c00 |00f9: move-result-object v0 │ │ -456818: 0801 1d00 |00fa: move-object/from16 v1, v29 │ │ -45681c: 0803 2000 |00fc: move-object/from16 v3, v32 │ │ -456820: 0804 1100 |00fe: move-object/from16 v4, v17 │ │ -456824: 1302 c800 |0100: const/16 v2, #int 200 // #c8 │ │ +456818: 1302 c800 |00fa: const/16 v2, #int 200 // #c8 │ │ +45681c: 0801 1d00 |00fc: move-object/from16 v1, v29 │ │ +456820: 0803 2000 |00fe: move-object/from16 v3, v32 │ │ +456824: 0804 1100 |0100: move-object/from16 v4, v17 │ │ 456828: 6e50 e3c5 3142 |0102: invoke-virtual {v1, v3, v2, v4, v0}, Lfreenet/clients/http/ConfigToadlet;.writeHTMLReply:(Lfreenet/clients/http/ToadletContext;ILjava/lang/String;Ljava/lang/String;)V // method@c5e3 │ │ 45682e: 0e00 |0105: return-void │ │ 456830: 1a00 4bf4 |0106: const-string v0, "select-dir" // string@f44b │ │ 456834: 7220 4af3 0200 |0108: invoke-interface {v2, v0}, Lfreenet/support/api/HTTPRequest;.isPartSet:(Ljava/lang/String;)Z // method@f34a │ │ 45683a: 0a00 |010b: move-result v0 │ │ 45683c: 3900 8a03 |010c: if-nez v0, 0496 // +038a │ │ 456840: 7220 4af3 7200 |010e: invoke-interface {v2, v7}, Lfreenet/support/api/HTTPRequest;.isPartSet:(Ljava/lang/String;)Z // method@f34a ├── smali/freenet/clients/http/ConfigToadlet.smali │┄ Ordering differences only │ @@ -2193,22 +2193,22 @@ │ invoke-virtual {v0, v14, v1, v2}, Lfreenet/support/HTMLNode;->addChild(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)Lfreenet/support/HTMLNode; │ │ .line 235 │ invoke-virtual {v11}, Lfreenet/support/HTMLNode;->generate()Ljava/lang/String; │ │ move-result-object v0 │ │ + const/16 v2, 0xc8 │ + │ move-object/from16 v1, p0 │ │ move-object/from16 v3, p3 │ │ move-object/from16 v4, v17 │ │ - const/16 v2, 0xc8 │ - │ invoke-virtual {v1, v3, v2, v4, v0}, Lfreenet/clients/http/ConfigToadlet;->writeHTMLReply(Lfreenet/clients/http/ToadletContext;ILjava/lang/String;Ljava/lang/String;)V │ │ return-void │ │ :cond_3 │ const-string v0, "select-dir"