10.3 KB
/home/fdroid/fdroiddata/tmp/org.billthefarmer.gridle_116.apk vs.
/home/fdroid/fdroiddata/tmp/sigcp_org.billthefarmer.gridle_116.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: <80b81215e1031fcf303732f937e01e7eaa900928beb53ee0fcc65895303ebe9b>, actual: <7b7d67bab72e7c0d3382f93dfea98a288bacb3f2a21057caa5b41dd34d626164> ERROR: APK Signature Scheme v3 signer #1: APK integrity check failed. VERITY_CHUNKED_SHA256 digest mismatch. Expected: <f68b2a816c76bad15ac55e3eb2b7ae925e20e416d51bae5ff4bec8a1b901efbd7e9e190000000000>, actual: <29f604509ec7e4ab33967c00daae218f14170a689ce6e84bc05c68ffd6f3915d7e9e190000000000>
    
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 52, 8 lines modifiedOffset 52, 8 lines modified
52 -rw----·····0.0·fat·····1264·b-·defN·81-Jan-01·01:01·res/tx.xml52 -rw----·····0.0·fat·····1264·b-·defN·81-Jan-01·01:01·res/tx.xml
53 -rw----·····0.0·fat·····8628·b-·defN·81-Jan-01·01:01·res/w6.xml53 -rw----·····0.0·fat·····8628·b-·defN·81-Jan-01·01:01·res/w6.xml
54 -rw----·····0.0·fat·····2601·b-·stor·81-Jan-01·01:01·res/xM.png54 -rw----·····0.0·fat·····2601·b-·stor·81-Jan-01·01:01·res/xM.png
55 -rw----·····0.0·fat····14648·b-·stor·81-Jan-01·01:01·resources.arsc55 -rw----·····0.0·fat····14648·b-·stor·81-Jan-01·01:01·resources.arsc
56 -rw----·····2.0·fat·····5045·b-·defN·81-Jan-01·01:01·META-INF/668C4476.SF56 -rw----·····2.0·fat·····5045·b-·defN·81-Jan-01·01:01·META-INF/668C4476.SF
57 -rw----·····2.0·fat·····1334·b-·defN·81-Jan-01·01:01·META-INF/668C4476.RSA57 -rw----·····2.0·fat·····1334·b-·defN·81-Jan-01·01:01·META-INF/668C4476.RSA
58 -rw----·····2.0·fat·····4918·b-·defN·81-Jan-01·01:01·META-INF/MANIFEST.MF58 -rw----·····2.0·fat·····4918·b-·defN·81-Jan-01·01:01·META-INF/MANIFEST.MF
59 57·files,·5133638·bytes·uncompressed,·1669379·bytes·compressed:··67.5%59 57·files,·5133638·bytes·uncompressed,·1669380·bytes·compressed:··67.5%
6.49 KB
classes.dex
3.07 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············:·6fe721304 checksum············:·d756223d
5 signature···········:·ab05...1ee75 signature···········:·0a67...99f9
6 file_size···········:·20874606 file_size···········:·2087460
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·····:·1168810 string_ids_size·····:·11688
11 string_ids_off······:·112·(0x000070)11 string_ids_off······:·112·(0x000070)
12 type_ids_size·······:·143912 type_ids_size·······:·1439
Offset 84080, 15 lines modifiedOffset 84080, 15 lines modified
84080 ······type··········:·'Ljava/lang/String;'84080 ······type··········:·'Ljava/lang/String;'
84081 ······access········:·0x0019·(PUBLIC·STATIC·FINAL)84081 ······access········:·0x0019·(PUBLIC·STATIC·FINAL)
84082 ······value·········:·"release"84082 ······value·········:·"release"
84083 ····#2··············:·(in·Lorg/billthefarmer/gridle/BuildConfig;)84083 ····#2··············:·(in·Lorg/billthefarmer/gridle/BuildConfig;)
84084 ······name··········:·'BUILT'84084 ······name··········:·'BUILT'
84085 ······type··········:·'J'84085 ······type··········:·'J'
84086 ······access········:·0x0019·(PUBLIC·STATIC·FINAL)84086 ······access········:·0x0019·(PUBLIC·STATIC·FINAL)
84087 ······value·········:·169957567054884087 ······value·········:·1700967214817
84088 ····#3··············:·(in·Lorg/billthefarmer/gridle/BuildConfig;)84088 ····#3··············:·(in·Lorg/billthefarmer/gridle/BuildConfig;)
84089 ······name··········:·'DEBUG'84089 ······name··········:·'DEBUG'
84090 ······type··········:·'Z'84090 ······type··········:·'Z'
84091 ······access········:·0x0019·(PUBLIC·STATIC·FINAL)84091 ······access········:·0x0019·(PUBLIC·STATIC·FINAL)
84092 ······value·········:·false84092 ······value·········:·false
84093 ····#4··············:·(in·Lorg/billthefarmer/gridle/BuildConfig;)84093 ····#4··············:·(in·Lorg/billthefarmer/gridle/BuildConfig;)
84094 ······name··········:·'VERSION_CODE'84094 ······name··········:·'VERSION_CODE'
Offset 85669, 15 lines modifiedOffset 85669, 15 lines modified
85669 0e534e:·6e10·4d04·0300·························|0041:·invoke-virtual·{v3},·Ljava/util/regex/Matcher;.find:()Z·//·method@044d85669 0e534e:·6e10·4d04·0300·························|0041:·invoke-virtual·{v3},·Ljava/util/regex/Matcher;.find:()Z·//·method@044d
85670 0e5354:·0a04···································|0044:·move-result·v485670 0e5354:·0a04···································|0044:·move-result·v4
85671 0e5356:·3804·1a00······························|0045:·if-eqz·v4,·005f·//·+001a85671 0e5356:·3804·1a00······························|0045:·if-eqz·v4,·005f·//·+001a
85672 0e535a:·6e10·5804·0300·························|0047:·invoke-virtual·{v3},·Ljava/util/regex/Matcher;.start:()I·//·method@045885672 0e535a:·6e10·5804·0300·························|0047:·invoke-virtual·{v3},·Ljava/util/regex/Matcher;.start:()I·//·method@0458
85673 0e5360:·0a04···································|004a:·move-result·v485673 0e5360:·0a04···································|004a:·move-result·v4
85674 0e5362:·6e10·4b04·0300·························|004b:·invoke-virtual·{v3},·Ljava/util/regex/Matcher;.end:()I·//·method@044b85674 0e5362:·6e10·4b04·0300·························|004b:·invoke-virtual·{v3},·Ljava/util/regex/Matcher;.end:()I·//·method@044b
85675 0e5368:·0a03···································|004e:·move-result·v385675 0e5368:·0a03···································|004e:·move-result·v3
85676 0e536a:·1805·14a7·9ab6·8b01·0000···············|004f:·const-wide·v5,·#double·8.39702e-312·//·#0000018bb69aa71485676 0e536a:·1805·e1ee·8b09·8c01·0000···············|004f:·const-wide·v5,·#double·8.40389e-312·//·#0000018c098beee1
85677 0e5374:·7120·c901·6500·························|0054:·invoke-static·{v5,·v6},·Ljava/lang/Long;.valueOf:(J)Ljava/lang/Long;·//·method@01c985677 0e5374:·7120·c901·6500·························|0054:·invoke-static·{v5,·v6},·Ljava/lang/Long;.valueOf:(J)Ljava/lang/Long;·//·method@01c9
85678 0e537a:·0c05···································|0057:·move-result-object·v585678 0e537a:·0c05···································|0057:·move-result-object·v5
85679 0e537c:·6e20·2c03·5100·························|0058:·invoke-virtual·{v1,·v5},·Ljava/text/DateFormat;.format:(Ljava/lang/Object;)Ljava/lang/String;·//·method@032c85679 0e537c:·6e20·2c03·5100·························|0058:·invoke-virtual·{v1,·v5},·Ljava/text/DateFormat;.format:(Ljava/lang/Object;)Ljava/lang/String;·//·method@032c
85680 0e5382:·0c01···································|005b:·move-result-object·v185680 0e5382:·0c01···································|005b:·move-result-object·v1
85681 0e5384:·6e40·8c00·4213·························|005c:·invoke-virtual·{v2,·v4,·v3,·v1},·Landroid/text/SpannableStringBuilder;.replace:(IILjava/lang/CharSequence;)Landroid/text/SpannableStringBuilder;·//·method@008c85681 0e5384:·6e40·8c00·4213·························|005c:·invoke-virtual·{v2,·v4,·v3,·v1},·Landroid/text/SpannableStringBuilder;.replace:(IILjava/lang/CharSequence;)Landroid/text/SpannableStringBuilder;·//·method@008c
85682 0e538a:·6e20·0d00·2000·························|005f:·invoke-virtual·{v0,·v2},·Landroid/app/AlertDialog$Builder;.setMessage:(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder;·//·method@000d85682 0e538a:·6e20·0d00·2000·························|005f:·invoke-virtual·{v0,·v2},·Landroid/app/AlertDialog$Builder;.setMessage:(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder;·//·method@000d
85683 0e5390:·1401·0a00·0401·························|0062:·const·v1,·#float·2.42446e-38·//·#0104000a85683 0e5390:·1401·0a00·0401·························|0062:·const·v1,·#float·2.42446e-38·//·#0104000a
3.39 KB
classes.jar
1.56 KB
zipinfo {}
    
Offset 1, 8 lines modifiedOffset 1, 8 lines modified
1 Zip·file·size:·1557219·bytes,·number·of·entries:·10581 Zip·file·size:·1557220·bytes,·number·of·entries:·1058
2 ?rwxrwxr-x··2.0·unx······224·b-·stor·80-Jan-01·00:00·android/support/v4/content/FileProvider$PathStrategy.class2 ?rwxrwxr-x··2.0·unx······224·b-·stor·80-Jan-01·00:00·android/support/v4/content/FileProvider$PathStrategy.class
3 ?rwxrwxr-x··2.0·unx·····6708·b-·stor·80-Jan-01·00:00·android/support/v4/content/FileProvider.class3 ?rwxrwxr-x··2.0·unx·····6708·b-·stor·80-Jan-01·00:00·android/support/v4/content/FileProvider.class
4 ?rwxrwxr-x··2.0·unx······261·b-·stor·80-Jan-01·00:00·kotlin/ArrayIntrinsicsKt.class4 ?rwxrwxr-x··2.0·unx······261·b-·stor·80-Jan-01·00:00·kotlin/ArrayIntrinsicsKt.class
5 ?rwxrwxr-x··2.0·unx······114·b-·stor·80-Jan-01·00:00·kotlin/BuilderInference.class5 ?rwxrwxr-x··2.0·unx······114·b-·stor·80-Jan-01·00:00·kotlin/BuilderInference.class
6 ?rwxrwxr-x··2.0·unx······138·b-·stor·80-Jan-01·00:00·kotlin/CharCodeJVMKt.class6 ?rwxrwxr-x··2.0·unx······138·b-·stor·80-Jan-01·00:00·kotlin/CharCodeJVMKt.class
7 ?rwxrwxr-x··2.0·unx······507·b-·stor·80-Jan-01·00:00·kotlin/CharCodeKt.class7 ?rwxrwxr-x··2.0·unx······507·b-·stor·80-Jan-01·00:00·kotlin/CharCodeKt.class
8 ?rwxrwxr-x··2.0·unx······359·b-·stor·80-Jan-01·00:00·kotlin/CompareToKt.class8 ?rwxrwxr-x··2.0·unx······359·b-·stor·80-Jan-01·00:00·kotlin/CompareToKt.class
Offset 1053, 8 lines modifiedOffset 1053, 8 lines modified
1053 ?rwxrwxr-x··2.0·unx····16575·b-·defN·80-Jan-01·00:00·kotlin/text/StringsKt__StringsJVMKt.class1053 ?rwxrwxr-x··2.0·unx····16575·b-·defN·80-Jan-01·00:00·kotlin/text/StringsKt__StringsJVMKt.class
1054 ?rwxrwxr-x··2.0·unx····44830·b-·defN·80-Jan-01·00:00·kotlin/collections/CollectionsKt___CollectionsKt.class1054 ?rwxrwxr-x··2.0·unx····44830·b-·defN·80-Jan-01·00:00·kotlin/collections/CollectionsKt___CollectionsKt.class
1055 ?rwxrwxr-x··2.0·unx····28613·b-·defN·80-Jan-01·00:00·kotlin/text/StringsKt__StringsKt.class1055 ?rwxrwxr-x··2.0·unx····28613·b-·defN·80-Jan-01·00:00·kotlin/text/StringsKt__StringsKt.class
1056 ?rwxrwxr-x··2.0·unx······179·b-·stor·80-Jan-01·00:00·kotlin/collections/CollectionsKt.class1056 ?rwxrwxr-x··2.0·unx······179·b-·stor·80-Jan-01·00:00·kotlin/collections/CollectionsKt.class
1057 ?rwxrwxr-x··2.0·unx·····3058·b-·stor·80-Jan-01·00:00·kotlin/text/StringsKt___StringsJvmKt.class1057 ?rwxrwxr-x··2.0·unx·····3058·b-·stor·80-Jan-01·00:00·kotlin/text/StringsKt___StringsJvmKt.class
1058 ?rwxrwxr-x··2.0·unx····35909·b-·defN·80-Jan-01·00:00·kotlin/text/StringsKt___StringsKt.class1058 ?rwxrwxr-x··2.0·unx····35909·b-·defN·80-Jan-01·00:00·kotlin/text/StringsKt___StringsKt.class
1059 ?rwxrwxr-x··2.0·unx······153·b-·stor·80-Jan-01·00:00·kotlin/text/StringsKt.class1059 ?rwxrwxr-x··2.0·unx······153·b-·stor·80-Jan-01·00:00·kotlin/text/StringsKt.class
1060 1058·files,·1882211·bytes·uncompressed,·1381501·bytes·compressed:··26.6%1060 1058·files,·1882211·bytes·uncompressed,·1381502·bytes·compressed:··26.6%
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·=·1699575670548L;6 ····public·static·final·long·BUILT·=·1700967214817L;
7 ····public·static·final·boolean·DEBUG·=·false;7 ····public·static·final·boolean·DEBUG·=·false;
8 ····public·static·final·int·VERSION_CODE·=·116;8 ····public·static·final·int·VERSION_CODE·=·116;
9 ····public·static·final·String·VERSION_NAME·=·"1.16";9 ····public·static·final·String·VERSION_NAME·=·"1.16";
10 }10 }
1.22 KB
org/billthefarmer/gridle/Gridle.class
1.15 KB
procyon -ec {}
    
Offset 163, 15 lines modifiedOffset 163, 15 lines modified
163 ········final·SpannableStringBuilder·message·=·new·SpannableStringBuilder(this.getText(2131230754));163 ········final·SpannableStringBuilder·message·=·new·SpannableStringBuilder(this.getText(2131230754));
164 ········final·Matcher·matcher·=·Pattern.compile("%s").matcher((CharSequence)message);164 ········final·Matcher·matcher·=·Pattern.compile("%s").matcher((CharSequence)message);
165 ········if·(matcher.find())·{165 ········if·(matcher.find())·{
166 ············message.replace(matcher.start(),·matcher.end(),·(CharSequence)"1.16");166 ············message.replace(matcher.start(),·matcher.end(),·(CharSequence)"1.16");
167 ········}167 ········}
168 ········matcher.reset((CharSequence)message);168 ········matcher.reset((CharSequence)message);
169 ········if·(matcher.find())·{169 ········if·(matcher.find())·{
170 ············message.replace(matcher.start(),·matcher.end(),·(CharSequence)dateTimeInstance.format(Long.valueOf(1699575670548L)));170 ············message.replace(matcher.start(),·matcher.end(),·(CharSequence)dateTimeInstance.format(Long.valueOf(1700967214817L)));
171 ········}171 ········}
172 ········alertDialog$Builder.setMessage((CharSequence)message);172 ········alertDialog$Builder.setMessage((CharSequence)message);
173 ········alertDialog$Builder.setPositiveButton(17039370,·(DialogInterface$OnClickListener)null);173 ········alertDialog$Builder.setPositiveButton(17039370,·(DialogInterface$OnClickListener)null);
174 ········final·TextView·textView·=·(TextView)((Dialog)alertDialog$Builder.show()).findViewById(16908299);174 ········final·TextView·textView·=·(TextView)((Dialog)alertDialog$Builder.show()).findViewById(16908299);
175 ········if·(textView·!=·null)·{175 ········if·(textView·!=·null)·{
176 ············textView.setTextAppearance(alertDialog$Builder.getContext(),·16973894);176 ············textView.setTextAppearance(alertDialog$Builder.getContext(),·16973894);
177 ············textView.setMovementMethod(LinkMovementMethod.getInstance());177 ············textView.setMovementMethod(LinkMovementMethod.getInstance());
508 B
smali/org/billthefarmer/gridle/Gridle.smali
    
Offset 366, 15 lines modifiedOffset 366, 15 lines modified
  
366 ····move-result·v4366 ····move-result·v4
  
367 ····invoke-virtual·{v3},·Ljava/util/regex/Matcher;->end()I367 ····invoke-virtual·{v3},·Ljava/util/regex/Matcher;->end()I
  
368 ····move-result·v3368 ····move-result·v3
  
369 ····const-wide·v5,·0x18bb69aa714L369 ····const-wide·v5,·0x18c098beee1L
  
370 ····.line·1431370 ····.line·1431
371 ····invoke-static·{v5,·v6},·Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;371 ····invoke-static·{v5,·v6},·Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
  
372 ····move-result-object·v5372 ····move-result-object·v5
  
373 ····invoke-virtual·{v1,·v5},·Ljava/text/DateFormat;->format(Ljava/lang/Object;)Ljava/lang/String;373 ····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·=·0x18bb69aa714L7 .field·public·static·final·BUILT:J·=·0x18c098beee1L
  
8 .field·public·static·final·DEBUG:Z·=·false8 .field·public·static·final·DEBUG:Z·=·false
  
9 .field·public·static·final·VERSION_CODE:I·=·0x749 .field·public·static·final·VERSION_CODE:I·=·0x74
  
10 .field·public·static·final·VERSION_NAME:Ljava/lang/String;·=·"1.16"10 .field·public·static·final·VERSION_NAME:Ljava/lang/String;·=·"1.16"