--- /home/fdroid/fdroiddata/tmp/de.freehamburger_2.apk +++ /home/fdroid/fdroiddata/tmp/sigcp_de.freehamburger_2.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: <0b1002aaad465313076e69aeb1c53a6b0c84bd73fc1ea47c61386f737d7c32cf>, actual: │┄ ERROR: APK Signature Scheme v3 signer #1: APK integrity check failed. VERITY_CHUNKED_SHA256 digest mismatch. Expected: , actual: │ @@ -1,52 +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: b753becb180b904f4c111ada662d98017f3c5c6bc0d8aed4ad3e9396e2eb012f │ -Signer #1 certificate SHA-1 digest: cb919f770f6411ff7374ab131e43ed35e09f8c08 │ -Signer #1 certificate MD5 digest: b049c5788d192e8768a83785b6350a0d │ -Signer #1 key algorithm: RSA │ -Signer #1 key size (bits): 2048 │ -Signer #1 public key SHA-256 digest: 7453c0052ef892c92c303627f24761276ffedb5e53393370cb283aacb13f583a │ -Signer #1 public key SHA-1 digest: ced0d7691f81601413de4afe581175c218815881 │ -Signer #1 public key MD5 digest: c44d26939273b23bc78cb4d51e0cd57e │ -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.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.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.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.exifinterface_exifinterface.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.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-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-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.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.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.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.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.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.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/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/kotlin-stdlib-common.kotlin_module 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/kotlin-stdlib.kotlin_module 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/okhttp.kotlin_module 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/okio.kotlin_module not protected by signature. Unauthorized modifications to this JAR entry will not be detected. Delete or move the entry outside of META-INF/. ├── zipinfo {} │ @@ -1097,8 +1097,8 @@ │ -rw---- 2.0 fat 104 bx defN 80-Jan-01 00:00 res/xml/standalone_badge_gravity_bottom_start.xml │ -rw---- 2.0 fat 104 bx defN 80-Jan-01 00:00 res/xml/standalone_badge_gravity_top_start.xml │ -rw---- 2.0 fat 104 bx defN 80-Jan-01 00:00 res/xml/standalone_badge_offset.xml │ -rw---- 1.0 fat 431712 bx stor 80-000-00 00:00 resources.arsc │ -rw---- 2.0 fat 129187 b- defN 80-000-00 00:00 META-INF/BB700294.SF │ -rw---- 2.0 fat 1342 b- defN 80-000-00 00:00 META-INF/BB700294.RSA │ -rw---- 2.0 fat 129122 b- defN 80-000-00 00:00 META-INF/MANIFEST.MF │ -1102 files, 12972088 bytes uncompressed, 5848355 bytes compressed: 54.9% │ +1102 files, 12972088 bytes uncompressed, 5848356 bytes compressed: 54.9% ├── classes.dex │ ├── dexdump -a -d -f -h {} │ │┄ error from `dexdump -a -d -f -h {}`: │ │┄ dexdump W 05-20 03:34:47 537594 537594 dex_file_verifier.cc:3397] Method Ld/b/m/a/b;.b is abstract, but the declaring class is neither abstract nor an interface in dex file /tmp/diffoscope_d5b6l9f3_tmp/tmpgrgjj2n__apk/classes.dex │ │┄ dexdump W 05-20 03:34:47 537594 537594 dex_file_verifier.cc:3397] Method Ld/g/f/j;.a is abstract, but the declaring class is neither abstract nor an interface in dex file /tmp/diffoscope_d5b6l9f3_tmp/tmpgrgjj2n__apk/classes.dex │ │┄ dexdump W 05-20 03:34:47 537594 537594 dex_file_verifier.cc:3397] Method Ld/g/f/j;.b is abstract, but the declaring class is neither abstract nor an interface in dex file /tmp/diffoscope_d5b6l9f3_tmp/tmpgrgjj2n__apk/classes.dex │ │┄ dexdump W 05-20 03:34:47 537594 537594 dex_file_verifier.cc:3397] Method Ld/g/l/u$c;.a is abstract, but the declaring class is neither abstract nor an interface in dex file /tmp/diffoscope_d5b6l9f3_tmp/tmpgrgjj2n__apk/classes.dex │ │┄ dexdump W 05-20 03:34:47 537594 537594 dex_file_verifier.cc:3397] Method Ld/g/l/u$c;.c is abstract, but the declaring class is neither abstract nor an interface in dex file /tmp/diffoscope_d5b6l9f3_tmp/tmpgrgjj2n__apk/classes.dex │ │┄ dexdump W 05-20 03:34:47 537594 537594 dex_file_verifier.cc:3397] Method Ld/l/d/m;.a is abstract, but the declaring class is neither abstract nor an interface in dex file /tmp/diffoscope_d5b6l9f3_tmp/tmpgrgjj2n__apk/classes.dex │ │┄ dexdump W 05-20 03:34:47 537594 537594 dex_file_verifier.cc:3397] Method Ld/u/b0;.a is abstract, but the declaring class is neither abstract nor an interface in dex file /tmp/diffoscope_d5b6l9f3_tmp/tmpgrgjj2n__apk/classes.dex │ │┄ dexdump W 05-20 03:34:47 537594 537594 dex_file_verifier.cc:3397] Method Ld/u/b0;.b is abstract, but the declaring class is neither abstract nor an interface in dex file /tmp/diffoscope_d5b6l9f3_tmp/tmpgrgjj2n__apk/classes.dex │ │┄ dexdump W 05-20 03:34:47 537594 537594 dex_file_verifier.cc:3397] Method Ld/u/b0;.c is abstract, but the declaring class is neither abstract nor an interface in dex file /tmp/diffoscope_d5b6l9f3_tmp/tmpgrgjj2n__apk/classes.dex │ │┄ dexdump W 05-20 03:34:47 537594 537594 dex_file_verifier.cc:3397] Method Ld/u/b0;.e is abstract, but the declaring class is neither abstract nor an interface in dex file /tmp/diffoscope_d5b6l9f3_tmp/tmpgrgjj2n__apk/classes.dex │ │┄ dexdump W 05-20 03:34:47 537594 537594 dex_file_verifier.cc:3397] Method Ld/u/b0;.g is abstract, but the declaring class is neither abstract nor an interface in dex file /tmp/diffoscope_d5b6l9f3_tmp/tmpgrgjj2n__apk/classes.dex │ │┄ dexdump W 05-20 03:34:47 537594 537594 dex_file_verifier.cc:3397] Method Ld/u/b0;.h is abstract, but the declaring class is neither abstract nor an interface in dex file /tmp/diffoscope_d5b6l9f3_tmp/tmpgrgjj2n__apk/classes.dex │ │┄ dexdump W 05-20 03:34:47 537594 537594 dex_file_verifier.cc:3397] Method Le/b/a/b/g0/d;.a is abstract, but the declaring class is neither abstract nor an interface in dex file /tmp/diffoscope_d5b6l9f3_tmp/tmpgrgjj2n__apk/classes.dex │ │┄ dexdump W 05-20 03:34:47 537594 537594 dex_file_verifier.cc:3397] Method Le/b/a/b/z/f;.d is abstract, but the declaring class is neither abstract nor an interface in dex file /tmp/diffoscope_d5b6l9f3_tmp/tmpgrgjj2n__apk/classes.dex │ │┄ dexdump W 05-20 03:34:47 537594 537594 dex_file_verifier.cc:3397] Method Le/b/a/b/z/f;.f is abstract, but the declaring class is neither abstract nor an interface in dex file /tmp/diffoscope_d5b6l9f3_tmp/tmpgrgjj2n__apk/classes.dex │ │┄ dexdump W 05-20 03:34:47 537594 537594 dex_file_verifier.cc:3397] Method Le/b/a/b/z/f;.i is abstract, but the declaring class is neither abstract nor an interface in dex file /tmp/diffoscope_d5b6l9f3_tmp/tmpgrgjj2n__apk/classes.dex │ │┄ dexdump W 05-20 03:34:47 537594 537594 dex_file_verifier.cc:3397] Method Le/b/a/b/z/f;.j is abstract, but the declaring class is neither abstract nor an interface in dex file /tmp/diffoscope_d5b6l9f3_tmp/tmpgrgjj2n__apk/classes.dex │ │┄ dexdump W 05-20 03:34:47 537594 537594 dex_file_verifier.cc:3397] Method Le/b/a/b/z/f;.k is abstract, but the declaring class is neither abstract nor an interface in dex file /tmp/diffoscope_d5b6l9f3_tmp/tmpgrgjj2n__apk/classes.dex │ │┄ dexdump W 05-20 03:34:47 537594 537594 dex_file_verifier.cc:3397] Method Le/b/a/b/z/f;.l is abstract, but the declaring class is neither abstract nor an interface in dex file /tmp/diffoscope_d5b6l9f3_tmp/tmpgrgjj2n__apk/classes.dex │ │┄ dexdump W 05-20 03:34:47 537594 537594 dex_file_verifier.cc:3397] Method Le/b/a/b/z/f;.o is abstract, but the declaring class is neither abstract nor an interface in dex file /tmp/diffoscope_d5b6l9f3_tmp/tmpgrgjj2n__apk/classes.dex │ │┄ dexdump W 05-20 03:34:47 537594 537594 dex_file_verifier.cc:3397] Method Le/b/a/b/z/f;.q is abstract, but the declaring class is neither abstract nor an interface in dex file /tmp/diffoscope_d5b6l9f3_tmp/tmpgrgjj2n__apk/classes.dex │ │┄ dexdump W 05-20 03:34:47 537594 537594 dex_file_verifier.cc:3397] Method Le/b/a/b/z/f;.s is abstract, but the declaring class is neither abstract nor an interface in dex file /tmp/diffoscope_d5b6l9f3_tmp/tmpgrgjj2n__apk/classes.dex │ │┄ dexdump W 05-20 03:34:47 537594 537594 dex_file_verifier.cc:3397] Method Le/b/a/b/z/f;.v is abstract, but the declaring class is neither abstract nor an interface in dex file /tmp/diffoscope_d5b6l9f3_tmp/tmpgrgjj2n__apk/classes.dex │ │┄ dexdump W 05-20 03:34:47 537594 537594 dex_file_verifier.cc:3397] Method Ld/g/f/k/c;.c is abstract, but the declaring class is neither abstract nor an interface in dex file /tmp/diffoscope_d5b6l9f3_tmp/tmpgrgjj2n__apk/classes.dex │ │┄ dexdump W 05-20 03:34:47 537594 537594 dex_file_verifier.cc:3397] Method Ld/g/f/k/c;.setTintList is abstract, but the declaring class is neither abstract nor an interface in dex file /tmp/diffoscope_d5b6l9f3_tmp/tmpgrgjj2n__apk/classes.dex │ │┄ Ignoring differences in offsets to keep diff size reasonable. │ │ @@ -1,12 +1,12 @@ │ │ DEX version '035' │ │ DEX file header: │ │ magic : 'dex\n035\0' │ │ -checksum : 0d7f4fb6 │ │ -signature : e598...1a8b │ │ +checksum : 5e9e4956 │ │ +signature : 2012...53dc │ │ file_size : 3401308 │ │ header_size : 112 │ │ link_size : 0 │ │ link_off : 0 (0x000000) │ │ string_ids_size : 23020 │ │ string_ids_off : 112 (0x000070) │ │ type_ids_size : 4649 │ │ @@ -853558,15 +853558,15 @@ │ │ 1ec9ae: 6e20 c106 8600 |01b7: invoke-virtual {v6, v8}, Landroid/text/SpannableStringBuilder;.append:(Ljava/lang/CharSequence;)Landroid/text/SpannableStringBuilder; // method@06c1 │ │ 1ec9b4: 0c09 |01ba: move-result-object v9 │ │ 1ec9b6: 140a 4a00 127f |01bb: const v10, #float 1.94069e+38 // #7f12004a │ │ 1ec9bc: 234b f411 |01be: new-array v11, v4, [Ljava/lang/Object; // type@11f4 │ │ 1ec9c0: 7100 9754 0000 |01c0: invoke-static {}, Ljava/text/DateFormat;.getDateTimeInstance:()Ljava/text/DateFormat; // method@5497 │ │ 1ec9c6: 0c0c |01c3: move-result-object v12 │ │ 1ec9c8: 220d 530f |01c4: new-instance v13, Ljava/util/Date; // type@0f53 │ │ -1ec9cc: 180e 41ab 38d7 7601 0000 |01c6: const-wide v14, #double 7.9541e-312 // #00000176d738ab41 │ │ +1ec9cc: 180e a100 0b14 7801 0000 |01c6: const-wide v14, #double 7.98037e-312 // #00000178140b00a1 │ │ 1ec9d6: 7030 4755 ed0f |01cb: invoke-direct {v13, v14, v15}, Ljava/util/Date;.:(J)V // method@5547 │ │ 1ec9dc: 6e20 9454 dc00 |01ce: invoke-virtual {v12, v13}, Ljava/text/DateFormat;.format:(Ljava/util/Date;)Ljava/lang/String; // method@5494 │ │ 1ec9e2: 0c0c |01d1: move-result-object v12 │ │ 1ec9e4: 120d |01d2: const/4 v13, #int 0 // #0 │ │ 1ec9e6: 4d0c 0b0d |01d3: aput-object v12, v11, v13 │ │ 1ec9ea: 6e30 8b00 a00b |01d5: invoke-virtual {v0, v10, v11}, Landroid/app/Activity;.getString:(I[Ljava/lang/Object;)Ljava/lang/String; // method@008b │ │ 1ec9f0: 0c0a |01d8: move-result-object v10 │ ├── classes.jar │ │ ├── zipinfo -v {} │ │ │ @@ -94721,15 +94721,15 @@ │ │ │ minimum file system compatibility required: MS-DOS, OS/2 or NT FAT │ │ │ minimum software version required to extract: 2.0 │ │ │ compression method: deflated │ │ │ compression sub-type (deflation): normal │ │ │ 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): 819ef29e │ │ │ + 32-bit CRC value (hex): 0d8964bd │ │ │ compressed size: 20279 bytes │ │ │ uncompressed size: 41148 bytes │ │ │ length of filename: 35 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 │ │ ├── de/freehamburger/MainActivity.class │ │ │ ├── procyon -ec {} │ │ │ │ @@ -2186,15 +2186,15 @@ │ │ │ │ final SpannableString spannableString2 = new SpannableString((CharSequence)"1.0.1"); │ │ │ │ spannableString2.setSpan((Object)new RelativeSizeSpan(0.75f), 0, spannableString2.length(), n7); │ │ │ │ append.append((CharSequence)spannableString).append(' ').append((CharSequence)spannableString2); │ │ │ │ final String s3 = "\n\n"; │ │ │ │ final SpannableStringBuilder append2 = append.append((CharSequence)s3); │ │ │ │ final int n8 = 2131886154; │ │ │ │ final Object[] array2 = new Object[a]; │ │ │ │ - array2[0] = DateFormat.getDateTimeInstance().format(new Date(1609928584001L)); │ │ │ │ + array2[0] = DateFormat.getDateTimeInstance().format(new Date(1615243968673L)); │ │ │ │ append2.append((CharSequence)((Activity)this).getString(n8, array2)); │ │ │ │ append.append((CharSequence)s3).append((CharSequence)((Activity)this).getString(2131886155)); │ │ │ │ final i$a i$a2 = new i$a((Context)this, 2131951624); │ │ │ │ i$a2.a(2131886120); │ │ │ │ i$a2.a.h = (CharSequence)append; │ │ │ │ final i$a setPositiveButton = i$a2.setPositiveButton(n5, (DialogInterface$OnClickListener)f.a.l.c); │ │ │ │ final int n9 = 2131886284; ├── smali/de/freehamburger/MainActivity.smali │ @@ -5163,15 +5163,15 @@ │ │ invoke-static {}, Ljava/text/DateFormat;->getDateTimeInstance()Ljava/text/DateFormat; │ │ move-result-object v12 │ │ new-instance v13, Ljava/util/Date; │ │ - const-wide v14, 0x176d738ab41L │ + const-wide v14, 0x178140b00a1L │ │ invoke-direct {v13, v14, v15}, Ljava/util/Date;->(J)V │ │ invoke-virtual {v12, v13}, Ljava/text/DateFormat;->format(Ljava/util/Date;)Ljava/lang/String; │ │ move-result-object v12