10.3 KB
/home/fdroid/fdroiddata/tmp/org.billthefarmer.gridle_111.apk vs.
/home/fdroid/fdroiddata/tmp/sigcp_org.billthefarmer.gridle_111.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: <8d1ae4ceb6fa43e53609a4dd6f29f60e3519e0cab2bc6363295fda3beba9599d>, actual: <fd40c557f990312f596690f3a22af4ab2c479e6f5c3276446f1aa8551f99f785> ERROR: APK Signature Scheme v3 signer #1: APK integrity check failed. VERITY_CHUNKED_SHA256 digest mismatch. Expected: <2c592dff7c9fcb02e5553adb142b653cf2a48271280f2957e097f4c71b618d2aceff180000000000>, actual: <917f68a107347cdad2b31410af41cdbd7de692496bef7ee596f572592ea77d32ceff180000000000>
    
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 58, 8 lines modifiedOffset 58, 8 lines modified
58 -rw----·····0.0·fat·····8024·b-·defN·81-Jan-01·01:01·res/w6.xml58 -rw----·····0.0·fat·····8024·b-·defN·81-Jan-01·01:01·res/w6.xml
59 -rw----·····0.0·fat······371·b-·stor·81-Jan-01·01:01·res/wA.png59 -rw----·····0.0·fat······371·b-·stor·81-Jan-01·01:01·res/wA.png
60 -rw----·····0.0·fat·····2601·b-·stor·81-Jan-01·01:01·res/xM.png60 -rw----·····0.0·fat·····2601·b-·stor·81-Jan-01·01:01·res/xM.png
61 -rw----·····0.0·fat····15132·b-·stor·81-Jan-01·01:01·resources.arsc61 -rw----·····0.0·fat····15132·b-·stor·81-Jan-01·01:01·resources.arsc
62 -rw----·····2.0·fat·····4378·b-·defN·81-Jan-01·01:01·META-INF/668C4476.SF62 -rw----·····2.0·fat·····4378·b-·defN·81-Jan-01·01:01·META-INF/668C4476.SF
63 -rw----·····2.0·fat·····1326·b-·defN·81-Jan-01·01:01·META-INF/668C4476.RSA63 -rw----·····2.0·fat·····1326·b-·defN·81-Jan-01·01:01·META-INF/668C4476.RSA
64 -rw----·····2.0·fat·····4270·b-·defN·81-Jan-01·01:01·META-INF/MANIFEST.MF64 -rw----·····2.0·fat·····4270·b-·defN·81-Jan-01·01:01·META-INF/MANIFEST.MF
65 63·files,·5007629·bytes·uncompressed,·1628504·bytes·compressed:··67.5%65 63·files,·5007629·bytes·uncompressed,·1628503·bytes·compressed:··67.5%
6.48 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············:·a534c6b24 checksum············:·928fc693
5 signature···········:·ec13...60d35 signature···········:·c133...0f7f
6 file_size···········:·19390446 file_size···········:·1939044
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·····:·1092210 string_ids_size·····:·10922
11 string_ids_off······:·112·(0x000070)11 string_ids_off······:·112·(0x000070)
12 type_ids_size·······:·130612 type_ids_size·······:·1306
Offset 77113, 15 lines modifiedOffset 77113, 15 lines modified
77113 ······type··········:·'Ljava/lang/String;'77113 ······type··········:·'Ljava/lang/String;'
77114 ······access········:·0x0019·(PUBLIC·STATIC·FINAL)77114 ······access········:·0x0019·(PUBLIC·STATIC·FINAL)
77115 ······value·········:·"release"77115 ······value·········:·"release"
77116 ····#2··············:·(in·Lorg/billthefarmer/gridle/BuildConfig;)77116 ····#2··············:·(in·Lorg/billthefarmer/gridle/BuildConfig;)
77117 ······name··········:·'BUILT'77117 ······name··········:·'BUILT'
77118 ······type··········:·'J'77118 ······type··········:·'J'
77119 ······access········:·0x0019·(PUBLIC·STATIC·FINAL)77119 ······access········:·0x0019·(PUBLIC·STATIC·FINAL)
77120 ······value·········:·168635380806377120 ······value·········:·1686687786747
77121 ····#3··············:·(in·Lorg/billthefarmer/gridle/BuildConfig;)77121 ····#3··············:·(in·Lorg/billthefarmer/gridle/BuildConfig;)
77122 ······name··········:·'DEBUG'77122 ······name··········:·'DEBUG'
77123 ······type··········:·'Z'77123 ······type··········:·'Z'
77124 ······access········:·0x0019·(PUBLIC·STATIC·FINAL)77124 ······access········:·0x0019·(PUBLIC·STATIC·FINAL)
77125 ······value·········:·false77125 ······value·········:·false
77126 ····#4··············:·(in·Lorg/billthefarmer/gridle/BuildConfig;)77126 ····#4··············:·(in·Lorg/billthefarmer/gridle/BuildConfig;)
77127 ······name··········:·'VERSION_CODE'77127 ······name··········:·'VERSION_CODE'
Offset 78360, 15 lines modifiedOffset 78360, 15 lines modified
78360 0d3f42:·6e10·c603·0300·························|0041:·invoke-virtual·{v3},·Ljava/util/regex/Matcher;.find:()Z·//·method@03c678360 0d3f42:·6e10·c603·0300·························|0041:·invoke-virtual·{v3},·Ljava/util/regex/Matcher;.find:()Z·//·method@03c6
78361 0d3f48:·0a04···································|0044:·move-result·v478361 0d3f48:·0a04···································|0044:·move-result·v4
78362 0d3f4a:·3804·1a00······························|0045:·if-eqz·v4,·005f·//·+001a78362 0d3f4a:·3804·1a00······························|0045:·if-eqz·v4,·005f·//·+001a
78363 0d3f4e:·6e10·d003·0300·························|0047:·invoke-virtual·{v3},·Ljava/util/regex/Matcher;.start:()I·//·method@03d078363 0d3f4e:·6e10·d003·0300·························|0047:·invoke-virtual·{v3},·Ljava/util/regex/Matcher;.start:()I·//·method@03d0
78364 0d3f54:·0a04···································|004a:·move-result·v478364 0d3f54:·0a04···································|004a:·move-result·v4
78365 0d3f56:·6e10·c503·0300·························|004b:·invoke-virtual·{v3},·Ljava/util/regex/Matcher;.end:()I·//·method@03c578365 0d3f56:·6e10·c503·0300·························|004b:·invoke-virtual·{v3},·Ljava/util/regex/Matcher;.end:()I·//·method@03c5
78366 0d3f5c:·0a03···································|004e:·move-result·v378366 0d3f5c:·0a03···································|004e:·move-result·v3
78367 0d3f5e:·1805·bf0a·85a2·8801·0000···············|004f:·const-wide·v5,·#double·8.33169e-312·//·#00000188a2850abf78367 0d3f5e:·1805·fb26·6db6·8801·0000···············|004f:·const-wide·v5,·#double·8.33334e-312·//·#00000188b66d26fb
78368 0d3f68:·7120·a701·6500·························|0054:·invoke-static·{v5,·v6},·Ljava/lang/Long;.valueOf:(J)Ljava/lang/Long;·//·method@01a778368 0d3f68:·7120·a701·6500·························|0054:·invoke-static·{v5,·v6},·Ljava/lang/Long;.valueOf:(J)Ljava/lang/Long;·//·method@01a7
78369 0d3f6e:·0c05···································|0057:·move-result-object·v578369 0d3f6e:·0c05···································|0057:·move-result-object·v5
78370 0d3f70:·6e20·b402·5100·························|0058:·invoke-virtual·{v1,·v5},·Ljava/text/DateFormat;.format:(Ljava/lang/Object;)Ljava/lang/String;·//·method@02b478370 0d3f70:·6e20·b402·5100·························|0058:·invoke-virtual·{v1,·v5},·Ljava/text/DateFormat;.format:(Ljava/lang/Object;)Ljava/lang/String;·//·method@02b4
78371 0d3f76:·0c01···································|005b:·move-result-object·v178371 0d3f76:·0c01···································|005b:·move-result-object·v1
78372 0d3f78:·6e40·8a00·4213·························|005c:·invoke-virtual·{v2,·v4,·v3,·v1},·Landroid/text/SpannableStringBuilder;.replace:(IILjava/lang/CharSequence;)Landroid/text/SpannableStringBuilder;·//·method@008a78372 0d3f78:·6e40·8a00·4213·························|005c:·invoke-virtual·{v2,·v4,·v3,·v1},·Landroid/text/SpannableStringBuilder;.replace:(IILjava/lang/CharSequence;)Landroid/text/SpannableStringBuilder;·//·method@008a
78373 0d3f7e:·6e20·0d00·2000·························|005f:·invoke-virtual·{v0,·v2},·Landroid/app/AlertDialog$Builder;.setMessage:(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder;·//·method@000d78373 0d3f7e:·6e20·0d00·2000·························|005f:·invoke-virtual·{v0,·v2},·Landroid/app/AlertDialog$Builder;.setMessage:(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder;·//·method@000d
78374 0d3f84:·1401·0a00·0401·························|0062:·const·v1,·#float·2.42446e-38·//·#0104000a78374 0d3f84:·1401·0a00·0401·························|0062:·const·v1,·#float·2.42446e-38·//·#0104000a
3.38 KB
classes.jar
1.56 KB
zipinfo {}
    
Offset 1, 8 lines modifiedOffset 1, 8 lines modified
1 Zip·file·size:·1406430·bytes,·number·of·entries:·9851 Zip·file·size:·1406432·bytes,·number·of·entries:·985
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·····6718·b-·stor·80-Jan-01·00:00·android/support/v4/content/FileProvider.class3 ?rwxrwxr-x··2.0·unx·····6718·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······554·b-·stor·80-Jan-01·00:00·kotlin/CharCodeKt.class7 ?rwxrwxr-x··2.0·unx······554·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 980, 8 lines modifiedOffset 980, 8 lines modified
980 ?rwxrwxr-x··2.0·unx····16419·b-·defN·80-Jan-01·00:00·kotlin/text/StringsKt__StringsJVMKt.class980 ?rwxrwxr-x··2.0·unx····16419·b-·defN·80-Jan-01·00:00·kotlin/text/StringsKt__StringsJVMKt.class
981 ?rwxrwxr-x··2.0·unx····44800·b-·defN·80-Jan-01·00:00·kotlin/collections/CollectionsKt___CollectionsKt.class981 ?rwxrwxr-x··2.0·unx····44800·b-·defN·80-Jan-01·00:00·kotlin/collections/CollectionsKt___CollectionsKt.class
982 ?rwxrwxr-x··2.0·unx····28603·b-·defN·80-Jan-01·00:00·kotlin/text/StringsKt__StringsKt.class982 ?rwxrwxr-x··2.0·unx····28603·b-·defN·80-Jan-01·00:00·kotlin/text/StringsKt__StringsKt.class
983 ?rwxrwxr-x··2.0·unx······179·b-·stor·80-Jan-01·00:00·kotlin/collections/CollectionsKt.class983 ?rwxrwxr-x··2.0·unx······179·b-·stor·80-Jan-01·00:00·kotlin/collections/CollectionsKt.class
984 ?rwxrwxr-x··2.0·unx·····1766·b-·stor·80-Jan-01·00:00·kotlin/text/StringsKt___StringsJvmKt.class984 ?rwxrwxr-x··2.0·unx·····1766·b-·stor·80-Jan-01·00:00·kotlin/text/StringsKt___StringsJvmKt.class
985 ?rwxrwxr-x··2.0·unx····35039·b-·defN·80-Jan-01·00:00·kotlin/text/StringsKt___StringsKt.class985 ?rwxrwxr-x··2.0·unx····35039·b-·defN·80-Jan-01·00:00·kotlin/text/StringsKt___StringsKt.class
986 ?rwxrwxr-x··2.0·unx······153·b-·stor·80-Jan-01·00:00·kotlin/text/StringsKt.class986 ?rwxrwxr-x··2.0·unx······153·b-·stor·80-Jan-01·00:00·kotlin/text/StringsKt.class
987 985·files,·1712070·bytes·uncompressed,·1243498·bytes·compressed:··27.4%987 985·files,·1712070·bytes·uncompressed,·1243500·bytes·compressed:··27.4%
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·=·1686353808063L;6 ····public·static·final·long·BUILT·=·1686687786747L;
7 ····public·static·final·boolean·DEBUG·=·false;7 ····public·static·final·boolean·DEBUG·=·false;
8 ····public·static·final·int·VERSION_CODE·=·111;8 ····public·static·final·int·VERSION_CODE·=·111;
9 ····public·static·final·String·VERSION_NAME·=·"1.11";9 ····public·static·final·String·VERSION_NAME·=·"1.11";
10 }10 }
1.22 KB
org/billthefarmer/gridle/Gridle.class
1.15 KB
procyon -ec {}
    
Offset 192, 15 lines modifiedOffset 192, 15 lines modified
192 ········final·SpannableStringBuilder·message·=·new·SpannableStringBuilder(this.getText(2131230754));192 ········final·SpannableStringBuilder·message·=·new·SpannableStringBuilder(this.getText(2131230754));
193 ········final·Matcher·matcher·=·Pattern.compile("%s").matcher((CharSequence)message);193 ········final·Matcher·matcher·=·Pattern.compile("%s").matcher((CharSequence)message);
194 ········if·(matcher.find())·{194 ········if·(matcher.find())·{
195 ············message.replace(matcher.start(),·matcher.end(),·(CharSequence)"1.11");195 ············message.replace(matcher.start(),·matcher.end(),·(CharSequence)"1.11");
196 ········}196 ········}
197 ········matcher.reset((CharSequence)message);197 ········matcher.reset((CharSequence)message);
198 ········if·(matcher.find())·{198 ········if·(matcher.find())·{
199 ············message.replace(matcher.start(),·matcher.end(),·(CharSequence)dateTimeInstance.format(Long.valueOf(1686353808063L)));199 ············message.replace(matcher.start(),·matcher.end(),·(CharSequence)dateTimeInstance.format(Long.valueOf(1686687786747L)));
200 ········}200 ········}
201 ········alertDialog$Builder.setMessage((CharSequence)message);201 ········alertDialog$Builder.setMessage((CharSequence)message);
202 ········alertDialog$Builder.setPositiveButton(17039370,·(DialogInterface$OnClickListener)null);202 ········alertDialog$Builder.setPositiveButton(17039370,·(DialogInterface$OnClickListener)null);
203 ········final·TextView·textView·=·(TextView)((Dialog)alertDialog$Builder.show()).findViewById(16908299);203 ········final·TextView·textView·=·(TextView)((Dialog)alertDialog$Builder.show()).findViewById(16908299);
204 ········if·(textView·!=·null)·{204 ········if·(textView·!=·null)·{
205 ············textView.setTextAppearance(alertDialog$Builder.getContext(),·16973894);205 ············textView.setTextAppearance(alertDialog$Builder.getContext(),·16973894);
206 ············textView.setMovementMethod(LinkMovementMethod.getInstance());206 ············textView.setMovementMethod(LinkMovementMethod.getInstance());
508 B
smali/org/billthefarmer/gridle/Gridle.smali
    
Offset 411, 15 lines modifiedOffset 411, 15 lines modified
  
411 ····move-result·v4411 ····move-result·v4
  
412 ····invoke-virtual·{v3},·Ljava/util/regex/Matcher;->end()I412 ····invoke-virtual·{v3},·Ljava/util/regex/Matcher;->end()I
  
413 ····move-result·v3413 ····move-result·v3
  
414 ····const-wide·v5,·0x188a2850abfL414 ····const-wide·v5,·0x188b66d26fbL
  
415 ····.line·1307415 ····.line·1307
416 ····invoke-static·{v5,·v6},·Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;416 ····invoke-static·{v5,·v6},·Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
  
417 ····move-result-object·v5417 ····move-result-object·v5
  
418 ····invoke-virtual·{v1,·v5},·Ljava/text/DateFormat;->format(Ljava/lang/Object;)Ljava/lang/String;418 ····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·=·0x188a2850abfL7 .field·public·static·final·BUILT:J·=·0x188b66d26fbL
  
8 .field·public·static·final·DEBUG:Z·=·false8 .field·public·static·final·DEBUG:Z·=·false
  
9 .field·public·static·final·VERSION_CODE:I·=·0x6f9 .field·public·static·final·VERSION_CODE:I·=·0x6f
  
10 .field·public·static·final·VERSION_NAME:Ljava/lang/String;·=·"1.11"10 .field·public·static·final·VERSION_NAME:Ljava/lang/String;·=·"1.11"