11.8 KB
/home/fdroid/fdroiddata/tmp/org.billthefarmer.print_104.apk vs.
/home/fdroid/fdroiddata/tmp/sigcp_org.billthefarmer.print_104.apk
1.94 KB
/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: <d1e37fe9960a911d4d8d255b8a16c4f1ae2ff9d6ad844fff5addab0b77bdb596>, actual: <1288171b73b6d15be7aead77985318e8613243060112ec955ad5f3c604ccb425> ERROR: APK Signature Scheme v3 signer #1: APK integrity check failed. VERITY_CHUNKED_SHA256 digest mismatch. Expected: <f8b6a009170cd4e2927e9a18b6f0b005de17d366b1acb1badab2e9d4a7e5a5379ba4010000000000>, actual: <0a8853e4fbe7bebb69e797e984cec945acd6b66024981a6479c4013d4660625a9ba4010000000000>
    
Offset 1, 17 lines modifiedOffset 0, 0 lines modified
1 Verifies 
2 Verified·using·v1·scheme·(JAR·signing):·true 
3 Verified·using·v2·scheme·(APK·Signature·Scheme·v2):·true 
4 Verified·using·v3·scheme·(APK·Signature·Scheme·v3):·true 
5 Verified·using·v4·scheme·(APK·Signature·Scheme·v4):·false 
6 Verified·for·SourceStamp:·false 
7 Number·of·signers:·1 
8 Signer·#1·certificate·DN:·CN=FDroid,·OU=FDroid,·O=fdroid.org,·L=ORG,·ST=ORG,·C=UK 
9 Signer·#1·certificate·SHA-256·digest:·b6ece1ea0199f5c5fd8cec6d0934dc877c0d8314642e0da4739257cc53162428 
10 Signer·#1·certificate·SHA-1·digest:·ad0eec2a2959964eba962a35588290fed98706d8 
11 Signer·#1·certificate·MD5·digest:·d0c3f4c74c08f9d80f19162453cf9ef8 
12 Signer·#1·key·algorithm:·RSA 
13 Signer·#1·key·size·(bits):·2048 
14 Signer·#1·public·key·SHA-256·digest:·1224a1eaa9bf266614cbd46db4738a2f898e432f0ee6d0e3ea7f133b9af5ae1f 
15 Signer·#1·public·key·SHA-1·digest:·b84d2bf207e20d679d90f413fb4930f16f917c63 
16 Signer·#1·public·key·MD5·digest:·3d60ffeb9421e2496a9f2b7d5c5ce07a 
17 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/. 
668 B
zipinfo {}
    
Offset 13, 8 lines modifiedOffset 13, 8 lines modified
13 -rw----·····0.0·fat······419·b-·stor·81-Jan-01·01:01·res/eg.png13 -rw----·····0.0·fat······419·b-·stor·81-Jan-01·01:01·res/eg.png
14 -rw----·····0.0·fat······286·b-·stor·81-Jan-01·01:01·res/qJ.png14 -rw----·····0.0·fat······286·b-·stor·81-Jan-01·01:01·res/qJ.png
15 -rw----·····0.0·fat······688·b-·defN·81-Jan-01·01:01·res/w6.xml15 -rw----·····0.0·fat······688·b-·defN·81-Jan-01·01:01·res/w6.xml
16 -rw----·····0.0·fat·····2756·b-·stor·81-Jan-01·01:01·resources.arsc16 -rw----·····0.0·fat·····2756·b-·stor·81-Jan-01·01:01·resources.arsc
17 -rw----·····2.0·fat·····1500·b-·defN·81-Jan-01·01:01·META-INF/8DE54109.SF17 -rw----·····2.0·fat·····1500·b-·defN·81-Jan-01·01:01·META-INF/8DE54109.SF
18 -rw----·····2.0·fat·····1344·b-·defN·81-Jan-01·01:01·META-INF/8DE54109.RSA18 -rw----·····2.0·fat·····1344·b-·defN·81-Jan-01·01:01·META-INF/8DE54109.RSA
19 -rw----·····2.0·fat·····1373·b-·defN·81-Jan-01·01:01·META-INF/MANIFEST.MF19 -rw----·····2.0·fat·····1373·b-·defN·81-Jan-01·01:01·META-INF/MANIFEST.MF
20 18·files,·229202·bytes·uncompressed,·102128·bytes·compressed:··55.4%20 18·files,·229202·bytes·uncompressed,·102127·bytes·compressed:··55.4%
6.83 KB
classes.dex
3.06 KB
dexdump -a -d -f -h {}
Ignoring differences in offsets to keep diff size reasonable.
    
Offset 1, 12 lines modifiedOffset 1, 12 lines modified
1 DEX·version·'035'1 DEX·version·'035'
2 DEX·file·header:2 DEX·file·header:
3 magic···············:·'dex\n035\0'3 magic···············:·'dex\n035\0'
4 checksum············:·c82ad1144 checksum············:·0147d271
5 signature···········:·3f2b...be1b5 signature···········:·a35c...bafe
6 file_size···········:·1828886 file_size···········:·182888
7 header_size·········:·1127 header_size·········:·112
8 link_size···········:·08 link_size···········:·0
9 link_off············:·0·(0x000000)9 link_off············:·0·(0x000000)
10 string_ids_size·····:·172110 string_ids_size·····:·1721
11 string_ids_off······:·112·(0x000070)11 string_ids_off······:·112·(0x000070)
12 type_ids_size·······:·38512 type_ids_size·······:·385
Offset 1943, 15 lines modifiedOffset 1943, 15 lines modified
1943 ······type··········:·'Ljava/lang/String;'1943 ······type··········:·'Ljava/lang/String;'
1944 ······access········:·0x0019·(PUBLIC·STATIC·FINAL)1944 ······access········:·0x0019·(PUBLIC·STATIC·FINAL)
1945 ······value·········:·"release"1945 ······value·········:·"release"
1946 ····#2··············:·(in·Lorg/billthefarmer/print/BuildConfig;)1946 ····#2··············:·(in·Lorg/billthefarmer/print/BuildConfig;)
1947 ······name··········:·'BUILT'1947 ······name··········:·'BUILT'
1948 ······type··········:·'J'1948 ······type··········:·'J'
1949 ······access········:·0x0019·(PUBLIC·STATIC·FINAL)1949 ······access········:·0x0019·(PUBLIC·STATIC·FINAL)
1950 ······value·········:·16529426053391950 ······value·········:·1660395242911
1951 ····#3··············:·(in·Lorg/billthefarmer/print/BuildConfig;)1951 ····#3··············:·(in·Lorg/billthefarmer/print/BuildConfig;)
1952 ······name··········:·'DEBUG'1952 ······name··········:·'DEBUG'
1953 ······type··········:·'Z'1953 ······type··········:·'Z'
1954 ······access········:·0x0019·(PUBLIC·STATIC·FINAL)1954 ······access········:·0x0019·(PUBLIC·STATIC·FINAL)
1955 ······value·········:·false1955 ······value·········:·false
1956 ····#4··············:·(in·Lorg/billthefarmer/print/BuildConfig;)1956 ····#4··············:·(in·Lorg/billthefarmer/print/BuildConfig;)
1957 ······name··········:·'VERSION_CODE'1957 ······name··········:·'VERSION_CODE'
Offset 2552, 15 lines modifiedOffset 2552, 15 lines modified
2552 00fa1e:·6e10·c601·0300·························|003b:·invoke-virtual·{v3},·Ljava/util/regex/Matcher;.find:()Z·//·method@01c62552 00fa1e:·6e10·c601·0300·························|003b:·invoke-virtual·{v3},·Ljava/util/regex/Matcher;.find:()Z·//·method@01c6
2553 00fa24:·0a04···································|003e:·move-result·v42553 00fa24:·0a04···································|003e:·move-result·v4
2554 00fa26:·3804·1a00······························|003f:·if-eqz·v4,·0059·//·+001a2554 00fa26:·3804·1a00······························|003f:·if-eqz·v4,·0059·//·+001a
2555 00fa2a:·6e10·cc01·0300·························|0041:·invoke-virtual·{v3},·Ljava/util/regex/Matcher;.start:()I·//·method@01cc2555 00fa2a:·6e10·cc01·0300·························|0041:·invoke-virtual·{v3},·Ljava/util/regex/Matcher;.start:()I·//·method@01cc
2556 00fa30:·0a04···································|0044:·move-result·v42556 00fa30:·0a04···································|0044:·move-result·v4
2557 00fa32:·6e10·c501·0300·························|0045:·invoke-virtual·{v3},·Ljava/util/regex/Matcher;.end:()I·//·method@01c52557 00fa32:·6e10·c501·0300·························|0045:·invoke-virtual·{v3},·Ljava/util/regex/Matcher;.end:()I·//·method@01c5
2558 00fa38:·0a03···································|0048:·move-result·v32558 00fa38:·0a03···································|0048:·move-result·v3
2559 00fa3a:·1805·1b8c·0edb·8001·0000···············|0049:·const-wide·v5,·#double·8.16662e-312·//·#00000180db0e8c1b2559 00fa3a:·1805·9fc5·4497·8201·0000···············|0049:·const-wide·v5,·#double·8.20344e-312·//·#000001829744c59f
2560 00fa44:·7120·5201·6500·························|004e:·invoke-static·{v5,·v6},·Ljava/lang/Long;.valueOf:(J)Ljava/lang/Long;·//·method@01522560 00fa44:·7120·5201·6500·························|004e:·invoke-static·{v5,·v6},·Ljava/lang/Long;.valueOf:(J)Ljava/lang/Long;·//·method@0152
2561 00fa4a:·0c05···································|0051:·move-result-object·v52561 00fa4a:·0c05···································|0051:·move-result-object·v5
2562 00fa4c:·6e20·8101·5100·························|0052:·invoke-virtual·{v1,·v5},·Ljava/text/DateFormat;.format:(Ljava/lang/Object;)Ljava/lang/String;·//·method@01812562 00fa4c:·6e20·8101·5100·························|0052:·invoke-virtual·{v1,·v5},·Ljava/text/DateFormat;.format:(Ljava/lang/Object;)Ljava/lang/String;·//·method@0181
2563 00fa52:·0c01···································|0055:·move-result-object·v12563 00fa52:·0c01···································|0055:·move-result-object·v1
2564 00fa54:·6e40·2100·4213·························|0056:·invoke-virtual·{v2,·v4,·v3,·v1},·Landroid/text/SpannableStringBuilder;.replace:(IILjava/lang/CharSequence;)Landroid/text/SpannableStringBuilder;·//·method@00212564 00fa54:·6e40·2100·4213·························|0056:·invoke-virtual·{v2,·v4,·v3,·v1},·Landroid/text/SpannableStringBuilder;.replace:(IILjava/lang/CharSequence;)Landroid/text/SpannableStringBuilder;·//·method@0021
2565 00fa5a:·6e20·0700·2000·························|0059:·invoke-virtual·{v0,·v2},·Landroid/app/AlertDialog$Builder;.setMessage:(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder;·//·method@00072565 00fa5a:·6e20·0700·2000·························|0059:·invoke-virtual·{v0,·v2},·Landroid/app/AlertDialog$Builder;.setMessage:(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder;·//·method@0007
2566 00fa60:·1401·0a00·0401·························|005c:·const·v1,·#float·2.42446e-38·//·#0104000a2566 00fa60:·1401·0a00·0401·························|005c:·const·v1,·#float·2.42446e-38·//·#0104000a
3.74 KB
classes.jar
1.99 KB
zipinfo -v {}
    
Offset 222, 15 lines modifiedOffset 222, 15 lines modified
222 ··version·of·encoding·software:···················2.0222 ··version·of·encoding·software:···················2.0
223 ··minimum·file·system·compatibility·required:·····MS-DOS,·OS/2·or·NT·FAT223 ··minimum·file·system·compatibility·required:·····MS-DOS,·OS/2·or·NT·FAT
224 ··minimum·software·version·required·to·extract:···2.0224 ··minimum·software·version·required·to·extract:···2.0
225 ··compression·method:·····························none·(stored)225 ··compression·method:·····························none·(stored)
226 ··file·security·status:···························not·encrypted226 ··file·security·status:···························not·encrypted
227 ··extended·local·header:··························no227 ··extended·local·header:··························no
228 ··file·last·modified·on·(DOS·date/time):··········1980·Jan·1·00:00:00228 ··file·last·modified·on·(DOS·date/time):··········1980·Jan·1·00:00:00
229 ··32-bit·CRC·value·(hex):·························c6a646bb229 ··32-bit·CRC·value·(hex):·························f6210bde
230 ··compressed·size:································442·bytes230 ··compressed·size:································442·bytes
231 ··uncompressed·size:······························442·bytes231 ··uncompressed·size:······························442·bytes
232 ··length·of·filename:·····························41·characters232 ··length·of·filename:·····························41·characters
233 ··length·of·extra·field:··························0·bytes233 ··length·of·extra·field:··························0·bytes
234 ··length·of·file·comment:·························0·characters234 ··length·of·file·comment:·························0·characters
235 ··disk·number·on·which·file·begins:···············disk·1235 ··disk·number·on·which·file·begins:···············disk·1
236 ··apparent·file·type:·····························binary236 ··apparent·file·type:·····························binary
Offset 334, 15 lines modifiedOffset 334, 15 lines modified
334 ··version·of·encoding·software:···················2.0334 ··version·of·encoding·software:···················2.0
335 ··minimum·file·system·compatibility·required:·····MS-DOS,·OS/2·or·NT·FAT335 ··minimum·file·system·compatibility·required:·····MS-DOS,·OS/2·or·NT·FAT
336 ··minimum·software·version·required·to·extract:···2.0336 ··minimum·software·version·required·to·extract:···2.0
337 ··compression·method:·····························none·(stored)337 ··compression·method:·····························none·(stored)
338 ··file·security·status:···························not·encrypted338 ··file·security·status:···························not·encrypted
339 ··extended·local·header:··························no339 ··extended·local·header:··························no
340 ··file·last·modified·on·(DOS·date/time):··········1980·Jan·1·00:00:00340 ··file·last·modified·on·(DOS·date/time):··········1980·Jan·1·00:00:00
341 ··32-bit·CRC·value·(hex):·························da3e2ba5341 ··32-bit·CRC·value·(hex):·························a5ed7606
342 ··compressed·size:································9750·bytes342 ··compressed·size:································9750·bytes
343 ··uncompressed·size:······························9750·bytes343 ··uncompressed·size:······························9750·bytes
344 ··length·of·filename:·····························35·characters344 ··length·of·filename:·····························35·characters
345 ··length·of·extra·field:··························0·bytes345 ··length·of·extra·field:··························0·bytes
346 ··length·of·file·comment:·························0·characters346 ··length·of·file·comment:·························0·characters
347 ··disk·number·on·which·file·begins:···············disk·1347 ··disk·number·on·which·file·begins:···············disk·1
348 ··apparent·file·type:·····························binary348 ··apparent·file·type:·····························binary
596 B
org/billthefarmer/print/BuildConfig.class
514 B
procyon -ec {}
    
Offset 1, 12 lines modifiedOffset 1, 12 lines modified
  
1 package·org.billthefarmer.print;1 package·org.billthefarmer.print;
  
2 public·final·class·BuildConfig2 public·final·class·BuildConfig
3 {3 {
4 ····public·static·final·String·APPLICATION_ID·=·"org.billthefarmer.print";4 ····public·static·final·String·APPLICATION_ID·=·"org.billthefarmer.print";
5 ····public·static·final·String·BUILD_TYPE·=·"release";5 ····public·static·final·String·BUILD_TYPE·=·"release";
6 ····public·static·final·long·BUILT·=·1652942605339L;6 ····public·static·final·long·BUILT·=·1660395242911L;
7 ····public·static·final·boolean·DEBUG·=·false;7 ····public·static·final·boolean·DEBUG·=·false;
8 ····public·static·final·int·VERSION_CODE·=·104;8 ····public·static·final·int·VERSION_CODE·=·104;
9 ····public·static·final·String·VERSION_NAME·=·"1.04";9 ····public·static·final·String·VERSION_NAME·=·"1.04";
10 }10 }
1.14 KB
org/billthefarmer/print/Print.class
1.07 KB
procyon -ec {}
    
Offset 66, 15 lines modifiedOffset 66, 15 lines modified
66 ········final·SpannableStringBuilder·message·=·new·SpannableStringBuilder(this.getText(2131034117));66 ········final·SpannableStringBuilder·message·=·new·SpannableStringBuilder(this.getText(2131034117));
67 ········final·Matcher·matcher·=·Pattern.compile("%s").matcher((CharSequence)message);67 ········final·Matcher·matcher·=·Pattern.compile("%s").matcher((CharSequence)message);
68 ········if·(matcher.find())·{68 ········if·(matcher.find())·{
69 ············message.replace(matcher.start(),·matcher.end(),·(CharSequence)"1.04");69 ············message.replace(matcher.start(),·matcher.end(),·(CharSequence)"1.04");
70 ········}70 ········}
71 ········matcher.reset((CharSequence)message);71 ········matcher.reset((CharSequence)message);
72 ········if·(matcher.find())·{72 ········if·(matcher.find())·{
73 ············message.replace(matcher.start(),·matcher.end(),·(CharSequence)dateTimeInstance.format(Long.valueOf(1652942605339L)));73 ············message.replace(matcher.start(),·matcher.end(),·(CharSequence)dateTimeInstance.format(Long.valueOf(1660395242911L)));
74 ········}74 ········}
75 ········alertDialog$Builder.setMessage((CharSequence)message);75 ········alertDialog$Builder.setMessage((CharSequence)message);
76 ········alertDialog$Builder.setPositiveButton(17039370,·(DialogInterface$OnClickListener)null);76 ········alertDialog$Builder.setPositiveButton(17039370,·(DialogInterface$OnClickListener)null);
77 ········final·TextView·textView·=·(TextView)((Dialog)alertDialog$Builder.show()).findViewById(16908299);77 ········final·TextView·textView·=·(TextView)((Dialog)alertDialog$Builder.show()).findViewById(16908299);
78 ········if·(textView·!=·null)·{78 ········if·(textView·!=·null)·{
79 ············textView.setMovementMethod(LinkMovementMethod.getInstance());79 ············textView.setMovementMethod(LinkMovementMethod.getInstance());
80 ········}80 ········}
1.74 KB
smali/org/billthefarmer/print/Print.smali
    
Offset 136, 15 lines modifiedOffset 136, 15 lines modified
  
136 ····move-result·v4136 ····move-result·v4
  
137 ····invoke-virtual·{v3},·Ljava/util/regex/Matcher;->end()I137 ····invoke-virtual·{v3},·Ljava/util/regex/Matcher;->end()I
  
138 ····move-result·v3138 ····move-result·v3
  
139 ····const-wide·v5,·0x180db0e8c1bL139 ····const-wide·v5,·0x1829744c59fL
  
140 ····.line·450140 ····.line·450
141 ····invoke-static·{v5,·v6},·Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;141 ····invoke-static·{v5,·v6},·Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
  
142 ····move-result-object·v5142 ····move-result-object·v5
  
143 ····invoke-virtual·{v1,·v5},·Ljava/text/DateFormat;->format(Ljava/lang/Object;)Ljava/lang/String;143 ····invoke-virtual·{v1,·v5},·Ljava/text/DateFormat;->format(Ljava/lang/Object;)Ljava/lang/String;
1.25 KB
html2text {}
    
Offset 44, 15 lines modifiedOffset 44, 15 lines modified
44 const-string·v6,·"1.04"·invoke-virtual·{v2,·v4,·v5,·v6},·Landroid/text/44 const-string·v6,·"1.04"·invoke-virtual·{v2,·v4,·v5,·v6},·Landroid/text/
45 SpannableStringBuilder;->replace(IILjava/lang/CharSequence;)Landroid/text/45 SpannableStringBuilder;->replace(IILjava/lang/CharSequence;)Landroid/text/
46 SpannableStringBuilder;·.line·447·:cond_0·invoke-virtual·{v3,·v2},·Ljava/util/46 SpannableStringBuilder;·.line·447·:cond_0·invoke-virtual·{v3,·v2},·Ljava/util/
47 regex/Matcher;->reset(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;·.line47 regex/Matcher;->reset(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;·.line
48 448·invoke-virtual·{v3},·Ljava/util/regex/Matcher;->find()Z·move-result·v4·if-48 448·invoke-virtual·{v3},·Ljava/util/regex/Matcher;->find()Z·move-result·v4·if-
49 eqz·v4,·:cond_1·.line·449·invoke-virtual·{v3},·Ljava/util/regex/Matcher;->start49 eqz·v4,·:cond_1·.line·449·invoke-virtual·{v3},·Ljava/util/regex/Matcher;->start
50 ()I·move-result·v4·invoke-virtual·{v3},·Ljava/util/regex/Matcher;->end()I·move-50 ()I·move-result·v4·invoke-virtual·{v3},·Ljava/util/regex/Matcher;->end()I·move-
51 result·v3·const-wide·v5,·0x180db0e8c1bL·.line·450·invoke-static·{v5,·v6},51 result·v3·const-wide·v5,·0x1829744c59fL·.line·450·invoke-static·{v5,·v6},
52 Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;·move-result-object·v5·invoke-52 Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;·move-result-object·v5·invoke-
53 virtual·{v1,·v5},·Ljava/text/DateFormat;->format(Ljava/lang/Object;)Ljava/lang/53 virtual·{v1,·v5},·Ljava/text/DateFormat;->format(Ljava/lang/Object;)Ljava/lang/
54 String;·move-result-object·v1·.line·449·invoke-virtual·{v2,·v4,·v3,·v1},54 String;·move-result-object·v1·.line·449·invoke-virtual·{v2,·v4,·v3,·v1},
55 Landroid/text/SpannableStringBuilder;->replace(IILjava/lang/55 Landroid/text/SpannableStringBuilder;->replace(IILjava/lang/
56 CharSequence;)Landroid/text/SpannableStringBuilder;·.line·451·:cond_1·invoke-56 CharSequence;)Landroid/text/SpannableStringBuilder;·.line·451·:cond_1·invoke-
57 virtual·{v0,·v2},·Landroid/app/AlertDialog$Builder;->setMessage(Ljava/lang/57 virtual·{v0,·v2},·Landroid/app/AlertDialog$Builder;->setMessage(Ljava/lang/
58 CharSequence;)Landroid/app/AlertDialog$Builder;·const·v1,·0x104000a·const/4·v2,58 CharSequence;)Landroid/app/AlertDialog$Builder;·const·v1,·0x104000a·const/4·v2,
574 B
smali/org/billthefarmer/print/BuildConfig.smali
    
Offset 4, 15 lines modifiedOffset 4, 15 lines modified
  
  
4 #·static·fields4 #·static·fields
5 .field·public·static·final·APPLICATION_ID:Ljava/lang/String;·=·"org.billthefarmer.print"5 .field·public·static·final·APPLICATION_ID:Ljava/lang/String;·=·"org.billthefarmer.print"
  
6 .field·public·static·final·BUILD_TYPE:Ljava/lang/String;·=·"release"6 .field·public·static·final·BUILD_TYPE:Ljava/lang/String;·=·"release"
  
7 .field·public·static·final·BUILT:J·=·0x180db0e8c1bL7 .field·public·static·final·BUILT:J·=·0x1829744c59fL
  
8 .field·public·static·final·DEBUG:Z·=·false8 .field·public·static·final·DEBUG:Z·=·false
  
9 .field·public·static·final·VERSION_CODE:I·=·0x689 .field·public·static·final·VERSION_CODE:I·=·0x68
  
10 .field·public·static·final·VERSION_NAME:Ljava/lang/String;·=·"1.04"10 .field·public·static·final·VERSION_NAME:Ljava/lang/String;·=·"1.04"