10.3 KB
/home/fdroid/fdroiddata/tmp/org.billthefarmer.gridle_114.apk vs.
/home/fdroid/fdroiddata/tmp/sigcp_org.billthefarmer.gridle_114.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: <a2601c85a348989d5209d5129ea6b9b6247eccd7f38cc5e3c009f2dae14dd629>, actual: <1a28f1befa2d114e8d06b4397baebfec017f117d298db748f4c48a8da399f522> ERROR: APK Signature Scheme v3 signer #1: APK integrity check failed. VERITY_CHUNKED_SHA256 digest mismatch. Expected: <0b6d996fb25268c1be02d367b1828fd17921c5a2ee50734c691504825a3f4fb91ec1190000000000>, actual: <f76e996fc265fb497b7ef048f2f0939b42e2ca076b41f9396ed412af9a1649c71ec1190000000000>
    
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 64, 8 lines modifiedOffset 64, 8 lines modified
64 -rw----·····0.0·fat·····1264·b-·defN·81-Jan-01·01:01·res/tx.xml64 -rw----·····0.0·fat·····1264·b-·defN·81-Jan-01·01:01·res/tx.xml
65 -rw----·····0.0·fat·····8628·b-·defN·81-Jan-01·01:01·res/w6.xml65 -rw----·····0.0·fat·····8628·b-·defN·81-Jan-01·01:01·res/w6.xml
66 -rw----·····0.0·fat·····2601·b-·stor·81-Jan-01·01:01·res/xM.png66 -rw----·····0.0·fat·····2601·b-·stor·81-Jan-01·01:01·res/xM.png
67 -rw----·····0.0·fat····15044·b-·stor·81-Jan-01·01:01·resources.arsc67 -rw----·····0.0·fat····15044·b-·stor·81-Jan-01·01:01·resources.arsc
68 -rw----·····2.0·fat·····6029·b-·defN·81-Jan-01·01:01·META-INF/668C4476.SF68 -rw----·····2.0·fat·····6029·b-·defN·81-Jan-01·01:01·META-INF/668C4476.SF
69 -rw----·····2.0·fat·····1334·b-·defN·81-Jan-01·01:01·META-INF/668C4476.RSA69 -rw----·····2.0·fat·····1334·b-·defN·81-Jan-01·01:01·META-INF/668C4476.RSA
70 -rw----·····2.0·fat·····5902·b-·defN·81-Jan-01·01:01·META-INF/MANIFEST.MF70 -rw----·····2.0·fat·····5902·b-·defN·81-Jan-01·01:01·META-INF/MANIFEST.MF
71 69·files,·5139959·bytes·uncompressed,·1676911·bytes·compressed:··67.4%71 69·files,·5139959·bytes·uncompressed,·1676910·bytes·compressed:··67.4%
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············:·d2a98fc34 checksum············:·d6628da7
5 signature···········:·6727...fcab5 signature···········:·ab05...ca4b
6 file_size···········:·20852926 file_size···········:·2085292
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·····:·1166710 string_ids_size·····:·11667
11 string_ids_off······:·112·(0x000070)11 string_ids_off······:·112·(0x000070)
12 type_ids_size·······:·143212 type_ids_size·······:·1432
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·········:·169685191786284087 ······value·········:·1696958582558
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 85560, 15 lines modifiedOffset 85560, 15 lines modified
85560 0e505e:·6e10·4204·0300·························|0041:·invoke-virtual·{v3},·Ljava/util/regex/Matcher;.find:()Z·//·method@044285560 0e505e:·6e10·4204·0300·························|0041:·invoke-virtual·{v3},·Ljava/util/regex/Matcher;.find:()Z·//·method@0442
85561 0e5064:·0a04···································|0044:·move-result·v485561 0e5064:·0a04···································|0044:·move-result·v4
85562 0e5066:·3804·1a00······························|0045:·if-eqz·v4,·005f·//·+001a85562 0e5066:·3804·1a00······························|0045:·if-eqz·v4,·005f·//·+001a
85563 0e506a:·6e10·4d04·0300·························|0047:·invoke-virtual·{v3},·Ljava/util/regex/Matcher;.start:()I·//·method@044d85563 0e506a:·6e10·4d04·0300·························|0047:·invoke-virtual·{v3},·Ljava/util/regex/Matcher;.start:()I·//·method@044d
85564 0e5070:·0a04···································|004a:·move-result·v485564 0e5070:·0a04···································|004a:·move-result·v4
85565 0e5072:·6e10·4004·0300·························|004b:·invoke-virtual·{v3},·Ljava/util/regex/Matcher;.end:()I·//·method@044085565 0e5072:·6e10·4004·0300·························|004b:·invoke-virtual·{v3},·Ljava/util/regex/Matcher;.end:()I·//·method@0440
85566 0e5078:·0a03···································|004e:·move-result·v385566 0e5078:·0a03···································|004e:·move-result·v3
85567 0e507a:·1805·267c·4114·8b01·0000···············|004f:·const-wide·v5,·#double·8.38356e-312·//·#0000018b14417c2685567 0e507a:·1805·1e0f·9d1a·8b01·0000···············|004f:·const-wide·v5,·#double·8.38409e-312·//·#0000018b1a9d0f1e
85568 0e5084:·7120·be01·6500·························|0054:·invoke-static·{v5,·v6},·Ljava/lang/Long;.valueOf:(J)Ljava/lang/Long;·//·method@01be85568 0e5084:·7120·be01·6500·························|0054:·invoke-static·{v5,·v6},·Ljava/lang/Long;.valueOf:(J)Ljava/lang/Long;·//·method@01be
85569 0e508a:·0c05···································|0057:·move-result-object·v585569 0e508a:·0c05···································|0057:·move-result-object·v5
85570 0e508c:·6e20·2103·5100·························|0058:·invoke-virtual·{v1,·v5},·Ljava/text/DateFormat;.format:(Ljava/lang/Object;)Ljava/lang/String;·//·method@032185570 0e508c:·6e20·2103·5100·························|0058:·invoke-virtual·{v1,·v5},·Ljava/text/DateFormat;.format:(Ljava/lang/Object;)Ljava/lang/String;·//·method@0321
85571 0e5092:·0c01···································|005b:·move-result-object·v185571 0e5092:·0c01···································|005b:·move-result-object·v1
85572 0e5094:·6e40·8b00·4213·························|005c:·invoke-virtual·{v2,·v4,·v3,·v1},·Landroid/text/SpannableStringBuilder;.replace:(IILjava/lang/CharSequence;)Landroid/text/SpannableStringBuilder;·//·method@008b85572 0e5094:·6e40·8b00·4213·························|005c:·invoke-virtual·{v2,·v4,·v3,·v1},·Landroid/text/SpannableStringBuilder;.replace:(IILjava/lang/CharSequence;)Landroid/text/SpannableStringBuilder;·//·method@008b
85573 0e509a:·6e20·0d00·2000·························|005f:·invoke-virtual·{v0,·v2},·Landroid/app/AlertDialog$Builder;.setMessage:(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder;·//·method@000d85573 0e509a:·6e20·0d00·2000·························|005f:·invoke-virtual·{v0,·v2},·Landroid/app/AlertDialog$Builder;.setMessage:(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder;·//·method@000d
85574 0e50a0:·1401·0a00·0401·························|0062:·const·v1,·#float·2.42446e-38·//·#0104000a85574 0e50a0:·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:·1553802·bytes,·number·of·entries:·10561 Zip·file·size:·1553800·bytes,·number·of·entries:·1056
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 1051, 8 lines modifiedOffset 1051, 8 lines modified
1051 ?rwxrwxr-x··2.0·unx····16575·b-·defN·80-Jan-01·00:00·kotlin/text/StringsKt__StringsJVMKt.class1051 ?rwxrwxr-x··2.0·unx····16575·b-·defN·80-Jan-01·00:00·kotlin/text/StringsKt__StringsJVMKt.class
1052 ?rwxrwxr-x··2.0·unx····44830·b-·defN·80-Jan-01·00:00·kotlin/collections/CollectionsKt___CollectionsKt.class1052 ?rwxrwxr-x··2.0·unx····44830·b-·defN·80-Jan-01·00:00·kotlin/collections/CollectionsKt___CollectionsKt.class
1053 ?rwxrwxr-x··2.0·unx····28613·b-·defN·80-Jan-01·00:00·kotlin/text/StringsKt__StringsKt.class1053 ?rwxrwxr-x··2.0·unx····28613·b-·defN·80-Jan-01·00:00·kotlin/text/StringsKt__StringsKt.class
1054 ?rwxrwxr-x··2.0·unx······179·b-·stor·80-Jan-01·00:00·kotlin/collections/CollectionsKt.class1054 ?rwxrwxr-x··2.0·unx······179·b-·stor·80-Jan-01·00:00·kotlin/collections/CollectionsKt.class
1055 ?rwxrwxr-x··2.0·unx·····3058·b-·stor·80-Jan-01·00:00·kotlin/text/StringsKt___StringsJvmKt.class1055 ?rwxrwxr-x··2.0·unx·····3058·b-·stor·80-Jan-01·00:00·kotlin/text/StringsKt___StringsJvmKt.class
1056 ?rwxrwxr-x··2.0·unx····35909·b-·defN·80-Jan-01·00:00·kotlin/text/StringsKt___StringsKt.class1056 ?rwxrwxr-x··2.0·unx····35909·b-·defN·80-Jan-01·00:00·kotlin/text/StringsKt___StringsKt.class
1057 ?rwxrwxr-x··2.0·unx······153·b-·stor·80-Jan-01·00:00·kotlin/text/StringsKt.class1057 ?rwxrwxr-x··2.0·unx······153·b-·stor·80-Jan-01·00:00·kotlin/text/StringsKt.class
1058 1056·files,·1877767·bytes·uncompressed,·1378486·bytes·compressed:··26.6%1058 1056·files,·1877767·bytes·uncompressed,·1378484·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·=·1696851917862L;6 ····public·static·final·long·BUILT·=·1696958582558L;
7 ····public·static·final·boolean·DEBUG·=·false;7 ····public·static·final·boolean·DEBUG·=·false;
8 ····public·static·final·int·VERSION_CODE·=·114;8 ····public·static·final·int·VERSION_CODE·=·114;
9 ····public·static·final·String·VERSION_NAME·=·"1.14";9 ····public·static·final·String·VERSION_NAME·=·"1.14";
10 }10 }
1.22 KB
org/billthefarmer/gridle/Gridle.class
1.15 KB
procyon -ec {}
    
Offset 158, 15 lines modifiedOffset 158, 15 lines modified
158 ········final·SpannableStringBuilder·message·=·new·SpannableStringBuilder(this.getText(2131230754));158 ········final·SpannableStringBuilder·message·=·new·SpannableStringBuilder(this.getText(2131230754));
159 ········final·Matcher·matcher·=·Pattern.compile("%s").matcher((CharSequence)message);159 ········final·Matcher·matcher·=·Pattern.compile("%s").matcher((CharSequence)message);
160 ········if·(matcher.find())·{160 ········if·(matcher.find())·{
161 ············message.replace(matcher.start(),·matcher.end(),·(CharSequence)"1.14");161 ············message.replace(matcher.start(),·matcher.end(),·(CharSequence)"1.14");
162 ········}162 ········}
163 ········matcher.reset((CharSequence)message);163 ········matcher.reset((CharSequence)message);
164 ········if·(matcher.find())·{164 ········if·(matcher.find())·{
165 ············message.replace(matcher.start(),·matcher.end(),·(CharSequence)dateTimeInstance.format(Long.valueOf(1696851917862L)));165 ············message.replace(matcher.start(),·matcher.end(),·(CharSequence)dateTimeInstance.format(Long.valueOf(1696958582558L)));
166 ········}166 ········}
167 ········alertDialog$Builder.setMessage((CharSequence)message);167 ········alertDialog$Builder.setMessage((CharSequence)message);
168 ········alertDialog$Builder.setPositiveButton(17039370,·(DialogInterface$OnClickListener)null);168 ········alertDialog$Builder.setPositiveButton(17039370,·(DialogInterface$OnClickListener)null);
169 ········final·TextView·textView·=·(TextView)((Dialog)alertDialog$Builder.show()).findViewById(16908299);169 ········final·TextView·textView·=·(TextView)((Dialog)alertDialog$Builder.show()).findViewById(16908299);
170 ········if·(textView·!=·null)·{170 ········if·(textView·!=·null)·{
171 ············textView.setTextAppearance(alertDialog$Builder.getContext(),·16973894);171 ············textView.setTextAppearance(alertDialog$Builder.getContext(),·16973894);
172 ············textView.setMovementMethod(LinkMovementMethod.getInstance());172 ············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,·0x18b14417c26L369 ····const-wide·v5,·0x18b1a9d0f1eL
  
370 ····.line·1379370 ····.line·1379
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·=·0x18b14417c26L7 .field·public·static·final·BUILT:J·=·0x18b1a9d0f1eL
  
8 .field·public·static·final·DEBUG:Z·=·false8 .field·public·static·final·DEBUG:Z·=·false
  
9 .field·public·static·final·VERSION_CODE:I·=·0x729 .field·public·static·final·VERSION_CODE:I·=·0x72
  
10 .field·public·static·final·VERSION_NAME:Ljava/lang/String;·=·"1.14"10 .field·public·static·final·VERSION_NAME:Ljava/lang/String;·=·"1.14"