10.3 KB
/home/fdroid/fdroiddata/tmp/org.billthefarmer.gridle_115.apk vs.
/home/fdroid/fdroiddata/tmp/sigcp_org.billthefarmer.gridle_115.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: <7490b25ae9730255afe4b089ec25472cf8279f08b543dc45d91de5b269c2fc77>, actual: <efbf3a7f02b427f42c093af181316fa308771b3c943667c10f303ce175521c03> ERROR: APK Signature Scheme v3 signer #1: APK integrity check failed. VERITY_CHUNKED_SHA256 digest mismatch. Expected: <dda9341dc616e188b9234af05f62851aa0455bb632267bdc9a0891c1578f869e7e8e190000000000>, actual: <61ea0f6f2992e18742e4c6511b2e53cf1c89d2cf4ba92462b70c5b30ccb7f9d97e8e190000000000>
    
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,·5131146·bytes·uncompressed,·1668083·bytes·compressed:··67.5%59 57·files,·5131146·bytes·uncompressed,·1668084·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············:·3747cafc4 checksum············:·4589cc21
5 signature···········:·4726...27ab5 signature···········:·b559...81c8
6 file_size···········:·20852886 file_size···········:·2085288
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·········:·169852882294884087 ······value·········:·1698916898958
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·a406·3578·8b01·0000···············|004f:·const-wide·v5,·#double·8.39185e-312·//·#0000018b783506a485567 0e507a:·1805·8e98·568f·8b01·0000···············|004f:·const-wide·v5,·#double·8.39376e-312·//·#0000018b8f56988e
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:·1553787·bytes,·number·of·entries:·10561 Zip·file·size:·1553788·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,·1877764·bytes·uncompressed,·1378471·bytes·compressed:··26.6%1058 1056·files,·1877764·bytes·uncompressed,·1378472·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·=·1698528822948L;6 ····public·static·final·long·BUILT·=·1698916898958L;
7 ····public·static·final·boolean·DEBUG·=·false;7 ····public·static·final·boolean·DEBUG·=·false;
8 ····public·static·final·int·VERSION_CODE·=·115;8 ····public·static·final·int·VERSION_CODE·=·115;
9 ····public·static·final·String·VERSION_NAME·=·"1.15";9 ····public·static·final·String·VERSION_NAME·=·"1.15";
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.15");161 ············message.replace(matcher.start(),·matcher.end(),·(CharSequence)"1.15");
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(1698528822948L)));165 ············message.replace(matcher.start(),·matcher.end(),·(CharSequence)dateTimeInstance.format(Long.valueOf(1698916898958L)));
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,·0x18b783506a4L369 ····const-wide·v5,·0x18b8f56988eL
  
370 ····.line·1380370 ····.line·1380
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·=·0x18b783506a4L7 .field·public·static·final·BUILT:J·=·0x18b8f56988eL
  
8 .field·public·static·final·DEBUG:Z·=·false8 .field·public·static·final·DEBUG:Z·=·false
  
9 .field·public·static·final·VERSION_CODE:I·=·0x739 .field·public·static·final·VERSION_CODE:I·=·0x73
  
10 .field·public·static·final·VERSION_NAME:Ljava/lang/String;·=·"1.15"10 .field·public·static·final·VERSION_NAME:Ljava/lang/String;·=·"1.15"