10.4 KB
/home/fdroid/fdroiddata/tmp/org.billthefarmer.crossword_122.apk vs.
/home/fdroid/fdroiddata/tmp/sigcp_org.billthefarmer.crossword_122.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: <d81d5db35778dcafe2d0b04ece01995586a1ebba921c01b50fecbdd37e49ff6b>, actual: <dc3376e10d6c362001cde1769ebac80ddd080d1d8d413f15e36fbda023907924> ERROR: APK Signature Scheme v3 signer #1: APK integrity check failed. VERITY_CHUNKED_SHA256 digest mismatch. Expected: <bd2f0739ffdaba262348558a8108ead0d15d04007a321a120c536fbf2a006bd0031e080000000000>, actual: <f99c854d42330cc6d0d7374c49f14cdffa5e8f869ac4a49db5feb36fd93ba6ad031e080000000000>
    
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:·2d6faebf95d906eab05a9f598302d0ff4f3d0509ba5b223da3276b9c2d40fd8f 
10 Signer·#1·certificate·SHA-1·digest:·d01d2244a16e5aaec335121f78f618bae7b4636f 
11 Signer·#1·certificate·MD5·digest:·7c9f6728c829ab6a6e96a71b49bb495a 
12 Signer·#1·key·algorithm:·RSA 
13 Signer·#1·key·size·(bits):·2048 
14 Signer·#1·public·key·SHA-256·digest:·8c0419b78f715ab8538f03ca0075220d7217ad560c9f0e6c9a075e6f20758d32 
15 Signer·#1·public·key·SHA-1·digest:·4e5685b11001025122a8f5764f15842fb33e7ced 
16 Signer·#1·public·key·MD5·digest:·d08b08d1c672a2d786312f621af7c79e 
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/. 
670 B
zipinfo {}
    
Offset 57, 8 lines modifiedOffset 57, 8 lines modified
57 -rw----·····0.0·fat·····2370·b-·stor·81-Jan-01·01:01·res/xM.png57 -rw----·····0.0·fat·····2370·b-·stor·81-Jan-01·01:01·res/xM.png
58 -rw----·····0.0·fat······464·b-·defN·81-Jan-01·01:01·res/xl.xml58 -rw----·····0.0·fat······464·b-·defN·81-Jan-01·01:01·res/xl.xml
59 -rw----·····0.0·fat······454·b-·stor·81-Jan-01·01:01·res/yN.png59 -rw----·····0.0·fat······454·b-·stor·81-Jan-01·01:01·res/yN.png
60 -rw----·····0.0·fat····12772·b-·stor·81-Jan-01·01:01·resources.arsc60 -rw----·····0.0·fat····12772·b-·stor·81-Jan-01·01:01·resources.arsc
61 -rw----·····2.0·fat·····5052·b-·defN·81-Jan-01·01:01·META-INF/A6E28384.SF61 -rw----·····2.0·fat·····5052·b-·defN·81-Jan-01·01:01·META-INF/A6E28384.SF
62 -rw----·····2.0·fat·····1334·b-·defN·81-Jan-01·01:01·META-INF/A6E28384.RSA62 -rw----·····2.0·fat·····1334·b-·defN·81-Jan-01·01:01·META-INF/A6E28384.RSA
63 -rw----·····2.0·fat·····4925·b-·defN·81-Jan-01·01:01·META-INF/MANIFEST.MF63 -rw----·····2.0·fat·····4925·b-·defN·81-Jan-01·01:01·META-INF/MANIFEST.MF
64 62·files,·1710409·bytes·uncompressed,·524904·bytes·compressed:··69.3%64 62·files,·1710409·bytes·uncompressed,·524908·bytes·compressed:··69.3%
6.62 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············:·24e74d5b4 checksum············:·7fe75535
5 signature···········:·00fc...714e5 signature···········:·3dfc...c573
6 file_size···········:·355526 file_size···········:·35552
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·····:·61910 string_ids_size·····:·619
11 string_ids_off······:·112·(0x000070)11 string_ids_off······:·112·(0x000070)
12 type_ids_size·······:·12412 type_ids_size·······:·124
Offset 108, 15 lines modifiedOffset 108, 15 lines modified
108 ······type··········:·'Ljava/lang/String;'108 ······type··········:·'Ljava/lang/String;'
109 ······access········:·0x0019·(PUBLIC·STATIC·FINAL)109 ······access········:·0x0019·(PUBLIC·STATIC·FINAL)
110 ······value·········:·"release"110 ······value·········:·"release"
111 ····#2··············:·(in·Lorg/billthefarmer/crossword/BuildConfig;)111 ····#2··············:·(in·Lorg/billthefarmer/crossword/BuildConfig;)
112 ······name··········:·'BUILT'112 ······name··········:·'BUILT'
113 ······type··········:·'J'113 ······type··········:·'J'
114 ······access········:·0x0019·(PUBLIC·STATIC·FINAL)114 ······access········:·0x0019·(PUBLIC·STATIC·FINAL)
115 ······value·········:·1696647206791115 ······value·········:·1697113237579
116 ····#3··············:·(in·Lorg/billthefarmer/crossword/BuildConfig;)116 ····#3··············:·(in·Lorg/billthefarmer/crossword/BuildConfig;)
117 ······name··········:·'DEBUG'117 ······name··········:·'DEBUG'
118 ······type··········:·'Z'118 ······type··········:·'Z'
119 ······access········:·0x0019·(PUBLIC·STATIC·FINAL)119 ······access········:·0x0019·(PUBLIC·STATIC·FINAL)
120 ······value·········:·false120 ······value·········:·false
121 ····#4··············:·(in·Lorg/billthefarmer/crossword/BuildConfig;)121 ····#4··············:·(in·Lorg/billthefarmer/crossword/BuildConfig;)
122 ······name··········:·'VERSION_CODE'122 ······name··········:·'VERSION_CODE'
Offset 5011, 15 lines modifiedOffset 5011, 15 lines modified
5011 003b66:·6e10·8f00·0200·························|003b:·invoke-virtual·{v2},·Ljava/util/regex/Matcher;.find:()Z·//·method@008f5011 003b66:·6e10·8f00·0200·························|003b:·invoke-virtual·{v2},·Ljava/util/regex/Matcher;.find:()Z·//·method@008f
5012 003b6c:·0a03···································|003e:·move-result·v35012 003b6c:·0a03···································|003e:·move-result·v3
5013 003b6e:·3803·1a00······························|003f:·if-eqz·v3,·0059·//·+001a5013 003b6e:·3803·1a00······························|003f:·if-eqz·v3,·0059·//·+001a
5014 003b72:·6e10·9100·0200·························|0041:·invoke-virtual·{v2},·Ljava/util/regex/Matcher;.start:()I·//·method@00915014 003b72:·6e10·9100·0200·························|0041:·invoke-virtual·{v2},·Ljava/util/regex/Matcher;.start:()I·//·method@0091
5015 003b78:·0a03···································|0044:·move-result·v35015 003b78:·0a03···································|0044:·move-result·v3
5016 003b7a:·6e10·8e00·0200·························|0045:·invoke-virtual·{v2},·Ljava/util/regex/Matcher;.end:()I·//·method@008e5016 003b7a:·6e10·8e00·0200·························|0045:·invoke-virtual·{v2},·Ljava/util/regex/Matcher;.end:()I·//·method@008e
5017 003b80:·0a02···································|0048:·move-result·v25017 003b80:·0a02···································|0048:·move-result·v2
5018 003b82:·1804·87d7·0d08·8b01·0000···············|0049:·const-wide·v4,·#double·8.38255e-312·//·#0000018b080dd7875018 003b82:·1804·4be8·d423·8b01·0000···············|0049:·const-wide·v4,·#double·8.38485e-312·//·#0000018b23d4e84b
5019 003b8c:·7120·6100·5400·························|004e:·invoke-static·{v4,·v5},·Ljava/lang/Long;.valueOf:(J)Ljava/lang/Long;·//·method@00615019 003b8c:·7120·6100·5400·························|004e:·invoke-static·{v4,·v5},·Ljava/lang/Long;.valueOf:(J)Ljava/lang/Long;·//·method@0061
5020 003b92:·0c04···································|0051:·move-result-object·v45020 003b92:·0c04···································|0051:·move-result-object·v4
5021 003b94:·6e20·7700·4000·························|0052:·invoke-virtual·{v0,·v4},·Ljava/text/DateFormat;.format:(Ljava/lang/Object;)Ljava/lang/String;·//·method@00775021 003b94:·6e20·7700·4000·························|0052:·invoke-virtual·{v0,·v4},·Ljava/text/DateFormat;.format:(Ljava/lang/Object;)Ljava/lang/String;·//·method@0077
5022 003b9a:·0c00···································|0055:·move-result-object·v05022 003b9a:·0c00···································|0055:·move-result-object·v0
5023 003b9c:·6e40·1d00·3102·························|0056:·invoke-virtual·{v1,·v3,·v2,·v0},·Landroid/text/SpannableStringBuilder;.replace:(IILjava/lang/CharSequence;)Landroid/text/SpannableStringBuilder;·//·method@001d5023 003b9c:·6e40·1d00·3102·························|0056:·invoke-virtual·{v1,·v3,·v2,·v0},·Landroid/text/SpannableStringBuilder;.replace:(IILjava/lang/CharSequence;)Landroid/text/SpannableStringBuilder;·//·method@001d
5024 003ba2:·6e20·0800·1700·························|0059:·invoke-virtual·{v7,·v1},·Landroid/app/AlertDialog$Builder;.setMessage:(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder;·//·method@00085024 003ba2:·6e20·0800·1700·························|0059:·invoke-virtual·{v7,·v1},·Landroid/app/AlertDialog$Builder;.setMessage:(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder;·//·method@0008
5025 003ba8:·1400·0a00·0401·························|005c:·const·v0,·#float·2.42446e-38·//·#0104000a5025 003ba8:·1400·0a00·0401·························|005c:·const·v0,·#float·2.42446e-38·//·#0104000a
3.53 KB
classes.jar
1.68 KB
zipinfo {}
    
Offset 1, 8 lines modifiedOffset 1, 8 lines modified
1 Zip·file·size:·44106·bytes,·number·of·entries:·271 Zip·file·size:·44107·bytes,·number·of·entries:·27
2 ?rwxrwxr-x··2.0·unx······506·b-·stor·80-Jan-01·00:00·org/billthefarmer/crossword/Anagram$$ExternalSyntheticLambda0.class2 ?rwxrwxr-x··2.0·unx······506·b-·stor·80-Jan-01·00:00·org/billthefarmer/crossword/Anagram$$ExternalSyntheticLambda0.class
3 ?rwxrwxr-x··2.0·unx······450·b-·stor·80-Jan-01·00:00·org/billthefarmer/crossword/BuildConfig.class3 ?rwxrwxr-x··2.0·unx······450·b-·stor·80-Jan-01·00:00·org/billthefarmer/crossword/BuildConfig.class
4 ?rwxrwxr-x··2.0·unx·····3752·b-·stor·80-Jan-01·00:00·org/billthefarmer/crossword/Data$AnagramTask.class4 ?rwxrwxr-x··2.0·unx·····3752·b-·stor·80-Jan-01·00:00·org/billthefarmer/crossword/Data$AnagramTask.class
5 ?rwxrwxr-x··2.0·unx······676·b-·stor·80-Jan-01·00:00·org/billthefarmer/crossword/Data$Element.class5 ?rwxrwxr-x··2.0·unx······676·b-·stor·80-Jan-01·00:00·org/billthefarmer/crossword/Data$Element.class
6 ?rwxrwxr-x··2.0·unx·····1461·b-·stor·80-Jan-01·00:00·org/billthefarmer/crossword/Data$LoadTask.class6 ?rwxrwxr-x··2.0·unx·····1461·b-·stor·80-Jan-01·00:00·org/billthefarmer/crossword/Data$LoadTask.class
7 ?rwxrwxr-x··2.0·unx······152·b-·stor·80-Jan-01·00:00·org/billthefarmer/crossword/Data$OnPostExecuteListener.class7 ?rwxrwxr-x··2.0·unx······152·b-·stor·80-Jan-01·00:00·org/billthefarmer/crossword/Data$OnPostExecuteListener.class
8 ?rwxrwxr-x··2.0·unx·····1481·b-·stor·80-Jan-01·00:00·org/billthefarmer/crossword/Data$SearchTask.class8 ?rwxrwxr-x··2.0·unx·····1481·b-·stor·80-Jan-01·00:00·org/billthefarmer/crossword/Data$SearchTask.class
Offset 22, 8 lines modifiedOffset 22, 8 lines modified
22 ?rwxrwxr-x··2.0·unx······799·b-·stor·80-Jan-01·00:00·org/billthefarmer/crossword/R$style.class22 ?rwxrwxr-x··2.0·unx······799·b-·stor·80-Jan-01·00:00·org/billthefarmer/crossword/R$style.class
23 ?rwxrwxr-x··2.0·unx······546·b-·stor·80-Jan-01·00:00·org/billthefarmer/crossword/R$styleable.class23 ?rwxrwxr-x··2.0·unx······546·b-·stor·80-Jan-01·00:00·org/billthefarmer/crossword/R$styleable.class
24 ?rwxrwxr-x··2.0·unx······144·b-·stor·80-Jan-01·00:00·org/billthefarmer/crossword/R.class24 ?rwxrwxr-x··2.0·unx······144·b-·stor·80-Jan-01·00:00·org/billthefarmer/crossword/R.class
25 ?rwxrwxr-x··2.0·unx······587·b-·stor·80-Jan-01·00:00·org/billthefarmer/crossword/SearchActivity$1.class25 ?rwxrwxr-x··2.0·unx······587·b-·stor·80-Jan-01·00:00·org/billthefarmer/crossword/SearchActivity$1.class
26 ?rwxrwxr-x··2.0·unx·····2606·b-·stor·80-Jan-01·00:00·org/billthefarmer/crossword/SearchActivity.class26 ?rwxrwxr-x··2.0·unx·····2606·b-·stor·80-Jan-01·00:00·org/billthefarmer/crossword/SearchActivity.class
27 ?rwxrwxr-x··2.0·unx·····5941·b-·stor·80-Jan-01·00:00·org/billthefarmer/crossword/Anagram.class27 ?rwxrwxr-x··2.0·unx·····5941·b-·stor·80-Jan-01·00:00·org/billthefarmer/crossword/Anagram.class
28 ?rwxrwxr-x··2.0·unx····13645·b-·defN·80-Jan-01·00:00·org/billthefarmer/crossword/Main.class28 ?rwxrwxr-x··2.0·unx····13645·b-·defN·80-Jan-01·00:00·org/billthefarmer/crossword/Main.class
29 27·files,·46792·bytes·uncompressed,·39550·bytes·compressed:··15.5%29 27·files,·46792·bytes·uncompressed,·39551·bytes·compressed:··15.5%
612 B
org/billthefarmer/crossword/BuildConfig.class
522 B
procyon -ec {}
    
Offset 1, 12 lines modifiedOffset 1, 12 lines modified
  
1 package·org.billthefarmer.crossword;1 package·org.billthefarmer.crossword;
  
2 public·final·class·BuildConfig2 public·final·class·BuildConfig
3 {3 {
4 ····public·static·final·String·APPLICATION_ID·=·"org.billthefarmer.crossword";4 ····public·static·final·String·APPLICATION_ID·=·"org.billthefarmer.crossword";
5 ····public·static·final·String·BUILD_TYPE·=·"release";5 ····public·static·final·String·BUILD_TYPE·=·"release";
6 ····public·static·final·long·BUILT·=·1696647206791L;6 ····public·static·final·long·BUILT·=·1697113237579L;
7 ····public·static·final·boolean·DEBUG·=·false;7 ····public·static·final·boolean·DEBUG·=·false;
8 ····public·static·final·int·VERSION_CODE·=·122;8 ····public·static·final·int·VERSION_CODE·=·122;
9 ····public·static·final·String·VERSION_NAME·=·"1.22";9 ····public·static·final·String·VERSION_NAME·=·"1.22";
10 }10 }
1.22 KB
org/billthefarmer/crossword/Main.class
1.15 KB
procyon -ec {}
    
Offset 150, 15 lines modifiedOffset 150, 15 lines modified
150 ········final·SpannableStringBuilder·message·=·new·SpannableStringBuilder(this.getText(2131296281));150 ········final·SpannableStringBuilder·message·=·new·SpannableStringBuilder(this.getText(2131296281));
151 ········final·Matcher·matcher·=·Pattern.compile("%s").matcher((CharSequence)message);151 ········final·Matcher·matcher·=·Pattern.compile("%s").matcher((CharSequence)message);
152 ········if·(matcher.find())·{152 ········if·(matcher.find())·{
153 ············message.replace(matcher.start(),·matcher.end(),·(CharSequence)"1.22");153 ············message.replace(matcher.start(),·matcher.end(),·(CharSequence)"1.22");
154 ········}154 ········}
155 ········matcher.reset((CharSequence)message);155 ········matcher.reset((CharSequence)message);
156 ········if·(matcher.find())·{156 ········if·(matcher.find())·{
157 ············message.replace(matcher.start(),·matcher.end(),·(CharSequence)dateTimeInstance.format(Long.valueOf(1696647206791L)));157 ············message.replace(matcher.start(),·matcher.end(),·(CharSequence)dateTimeInstance.format(Long.valueOf(1697113237579L)));
158 ········}158 ········}
159 ········alertDialog$Builder.setMessage((CharSequence)message);159 ········alertDialog$Builder.setMessage((CharSequence)message);
160 ········alertDialog$Builder.setPositiveButton(17039370,·(DialogInterface$OnClickListener)null);160 ········alertDialog$Builder.setPositiveButton(17039370,·(DialogInterface$OnClickListener)null);
161 ········final·TextView·textView·=·(TextView)((Dialog)alertDialog$Builder.show()).findViewById(16908299);161 ········final·TextView·textView·=·(TextView)((Dialog)alertDialog$Builder.show()).findViewById(16908299);
162 ········if·(textView·!=·null)·{162 ········if·(textView·!=·null)·{
163 ············textView.setTextAppearance(alertDialog$Builder.getContext(),·16973894);163 ············textView.setTextAppearance(alertDialog$Builder.getContext(),·16973894);
164 ············textView.setMovementMethod(LinkMovementMethod.getInstance());164 ············textView.setMovementMethod(LinkMovementMethod.getInstance());
509 B
smali/org/billthefarmer/crossword/Main.smali
    
Offset 488, 15 lines modifiedOffset 488, 15 lines modified
  
488 ····move-result·v3488 ····move-result·v3
  
489 ····invoke-virtual·{v2},·Ljava/util/regex/Matcher;->end()I489 ····invoke-virtual·{v2},·Ljava/util/regex/Matcher;->end()I
  
490 ····move-result·v2490 ····move-result·v2
  
491 ····const-wide·v4,·0x18b080dd787L491 ····const-wide·v4,·0x18b23d4e84bL
  
492 ····.line·611492 ····.line·611
493 ····invoke-static·{v4,·v5},·Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;493 ····invoke-static·{v4,·v5},·Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
  
494 ····move-result-object·v4494 ····move-result-object·v4
  
495 ····invoke-virtual·{v0,·v4},·Ljava/text/DateFormat;->format(Ljava/lang/Object;)Ljava/lang/String;495 ····invoke-virtual·{v0,·v4},·Ljava/text/DateFormat;->format(Ljava/lang/Object;)Ljava/lang/String;
586 B
smali/org/billthefarmer/crossword/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.crossword"5 .field·public·static·final·APPLICATION_ID:Ljava/lang/String;·=·"org.billthefarmer.crossword"
  
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·=·0x18b080dd787L7 .field·public·static·final·BUILT:J·=·0x18b23d4e84bL
  
8 .field·public·static·final·DEBUG:Z·=·false8 .field·public·static·final·DEBUG:Z·=·false
  
9 .field·public·static·final·VERSION_CODE:I·=·0x7a9 .field·public·static·final·VERSION_CODE:I·=·0x7a
  
10 .field·public·static·final·VERSION_NAME:Ljava/lang/String;·=·"1.22"10 .field·public·static·final·VERSION_NAME:Ljava/lang/String;·=·"1.22"