--- /home/fdroid/fdroiddata/tmp/org.freenetproject.mobile_302.apk +++ /home/fdroid/fdroiddata/tmp/sigcp_org.freenetproject.mobile_302.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: , actual: │┄ ERROR: APK Signature Scheme v3 signer #1: APK integrity check failed. VERITY_CHUNKED_SHA256 digest mismatch. Expected: <704a44b625020907883c69b2a6765ea992c9bdb5e9adf65e5b69c0138533564bb30d980000000000>, actual: <0988abbf6089f84542a31da98817f157fc95d3d7296553a01db18b3c2bcda7c4b30d980000000000> │ @@ -1,55 +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.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.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.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-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.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.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 {} │ @@ -1348,8 +1348,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 165961 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 165834 b- defN 81-Jan-01 01:01 META-INF/MANIFEST.MF │ -1353 files, 24546642 bytes uncompressed, 9720886 bytes compressed: 60.4% │ +1353 files, 24546642 bytes uncompressed, 9720878 bytes compressed: 60.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 : 55eae1d9 │ │ -signature : a471...f894 │ │ +checksum : 54dbdf29 │ │ +signature : d00b...c4ed │ │ file_size : 9049540 │ │ header_size : 112 │ │ link_size : 0 │ │ link_off : 0 (0x000000) │ │ string_ids_size : 68887 │ │ string_ids_off : 112 (0x000070) │ │ type_ids_size : 8629 │ │ @@ -1609428,18 +1609428,18 @@ │ │ 46a426: 1a04 6879 |00e9: const-string v4, "Toadlet.no" // string@7968 │ │ 46a42a: 6e20 b4dc 4300 |00eb: invoke-virtual {v3, v4}, Lfreenet/l10n/BaseL10n;.getString:(Ljava/lang/String;)Ljava/lang/String; // method@dcb4 │ │ 46a430: 0c03 |00ee: move-result-object v3 │ │ 46a432: 4d03 0209 |00ef: aput-object v3, v2, v9 │ │ 46a436: 6e40 24f2 e021 |00f1: invoke-virtual {v0, v14, v1, v2}, Lfreenet/support/HTMLNode;.addChild:(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)Lfreenet/support/HTMLNode; // method@f224 │ │ 46a43c: 6e10 29f2 0b00 |00f4: invoke-virtual {v11}, Lfreenet/support/HTMLNode;.generate:()Ljava/lang/String; // method@f229 │ │ 46a442: 0c00 |00f7: move-result-object v0 │ │ -46a444: 0801 1d00 |00f8: move-object/from16 v1, v29 │ │ -46a448: 0803 2000 |00fa: move-object/from16 v3, v32 │ │ -46a44c: 0804 1100 |00fc: move-object/from16 v4, v17 │ │ -46a450: 1302 c800 |00fe: const/16 v2, #int 200 // #c8 │ │ +46a444: 1302 c800 |00f8: const/16 v2, #int 200 // #c8 │ │ +46a448: 0801 1d00 |00fa: move-object/from16 v1, v29 │ │ +46a44c: 0803 2000 |00fc: move-object/from16 v3, v32 │ │ +46a450: 0804 1100 |00fe: move-object/from16 v4, v17 │ │ 46a454: 6e50 14cc 3142 |0100: invoke-virtual {v1, v3, v2, v4, v0}, Lfreenet/clients/http/ConfigToadlet;.writeHTMLReply:(Lfreenet/clients/http/ToadletContext;ILjava/lang/String;Ljava/lang/String;)V // method@cc14 │ │ 46a45a: 0e00 |0103: return-void │ │ 46a45c: 1a00 08f1 |0104: const-string v0, "select-dir" // string@f108 │ │ 46a460: 7220 5ff3 0200 |0106: invoke-interface {v2, v0}, Lfreenet/support/api/HTTPRequest;.isPartSet:(Ljava/lang/String;)Z // method@f35f │ │ 46a466: 0a00 |0109: move-result v0 │ │ 46a468: 3900 8a03 |010a: if-nez v0, 0494 // +038a │ │ 46a46c: 7220 5ff3 7200 |010c: invoke-interface {v2, v7}, Lfreenet/support/api/HTTPRequest;.isPartSet:(Ljava/lang/String;)Z // method@f35f │ │ @@ -2094827,16 +2094827,16 @@ │ │ 56bac2: 1213 |00a5: const/4 v3, #int 1 // #1 │ │ 56bac4: 1207 |00a6: const/4 v7, #int 0 // #0 │ │ 56bac6: 130e 1900 |00a7: const/16 v14, #int 25 // #19 │ │ 56baca: 289e |00a9: goto 0047 // -0062 │ │ 56bacc: 07d2 |00aa: move-object v2, v13 │ │ 56bace: 081c 0f00 |00ab: move-object/from16 v28, v15 │ │ 56bad2: 1250 |00ad: const/4 v0, #int 5 // #5 │ │ -56bad4: 0801 1c00 |00ae: move-object/from16 v1, v28 │ │ -56bad8: 1213 |00b0: const/4 v3, #int 1 // #1 │ │ +56bad4: 1213 |00ae: const/4 v3, #int 1 // #1 │ │ +56bad6: 0801 1c00 |00af: move-object/from16 v1, v28 │ │ 56bada: 7151 5af0 3230 |00b1: invoke-static {v2, v3, v0, v3, v1}, Lfreenet/node/simulator/RealNodeBusyNetworkTest;.makeKleinbergNetwork:([Lfreenet/node/Node;ZIZLfreenet/crypt/RandomSource;)V // method@f05a │ │ 56bae0: 1c00 321d |00b4: const-class v0, Lfreenet/node/simulator/RealNodeRoutingTest; // type@1d32 │ │ 56bae4: 1a04 0e12 |00b6: const-string v4, "Added random links" // string@120e │ │ 56bae8: 7120 7bf2 4000 |00b8: invoke-static {v0, v4}, Lfreenet/support/Logger;.normal:(Ljava/lang/Class;Ljava/lang/String;)V // method@f27b │ │ 56baee: 1304 1900 |00bb: const/16 v4, #int 25 // #19 │ │ 56baf2: 1207 |00bd: const/4 v7, #int 0 // #0 │ │ 56baf4: 3547 2900 |00be: if-ge v7, v4, 00e7 // +0029 │ ├── classes.jar │ │ ├── zipinfo -v {} │ │ │ @@ -182802,15 +182802,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): ac999c13 │ │ │ + 32-bit CRC value (hex): 29120afa │ │ │ compressed size: 6429 bytes │ │ │ uncompressed size: 6429 bytes │ │ │ length of filename: 52 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 │ │ ├── freenet/node/simulator/RealNodeBusyNetworkTest.class │ │ │ ├── procyon -ec {} │ │ │ │ @@ -82,16 +82,16 @@ │ │ │ │ final StringBuilder sb = new StringBuilder(); │ │ │ │ sb.append("Created node "); │ │ │ │ sb.append(j); │ │ │ │ Logger.normal((Class)clazz, sb.toString()); │ │ │ │ } │ │ │ │ final Node[] array3 = array2; │ │ │ │ final int n8 = 5; │ │ │ │ - Object o = dummyRandomSource; │ │ │ │ boolean b5 = true; │ │ │ │ + Object o = dummyRandomSource; │ │ │ │ makeKleinbergNetwork(array2, b5, n8, b5, (RandomSource)dummyRandomSource); │ │ │ │ Logger.normal((Class)RealNodeRoutingTest.class, "Added random links"); │ │ │ │ int k = 25; │ │ │ │ for (int l = 0; l < k; ++l) { │ │ │ │ array3[l].start(false); │ │ │ │ final PrintStream err = System.err; │ │ │ │ final StringBuilder sb2 = new StringBuilder(); ├── smali/freenet/node/simulator/RealNodeBusyNetworkTest.smali │┄ Ordering differences only │ @@ -251,18 +251,18 @@ │ :cond_1 │ move-object v2, v13 │ │ move-object/from16 p0, v15 │ │ const/4 v0, 0x5 │ │ - move-object/from16 v1, p0 │ - │ const/4 v3, 0x1 │ │ + move-object/from16 v1, p0 │ + │ .line 93 │ invoke-static {v2, v3, v0, v3, v1}, Lfreenet/node/simulator/RealNodeBusyNetworkTest;->makeKleinbergNetwork([Lfreenet/node/Node;ZIZLfreenet/crypt/RandomSource;)V │ │ .line 95 │ const-class v0, Lfreenet/node/simulator/RealNodeRoutingTest; │ │ const-string v4, "Added random links" ├── 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"