11.8 KB
/home/fdroid/fdroiddata/tmp/org.billthefarmer.print_105.apk vs.
/home/fdroid/fdroiddata/tmp/sigcp_org.billthefarmer.print_105.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: <0b7f29d005ebeaa9f5cb8827c650305083809da0b9229761d3c359a148cac664>, actual: <1c78d34b921abcacf1fd5298ec555aa21b5304e30391a8062f4653d2e66cc0b9> ERROR: APK Signature Scheme v3 signer #1: APK integrity check failed. VERITY_CHUNKED_SHA256 digest mismatch. Expected: <f092884629757c13a546ae2e25972d264665d934ef4282894c0539c0b3db7e4a9bb4010000000000>, actual: <ef618df3e1b2c870824477ec929ac09c9f0665581c17a0325dc52a56fab30bf69bb4010000000000>
    
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,·240523·bytes·uncompressed,·105685·bytes·compressed:··56.1%20 18·files,·240523·bytes·uncompressed,·105686·bytes·compressed:··56.1%
6.82 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············:·28de1c7f4 checksum············:·ae10197f
5 signature···········:·bf5f...48145 signature···········:·538c...595d
6 file_size···········:·1941526 file_size···········:·194152
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·····:·179510 string_ids_size·····:·1795
11 string_ids_off······:·112·(0x000070)11 string_ids_off······:·112·(0x000070)
12 type_ids_size·······:·41812 type_ids_size·······:·418
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·········:·16733818418641950 ······value·········:·1673483923753
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 2539, 15 lines modifiedOffset 2539, 15 lines modified
2539 010422:·6e10·c601·0300·························|003b:·invoke-virtual·{v3},·Ljava/util/regex/Matcher;.find:()Z·//·method@01c62539 010422:·6e10·c601·0300·························|003b:·invoke-virtual·{v3},·Ljava/util/regex/Matcher;.find:()Z·//·method@01c6
2540 010428:·0a04···································|003e:·move-result·v42540 010428:·0a04···································|003e:·move-result·v4
2541 01042a:·3804·1a00······························|003f:·if-eqz·v4,·0059·//·+001a2541 01042a:·3804·1a00······························|003f:·if-eqz·v4,·0059·//·+001a
2542 01042e:·6e10·cc01·0300·························|0041:·invoke-virtual·{v3},·Ljava/util/regex/Matcher;.start:()I·//·method@01cc2542 01042e:·6e10·cc01·0300·························|0041:·invoke-virtual·{v3},·Ljava/util/regex/Matcher;.start:()I·//·method@01cc
2543 010434:·0a04···································|0044:·move-result·v42543 010434:·0a04···································|0044:·move-result·v4
2544 010436:·6e10·c501·0300·························|0045:·invoke-virtual·{v3},·Ljava/util/regex/Matcher;.end:()I·//·method@01c52544 010436:·6e10·c501·0300·························|0045:·invoke-virtual·{v3},·Ljava/util/regex/Matcher;.end:()I·//·method@01c5
2545 01043c:·0a03···································|0048:·move-result·v32545 01043c:·0a03···································|0048:·move-result·v3
2546 01043e:·1805·c88b·549d·8501·0000···············|0049:·const-wide·v5,·#double·8.2676e-312·//·#000001859d548bc82546 01043e:·1805·2931·6aa3·8501·0000···············|0049:·const-wide·v5,·#double·8.26811e-312·//·#00000185a36a3129
2547 010448:·7120·5201·6500·························|004e:·invoke-static·{v5,·v6},·Ljava/lang/Long;.valueOf:(J)Ljava/lang/Long;·//·method@01522547 010448:·7120·5201·6500·························|004e:·invoke-static·{v5,·v6},·Ljava/lang/Long;.valueOf:(J)Ljava/lang/Long;·//·method@0152
2548 01044e:·0c05···································|0051:·move-result-object·v52548 01044e:·0c05···································|0051:·move-result-object·v5
2549 010450:·6e20·8201·5100·························|0052:·invoke-virtual·{v1,·v5},·Ljava/text/DateFormat;.format:(Ljava/lang/Object;)Ljava/lang/String;·//·method@01822549 010450:·6e20·8201·5100·························|0052:·invoke-virtual·{v1,·v5},·Ljava/text/DateFormat;.format:(Ljava/lang/Object;)Ljava/lang/String;·//·method@0182
2550 010456:·0c01···································|0055:·move-result-object·v12550 010456:·0c01···································|0055:·move-result-object·v1
2551 010458:·6e40·2100·4213·························|0056:·invoke-virtual·{v2,·v4,·v3,·v1},·Landroid/text/SpannableStringBuilder;.replace:(IILjava/lang/CharSequence;)Landroid/text/SpannableStringBuilder;·//·method@00212551 010458:·6e40·2100·4213·························|0056:·invoke-virtual·{v2,·v4,·v3,·v1},·Landroid/text/SpannableStringBuilder;.replace:(IILjava/lang/CharSequence;)Landroid/text/SpannableStringBuilder;·//·method@0021
2552 01045e:·6e20·0700·2000·························|0059:·invoke-virtual·{v0,·v2},·Landroid/app/AlertDialog$Builder;.setMessage:(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder;·//·method@00072552 01045e:·6e20·0700·2000·························|0059:·invoke-virtual·{v0,·v2},·Landroid/app/AlertDialog$Builder;.setMessage:(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder;·//·method@0007
2553 010464:·1401·0a00·0401·························|005c:·const·v1,·#float·2.42446e-38·//·#0104000a2553 010464:·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):·························587b9c9c229 ··32-bit·CRC·value·(hex):·························2bfe9319
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 335, 15 lines modifiedOffset 335, 15 lines modified
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:·····························deflated337 ··compression·method:·····························deflated
338 ··compression·sub-type·(deflation):···············normal338 ··compression·sub-type·(deflation):···············normal
339 ··file·security·status:···························not·encrypted339 ··file·security·status:···························not·encrypted
340 ··extended·local·header:··························no340 ··extended·local·header:··························no
341 ··file·last·modified·on·(DOS·date/time):··········1980·Jan·1·00:00:00341 ··file·last·modified·on·(DOS·date/time):··········1980·Jan·1·00:00:00
342 ··32-bit·CRC·value·(hex):·························bb8c0984342 ··32-bit·CRC·value·(hex):·························fcb75a4b
343 ··compressed·size:································4703·bytes343 ··compressed·size:································4703·bytes
344 ··uncompressed·size:······························10020·bytes344 ··uncompressed·size:······························10020·bytes
345 ··length·of·filename:·····························35·characters345 ··length·of·filename:·····························35·characters
346 ··length·of·extra·field:··························0·bytes346 ··length·of·extra·field:··························0·bytes
347 ··length·of·file·comment:·························0·characters347 ··length·of·file·comment:·························0·characters
348 ··disk·number·on·which·file·begins:···············disk·1348 ··disk·number·on·which·file·begins:···············disk·1
349 ··apparent·file·type:·····························binary349 ··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·=·1673381841864L;6 ····public·static·final·long·BUILT·=·1673483923753L;
7 ····public·static·final·boolean·DEBUG·=·false;7 ····public·static·final·boolean·DEBUG·=·false;
8 ····public·static·final·int·VERSION_CODE·=·105;8 ····public·static·final·int·VERSION_CODE·=·105;
9 ····public·static·final·String·VERSION_NAME·=·"1.05";9 ····public·static·final·String·VERSION_NAME·=·"1.05";
10 }10 }
1.14 KB
org/billthefarmer/print/Print.class
1.07 KB
procyon -ec {}
    
Offset 70, 15 lines modifiedOffset 70, 15 lines modified
70 ········final·SpannableStringBuilder·message·=·new·SpannableStringBuilder(this.getText(2131034117));70 ········final·SpannableStringBuilder·message·=·new·SpannableStringBuilder(this.getText(2131034117));
71 ········final·Matcher·matcher·=·Pattern.compile("%s").matcher((CharSequence)message);71 ········final·Matcher·matcher·=·Pattern.compile("%s").matcher((CharSequence)message);
72 ········if·(matcher.find())·{72 ········if·(matcher.find())·{
73 ············message.replace(matcher.start(),·matcher.end(),·(CharSequence)"1.05");73 ············message.replace(matcher.start(),·matcher.end(),·(CharSequence)"1.05");
74 ········}74 ········}
75 ········matcher.reset((CharSequence)message);75 ········matcher.reset((CharSequence)message);
76 ········if·(matcher.find())·{76 ········if·(matcher.find())·{
77 ············message.replace(matcher.start(),·matcher.end(),·(CharSequence)dateTimeInstance.format(Long.valueOf(1673381841864L)));77 ············message.replace(matcher.start(),·matcher.end(),·(CharSequence)dateTimeInstance.format(Long.valueOf(1673483923753L)));
78 ········}78 ········}
79 ········alertDialog$Builder.setMessage((CharSequence)message);79 ········alertDialog$Builder.setMessage((CharSequence)message);
80 ········alertDialog$Builder.setPositiveButton(17039370,·(DialogInterface$OnClickListener)null);80 ········alertDialog$Builder.setPositiveButton(17039370,·(DialogInterface$OnClickListener)null);
81 ········final·TextView·textView·=·(TextView)((Dialog)alertDialog$Builder.show()).findViewById(16908299);81 ········final·TextView·textView·=·(TextView)((Dialog)alertDialog$Builder.show()).findViewById(16908299);
82 ········if·(textView·!=·null)·{82 ········if·(textView·!=·null)·{
83 ············textView.setMovementMethod(LinkMovementMethod.getInstance());83 ············textView.setMovementMethod(LinkMovementMethod.getInstance());
84 ········}84 ········}
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,·0x1859d548bc8L139 ····const-wide·v5,·0x185a36a3129L
  
140 ····.line·453140 ····.line·453
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.05"·invoke-virtual·{v2,·v4,·v5,·v6},·Landroid/text/44 const-string·v6,·"1.05"·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·450·:cond_0·invoke-virtual·{v3,·v2},·Ljava/util/46 SpannableStringBuilder;·.line·450·: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 451·invoke-virtual·{v3},·Ljava/util/regex/Matcher;->find()Z·move-result·v4·if-48 451·invoke-virtual·{v3},·Ljava/util/regex/Matcher;->find()Z·move-result·v4·if-
49 eqz·v4,·:cond_1·.line·452·invoke-virtual·{v3},·Ljava/util/regex/Matcher;->start49 eqz·v4,·:cond_1·.line·452·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,·0x1859d548bc8L·.line·453·invoke-static·{v5,·v6},51 result·v3·const-wide·v5,·0x185a36a3129L·.line·453·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·452·invoke-virtual·{v2,·v4,·v3,·v1},54 String;·move-result-object·v1·.line·452·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·454·:cond_1·invoke-56 CharSequence;)Landroid/text/SpannableStringBuilder;·.line·454·: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·=·0x1859d548bc8L7 .field·public·static·final·BUILT:J·=·0x185a36a3129L
  
8 .field·public·static·final·DEBUG:Z·=·false8 .field·public·static·final·DEBUG:Z·=·false
  
9 .field·public·static·final·VERSION_CODE:I·=·0x699 .field·public·static·final·VERSION_CODE:I·=·0x69
  
10 .field·public·static·final·VERSION_NAME:Ljava/lang/String;·=·"1.05"10 .field·public·static·final·VERSION_NAME:Ljava/lang/String;·=·"1.05"