10.7 KB
/home/fdroid/fdroiddata/tmp/org.billthefarmer.gridle_109.apk vs.
/home/fdroid/fdroiddata/tmp/sigcp_org.billthefarmer.gridle_109.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: <b6939fd47064d52732d722b6a4d4a862ffcecc23ed6f10bebbbb681efda8884b>, actual: <478562f3434cc53ca321aa29775bee78eab2201f7bf43495bf6e11a98597d5ea> ERROR: APK Signature Scheme v3 signer #1: APK integrity check failed. VERITY_CHUNKED_SHA256 digest mismatch. Expected: <ccefa21420a6787d248f0a3a19c3f87e89228375df7b5a6c2b0b94e3f227a199edcc0f0000000000>, actual: <81e05057d3cd474d575b56f3985d09785a0b5814701febc93ebd94bcb1a3c490edcc0f0000000000>
    
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:·8e5302fe841d1e8b79ad6d3c447c1f4b0d106ab2cc8ec0131c4b0b2ce1dffd11 
10 Signer·#1·certificate·SHA-1·digest:·eb035a5d90c8ae6ee7da81dfe340625aa307e798 
11 Signer·#1·certificate·MD5·digest:·3e19cc65143b013fdcc16b61f59fe9c6 
12 Signer·#1·key·algorithm:·RSA 
13 Signer·#1·key·size·(bits):·2048 
14 Signer·#1·public·key·SHA-256·digest:·4e1df85533fc04cc3005d5715e5bd861f2ce01d7503d4544e60baf47dcd92b15 
15 Signer·#1·public·key·SHA-1·digest:·16fbda7d3c5311e56186ce81155608751963f8cb 
16 Signer·#1·public·key·MD5·digest:·c5457c5b94ebee9ebe1f6013ba32f610 
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/. 
672 B
zipinfo {}
    
Offset 49, 8 lines modifiedOffset 49, 8 lines modified
49 -rw----·····0.0·fat·····7920·b-·defN·81-Jan-01·01:01·res/w6.xml49 -rw----·····0.0·fat·····7920·b-·defN·81-Jan-01·01:01·res/w6.xml
50 -rw----·····0.0·fat······371·b-·stor·81-Jan-01·01:01·res/wA.png50 -rw----·····0.0·fat······371·b-·stor·81-Jan-01·01:01·res/wA.png
51 -rw----·····0.0·fat·····2601·b-·stor·81-Jan-01·01:01·res/xM.png51 -rw----·····0.0·fat·····2601·b-·stor·81-Jan-01·01:01·res/xM.png
52 -rw----·····0.0·fat····11188·b-·stor·81-Jan-01·01:01·resources.arsc52 -rw----·····0.0·fat····11188·b-·stor·81-Jan-01·01:01·resources.arsc
53 -rw----·····2.0·fat·····3578·b-·defN·81-Jan-01·01:01·META-INF/668C4476.SF53 -rw----·····2.0·fat·····3578·b-·defN·81-Jan-01·01:01·META-INF/668C4476.SF
54 -rw----·····2.0·fat·····1326·b-·defN·81-Jan-01·01:01·META-INF/668C4476.RSA54 -rw----·····2.0·fat·····1326·b-·defN·81-Jan-01·01:01·META-INF/668C4476.RSA
55 -rw----·····2.0·fat·····3470·b-·defN·81-Jan-01·01:01·META-INF/MANIFEST.MF55 -rw----·····2.0·fat·····3470·b-·defN·81-Jan-01·01:01·META-INF/MANIFEST.MF
56 54·files,·3018768·bytes·uncompressed,·1029367·bytes·compressed:··65.9%56 54·files,·3018768·bytes·uncompressed,·1029369·bytes·compressed:··65.9%
6.91 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············:·920358444 checksum············:·e03c5658
5 signature···········:·1e81...f8075 signature···········:·8f73...3625
6 file_size···········:·624246 file_size···········:·62424
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·····:·91510 string_ids_size·····:·915
11 string_ids_off······:·112·(0x000070)11 string_ids_off······:·112·(0x000070)
12 type_ids_size·······:·17112 type_ids_size·······:·171
Offset 856, 15 lines modifiedOffset 856, 15 lines modified
856 ······type··········:·'Ljava/lang/String;'856 ······type··········:·'Ljava/lang/String;'
857 ······access········:·0x0019·(PUBLIC·STATIC·FINAL)857 ······access········:·0x0019·(PUBLIC·STATIC·FINAL)
858 ······value·········:·"release"858 ······value·········:·"release"
859 ····#2··············:·(in·Lorg/billthefarmer/gridle/BuildConfig;)859 ····#2··············:·(in·Lorg/billthefarmer/gridle/BuildConfig;)
860 ······name··········:·'BUILT'860 ······name··········:·'BUILT'
861 ······type··········:·'J'861 ······type··········:·'J'
862 ······access········:·0x0019·(PUBLIC·STATIC·FINAL)862 ······access········:·0x0019·(PUBLIC·STATIC·FINAL)
863 ······value·········:·1674824368098863 ······value·········:·1676524401907
864 ····#3··············:·(in·Lorg/billthefarmer/gridle/BuildConfig;)864 ····#3··············:·(in·Lorg/billthefarmer/gridle/BuildConfig;)
865 ······name··········:·'DEBUG'865 ······name··········:·'DEBUG'
866 ······type··········:·'Z'866 ······type··········:·'Z'
867 ······access········:·0x0019·(PUBLIC·STATIC·FINAL)867 ······access········:·0x0019·(PUBLIC·STATIC·FINAL)
868 ······value·········:·false868 ······value·········:·false
869 ····#4··············:·(in·Lorg/billthefarmer/gridle/BuildConfig;)869 ····#4··············:·(in·Lorg/billthefarmer/gridle/BuildConfig;)
870 ······name··········:·'VERSION_CODE'870 ······name··········:·'VERSION_CODE'
Offset 2081, 15 lines modifiedOffset 2081, 15 lines modified
2081 00520a:·6e10·0501·0300·························|0041:·invoke-virtual·{v3},·Ljava/util/regex/Matcher;.find:()Z·//·method@01052081 00520a:·6e10·0501·0300·························|0041:·invoke-virtual·{v3},·Ljava/util/regex/Matcher;.find:()Z·//·method@0105
2082 005210:·0a04···································|0044:·move-result·v42082 005210:·0a04···································|0044:·move-result·v4
2083 005212:·3804·1a00······························|0045:·if-eqz·v4,·005f·//·+001a2083 005212:·3804·1a00······························|0045:·if-eqz·v4,·005f·//·+001a
2084 005216:·6e10·0701·0300·························|0047:·invoke-virtual·{v3},·Ljava/util/regex/Matcher;.start:()I·//·method@01072084 005216:·6e10·0701·0300·························|0047:·invoke-virtual·{v3},·Ljava/util/regex/Matcher;.start:()I·//·method@0107
2085 00521c:·0a04···································|004a:·move-result·v42085 00521c:·0a04···································|004a:·move-result·v4
2086 00521e:·6e10·0401·0300·························|004b:·invoke-virtual·{v3},·Ljava/util/regex/Matcher;.end:()I·//·method@01042086 00521e:·6e10·0401·0300·························|004b:·invoke-virtual·{v3},·Ljava/util/regex/Matcher;.end:()I·//·method@0104
2087 005224:·0a03···································|004e:·move-result·v32087 005224:·0a03···································|004e:·move-result·v3
2088 005226:·1805·e2bf·4ff3·8501·0000···············|004f:·const-wide·v5,·#double·8.27473e-312·//·#00000185f34fbfe22088 005226:·1805·f334·a458·8601·0000···············|004f:·const-wide·v5,·#double·8.28313e-312·//·#0000018658a434f3
2089 005230:·7120·c300·6500·························|0054:·invoke-static·{v5,·v6},·Ljava/lang/Long;.valueOf:(J)Ljava/lang/Long;·//·method@00c32089 005230:·7120·c300·6500·························|0054:·invoke-static·{v5,·v6},·Ljava/lang/Long;.valueOf:(J)Ljava/lang/Long;·//·method@00c3
2090 005236:·0c05···································|0057:·move-result-object·v52090 005236:·0c05···································|0057:·move-result-object·v5
2091 005238:·6e20·e500·5100·························|0058:·invoke-virtual·{v1,·v5},·Ljava/text/DateFormat;.format:(Ljava/lang/Object;)Ljava/lang/String;·//·method@00e52091 005238:·6e20·e500·5100·························|0058:·invoke-virtual·{v1,·v5},·Ljava/text/DateFormat;.format:(Ljava/lang/Object;)Ljava/lang/String;·//·method@00e5
2092 00523e:·0c01···································|005b:·move-result-object·v12092 00523e:·0c01···································|005b:·move-result-object·v1
2093 005240:·6e40·6a00·4213·························|005c:·invoke-virtual·{v2,·v4,·v3,·v1},·Landroid/text/SpannableStringBuilder;.replace:(IILjava/lang/CharSequence;)Landroid/text/SpannableStringBuilder;·//·method@006a2093 005240:·6e40·6a00·4213·························|005c:·invoke-virtual·{v2,·v4,·v3,·v1},·Landroid/text/SpannableStringBuilder;.replace:(IILjava/lang/CharSequence;)Landroid/text/SpannableStringBuilder;·//·method@006a
2094 005246:·6e20·0d00·2000·························|005f:·invoke-virtual·{v0,·v2},·Landroid/app/AlertDialog$Builder;.setMessage:(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder;·//·method@000d2094 005246:·6e20·0d00·2000·························|005f:·invoke-virtual·{v0,·v2},·Landroid/app/AlertDialog$Builder;.setMessage:(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder;·//·method@000d
2095 00524c:·1401·0a00·0401·························|0062:·const·v1,·#float·2.42446e-38·//·#0104000a2095 00524c:·1401·0a00·0401·························|0062:·const·v1,·#float·2.42446e-38·//·#0104000a
3.82 KB
classes.jar
1.99 KB
zipinfo -v {}
    
Offset 82, 15 lines modifiedOffset 82, 15 lines modified
82 ··version·of·encoding·software:···················2.082 ··version·of·encoding·software:···················2.0
83 ··minimum·file·system·compatibility·required:·····MS-DOS,·OS/2·or·NT·FAT83 ··minimum·file·system·compatibility·required:·····MS-DOS,·OS/2·or·NT·FAT
84 ··minimum·software·version·required·to·extract:···2.084 ··minimum·software·version·required·to·extract:···2.0
85 ··compression·method:·····························none·(stored)85 ··compression·method:·····························none·(stored)
86 ··file·security·status:···························not·encrypted86 ··file·security·status:···························not·encrypted
87 ··extended·local·header:··························no87 ··extended·local·header:··························no
88 ··file·last·modified·on·(DOS·date/time):··········1980·Jan·1·00:00:0088 ··file·last·modified·on·(DOS·date/time):··········1980·Jan·1·00:00:00
89 ··32-bit·CRC·value·(hex):·························528384db89 ··32-bit·CRC·value·(hex):·························3f709f7f
90 ··compressed·size:································444·bytes90 ··compressed·size:································444·bytes
91 ··uncompressed·size:······························444·bytes91 ··uncompressed·size:······························444·bytes
92 ··length·of·filename:·····························42·characters92 ··length·of·filename:·····························42·characters
93 ··length·of·extra·field:··························0·bytes93 ··length·of·extra·field:··························0·bytes
94 ··length·of·file·comment:·························0·characters94 ··length·of·file·comment:·························0·characters
95 ··disk·number·on·which·file·begins:···············disk·195 ··disk·number·on·which·file·begins:···············disk·1
96 ··apparent·file·type:·····························binary96 ··apparent·file·type:·····························binary
Offset 363, 15 lines modifiedOffset 363, 15 lines modified
363 ··minimum·file·system·compatibility·required:·····MS-DOS,·OS/2·or·NT·FAT363 ··minimum·file·system·compatibility·required:·····MS-DOS,·OS/2·or·NT·FAT
364 ··minimum·software·version·required·to·extract:···2.0364 ··minimum·software·version·required·to·extract:···2.0
365 ··compression·method:·····························deflated365 ··compression·method:·····························deflated
366 ··compression·sub-type·(deflation):···············normal366 ··compression·sub-type·(deflation):···············normal
367 ··file·security·status:···························not·encrypted367 ··file·security·status:···························not·encrypted
368 ··extended·local·header:··························no368 ··extended·local·header:··························no
369 ··file·last·modified·on·(DOS·date/time):··········1980·Jan·1·00:00:00369 ··file·last·modified·on·(DOS·date/time):··········1980·Jan·1·00:00:00
370 ··32-bit·CRC·value·(hex):·························4c71e929370 ··32-bit·CRC·value·(hex):·························838cf8ad
371 ··compressed·size:································10579·bytes371 ··compressed·size:································10579·bytes
372 ··uncompressed·size:······························22089·bytes372 ··uncompressed·size:······························22089·bytes
373 ··length·of·filename:·····························37·characters373 ··length·of·filename:·····························37·characters
374 ··length·of·extra·field:··························0·bytes374 ··length·of·extra·field:··························0·bytes
375 ··length·of·file·comment:·························0·characters375 ··length·of·file·comment:·························0·characters
376 ··disk·number·on·which·file·begins:···············disk·1376 ··disk·number·on·which·file·begins:···············disk·1
377 ··apparent·file·type:·····························binary377 ··apparent·file·type:·····························binary
600 B
org/billthefarmer/gridle/BuildConfig.class
516 B
procyon -ec {}
    
Offset 1, 12 lines modifiedOffset 1, 12 lines modified
  
1 package·org.billthefarmer.gridle;1 package·org.billthefarmer.gridle;
  
2 public·final·class·BuildConfig2 public·final·class·BuildConfig
3 {3 {
4 ····public·static·final·String·APPLICATION_ID·=·"org.billthefarmer.gridle";4 ····public·static·final·String·APPLICATION_ID·=·"org.billthefarmer.gridle";
5 ····public·static·final·String·BUILD_TYPE·=·"release";5 ····public·static·final·String·BUILD_TYPE·=·"release";
6 ····public·static·final·long·BUILT·=·1674824368098L;6 ····public·static·final·long·BUILT·=·1676524401907L;
7 ····public·static·final·boolean·DEBUG·=·false;7 ····public·static·final·boolean·DEBUG·=·false;
8 ····public·static·final·int·VERSION_CODE·=·109;8 ····public·static·final·int·VERSION_CODE·=·109;
9 ····public·static·final·String·VERSION_NAME·=·"1.09";9 ····public·static·final·String·VERSION_NAME·=·"1.09";
10 }10 }
1.22 KB
org/billthefarmer/gridle/Gridle.class
1.15 KB
procyon -ec {}
    
Offset 182, 15 lines modifiedOffset 182, 15 lines modified
182 ········final·SpannableStringBuilder·message·=·new·SpannableStringBuilder(this.getText(2131230751));182 ········final·SpannableStringBuilder·message·=·new·SpannableStringBuilder(this.getText(2131230751));
183 ········final·Matcher·matcher·=·Pattern.compile("%s").matcher((CharSequence)message);183 ········final·Matcher·matcher·=·Pattern.compile("%s").matcher((CharSequence)message);
184 ········if·(matcher.find())·{184 ········if·(matcher.find())·{
185 ············message.replace(matcher.start(),·matcher.end(),·(CharSequence)"1.09");185 ············message.replace(matcher.start(),·matcher.end(),·(CharSequence)"1.09");
186 ········}186 ········}
187 ········matcher.reset((CharSequence)message);187 ········matcher.reset((CharSequence)message);
188 ········if·(matcher.find())·{188 ········if·(matcher.find())·{
189 ············message.replace(matcher.start(),·matcher.end(),·(CharSequence)dateTimeInstance.format(Long.valueOf(1674824368098L)));189 ············message.replace(matcher.start(),·matcher.end(),·(CharSequence)dateTimeInstance.format(Long.valueOf(1676524401907L)));
190 ········}190 ········}
191 ········alertDialog$Builder.setMessage((CharSequence)message);191 ········alertDialog$Builder.setMessage((CharSequence)message);
192 ········alertDialog$Builder.setPositiveButton(17039370,·(DialogInterface$OnClickListener)null);192 ········alertDialog$Builder.setPositiveButton(17039370,·(DialogInterface$OnClickListener)null);
193 ········final·TextView·textView·=·(TextView)((Dialog)alertDialog$Builder.show()).findViewById(16908299);193 ········final·TextView·textView·=·(TextView)((Dialog)alertDialog$Builder.show()).findViewById(16908299);
194 ········if·(textView·!=·null)·{194 ········if·(textView·!=·null)·{
195 ············textView.setTextAppearance(alertDialog$Builder.getContext(),·16973894);195 ············textView.setTextAppearance(alertDialog$Builder.getContext(),·16973894);
196 ············textView.setMovementMethod(LinkMovementMethod.getInstance());196 ············textView.setMovementMethod(LinkMovementMethod.getInstance());
508 B
smali/org/billthefarmer/gridle/Gridle.smali
    
Offset 401, 15 lines modifiedOffset 401, 15 lines modified
  
401 ····move-result·v4401 ····move-result·v4
  
402 ····invoke-virtual·{v3},·Ljava/util/regex/Matcher;->end()I402 ····invoke-virtual·{v3},·Ljava/util/regex/Matcher;->end()I
  
403 ····move-result·v3403 ····move-result·v3
  
404 ····const-wide·v5,·0x185f34fbfe2L404 ····const-wide·v5,·0x18658a434f3L
  
405 ····.line·1257405 ····.line·1257
406 ····invoke-static·{v5,·v6},·Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;406 ····invoke-static·{v5,·v6},·Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
  
407 ····move-result-object·v5407 ····move-result-object·v5
  
408 ····invoke-virtual·{v1,·v5},·Ljava/text/DateFormat;->format(Ljava/lang/Object;)Ljava/lang/String;408 ····invoke-virtual·{v1,·v5},·Ljava/text/DateFormat;->format(Ljava/lang/Object;)Ljava/lang/String;
577 B
smali/org/billthefarmer/gridle/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.gridle"5 .field·public·static·final·APPLICATION_ID:Ljava/lang/String;·=·"org.billthefarmer.gridle"
  
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·=·0x185f34fbfe2L7 .field·public·static·final·BUILT:J·=·0x18658a434f3L
  
8 .field·public·static·final·DEBUG:Z·=·false8 .field·public·static·final·DEBUG:Z·=·false
  
9 .field·public·static·final·VERSION_CODE:I·=·0x6d9 .field·public·static·final·VERSION_CODE:I·=·0x6d
  
10 .field·public·static·final·VERSION_NAME:Ljava/lang/String;·=·"1.09"10 .field·public·static·final·VERSION_NAME:Ljava/lang/String;·=·"1.09"