10.6 KB
/home/fdroid/fdroiddata/tmp/org.billthefarmer.solver_107.apk vs.
/home/fdroid/fdroiddata/tmp/sigcp_org.billthefarmer.solver_107.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: <1d4e651b9dba9b0910f826fcef93423c009d077b29db893cb8b361deebcb9e58>, actual: <3f031bef0edaf7c1fff3a6d58eec1339fadbd572ba69e76dea8829b358d1f0b7> ERROR: APK Signature Scheme v3 signer #1: APK integrity check failed. VERITY_CHUNKED_SHA256 digest mismatch. Expected: <7fd40b0e13347dc28767f5f6ee2e0fdc61ae148463876369656c77ce5a7faeee3b3b0c0000000000>, actual: <c43adfc7fb3f5b42291c7ea4445e7b5c2a523051b7e7fe35b0478722995ca2f03b3b0c0000000000>
    
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:·56392f954ecdab4b4ecec1511b84e4b967cc11e1bbb72bf5e7a15371d7b70d36 
10 Signer·#1·certificate·SHA-1·digest:·3c8dc8a66e9d1841ec628b1a55e0c93ffd6b2001 
11 Signer·#1·certificate·MD5·digest:·5775e81c0091f5222f093af20d170c7d 
12 Signer·#1·key·algorithm:·RSA 
13 Signer·#1·key·size·(bits):·2048 
14 Signer·#1·public·key·SHA-256·digest:·a83470591fdfe86b36d5532851f2f1e2a8b36c88c5966df4a68c22fc23f5ab9c 
15 Signer·#1·public·key·SHA-1·digest:·2413be8f31af0ab88e5ba68c076adbc570d512bd 
16 Signer·#1·public·key·MD5·digest:·c22793c46daf246012202a370dbb66b2 
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/. 
1.01 KB
zipinfo -v {}
    
Offset 56, 15 lines modifiedOffset 56, 15 lines modified
56 ··minimum·file·system·compatibility·required:·····MS-DOS,·OS/2·or·NT·FAT56 ··minimum·file·system·compatibility·required:·····MS-DOS,·OS/2·or·NT·FAT
57 ··minimum·software·version·required·to·extract:···0.057 ··minimum·software·version·required·to·extract:···0.0
58 ··compression·method:·····························deflated58 ··compression·method:·····························deflated
59 ··compression·sub-type·(deflation):···············normal59 ··compression·sub-type·(deflation):···············normal
60 ··file·security·status:···························not·encrypted60 ··file·security·status:···························not·encrypted
61 ··extended·local·header:··························no61 ··extended·local·header:··························no
62 ··file·last·modified·on·(DOS·date/time):··········1981·Jan·1·01:01:0262 ··file·last·modified·on·(DOS·date/time):··········1981·Jan·1·01:01:02
63 ··32-bit·CRC·value·(hex):·························168ea58463 ··32-bit·CRC·value·(hex):·························9a75389d
64 ··compressed·size:································593619·bytes64 ··compressed·size:································593619·bytes
65 ··uncompressed·size:······························2016076·bytes65 ··uncompressed·size:······························2016076·bytes
66 ··length·of·filename:·····························11·characters66 ··length·of·filename:·····························11·characters
67 ··length·of·extra·field:··························0·bytes67 ··length·of·extra·field:··························0·bytes
68 ··length·of·file·comment:·························0·characters68 ··length·of·file·comment:·························0·characters
69 ··disk·number·on·which·file·begins:···············disk·169 ··disk·number·on·which·file·begins:···············disk·1
70 ··apparent·file·type:·····························binary70 ··apparent·file·type:·····························binary
6.45 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············:·19e9fa494 checksum············:·f5abfb5d
5 signature···········:·e789...c9ff5 signature···········:·5bba...cf18
6 file_size···········:·20160766 file_size···········:·2016076
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·····:·1100710 string_ids_size·····:·11007
11 string_ids_off······:·112·(0x000070)11 string_ids_off······:·112·(0x000070)
12 type_ids_size·······:·132512 type_ids_size·······:·1325
Offset 78817, 15 lines modifiedOffset 78817, 15 lines modified
78817 ······type··········:·'Ljava/lang/String;'78817 ······type··········:·'Ljava/lang/String;'
78818 ······access········:·0x0019·(PUBLIC·STATIC·FINAL)78818 ······access········:·0x0019·(PUBLIC·STATIC·FINAL)
78819 ······value·········:·"release"78819 ······value·········:·"release"
78820 ····#2··············:·(in·Lorg/billthefarmer/solver/BuildConfig;)78820 ····#2··············:·(in·Lorg/billthefarmer/solver/BuildConfig;)
78821 ······name··········:·'BUILT'78821 ······name··········:·'BUILT'
78822 ······type··········:·'J'78822 ······type··········:·'J'
78823 ······access········:·0x0019·(PUBLIC·STATIC·FINAL)78823 ······access········:·0x0019·(PUBLIC·STATIC·FINAL)
78824 ······value·········:·168871532984978824 ······value·········:·1688771093960
78825 ····#3··············:·(in·Lorg/billthefarmer/solver/BuildConfig;)78825 ····#3··············:·(in·Lorg/billthefarmer/solver/BuildConfig;)
78826 ······name··········:·'DEBUG'78826 ······name··········:·'DEBUG'
78827 ······type··········:·'Z'78827 ······type··········:·'Z'
78828 ······access········:·0x0019·(PUBLIC·STATIC·FINAL)78828 ······access········:·0x0019·(PUBLIC·STATIC·FINAL)
78829 ······value·········:·false78829 ······value·········:·false
78830 ····#4··············:·(in·Lorg/billthefarmer/solver/BuildConfig;)78830 ····#4··············:·(in·Lorg/billthefarmer/solver/BuildConfig;)
78831 ······name··········:·'VERSION_CODE'78831 ······name··········:·'VERSION_CODE'
Offset 79731, 15 lines modifiedOffset 79731, 15 lines modified
79731 0de4ea:·6e10·7f03·0300·························|0041:·invoke-virtual·{v3},·Ljava/util/regex/Matcher;.find:()Z·//·method@037f79731 0de4ea:·6e10·7f03·0300·························|0041:·invoke-virtual·{v3},·Ljava/util/regex/Matcher;.find:()Z·//·method@037f
79732 0de4f0:·0a04···································|0044:·move-result·v479732 0de4f0:·0a04···································|0044:·move-result·v4
79733 0de4f2:·3804·1a00······························|0045:·if-eqz·v4,·005f·//·+001a79733 0de4f2:·3804·1a00······························|0045:·if-eqz·v4,·005f·//·+001a
79734 0de4f6:·6e10·8a03·0300·························|0047:·invoke-virtual·{v3},·Ljava/util/regex/Matcher;.start:()I·//·method@038a79734 0de4f6:·6e10·8a03·0300·························|0047:·invoke-virtual·{v3},·Ljava/util/regex/Matcher;.start:()I·//·method@038a
79735 0de4fc:·0a04···································|004a:·move-result·v479735 0de4fc:·0a04···································|004a:·move-result·v4
79736 0de4fe:·6e10·7d03·0300·························|004b:·invoke-virtual·{v3},·Ljava/util/regex/Matcher;.end:()I·//·method@037d79736 0de4fe:·6e10·7d03·0300·························|004b:·invoke-virtual·{v3},·Ljava/util/regex/Matcher;.end:()I·//·method@037d
79737 0de504:·0a03···································|004e:·move-result·v379737 0de504:·0a03···································|004e:·move-result·v3
79738 0de506:·1805·3901·472f·8901·0000···············|004f:·const-wide·v5,·#double·8.34336e-312·//·#000001892f47013979738 0de506:·1805·c8e5·9932·8901·0000···············|004f:·const-wide·v5,·#double·8.34364e-312·//·#000001893299e5c8
79739 0de510:·7120·0b01·6500·························|0054:·invoke-static·{v5,·v6},·Ljava/lang/Long;.valueOf:(J)Ljava/lang/Long;·//·method@010b79739 0de510:·7120·0b01·6500·························|0054:·invoke-static·{v5,·v6},·Ljava/lang/Long;.valueOf:(J)Ljava/lang/Long;·//·method@010b
79740 0de516:·0c05···································|0057:·move-result-object·v579740 0de516:·0c05···································|0057:·move-result-object·v5
79741 0de518:·6e20·6702·5100·························|0058:·invoke-virtual·{v1,·v5},·Ljava/text/DateFormat;.format:(Ljava/lang/Object;)Ljava/lang/String;·//·method@026779741 0de518:·6e20·6702·5100·························|0058:·invoke-virtual·{v1,·v5},·Ljava/text/DateFormat;.format:(Ljava/lang/Object;)Ljava/lang/String;·//·method@0267
79742 0de51e:·0c01···································|005b:·move-result-object·v179742 0de51e:·0c01···································|005b:·move-result-object·v1
79743 0de520:·6e40·1900·4213·························|005c:·invoke-virtual·{v2,·v4,·v3,·v1},·Landroid/text/SpannableStringBuilder;.replace:(IILjava/lang/CharSequence;)Landroid/text/SpannableStringBuilder;·//·method@001979743 0de520:·6e40·1900·4213·························|005c:·invoke-virtual·{v2,·v4,·v3,·v1},·Landroid/text/SpannableStringBuilder;.replace:(IILjava/lang/CharSequence;)Landroid/text/SpannableStringBuilder;·//·method@0019
79744 0de526:·6e20·0800·2000·························|005f:·invoke-virtual·{v0,·v2},·Landroid/app/AlertDialog$Builder;.setMessage:(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder;·//·method@000879744 0de526:·6e20·0800·2000·························|005f:·invoke-virtual·{v0,·v2},·Landroid/app/AlertDialog$Builder;.setMessage:(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder;·//·method@0008
79745 0de52c:·1401·0a00·0401·························|0062:·const·v1,·#float·2.42446e-38·//·#0104000a79745 0de52c:·1401·0a00·0401·························|0062:·const·v1,·#float·2.42446e-38·//·#0104000a
3.35 KB
classes.jar
1.53 KB
zipinfo {}
    
Offset 1, 8 lines modifiedOffset 1, 8 lines modified
1 Zip·file·size:·1452288·bytes,·number·of·entries:·10101 Zip·file·size:·1452289·bytes,·number·of·entries:·1010
2 ?rwxrwxr-x··2.0·unx······261·b-·stor·80-Jan-01·00:00·kotlin/ArrayIntrinsicsKt.class2 ?rwxrwxr-x··2.0·unx······261·b-·stor·80-Jan-01·00:00·kotlin/ArrayIntrinsicsKt.class
3 ?rwxrwxr-x··2.0·unx······114·b-·stor·80-Jan-01·00:00·kotlin/BuilderInference.class3 ?rwxrwxr-x··2.0·unx······114·b-·stor·80-Jan-01·00:00·kotlin/BuilderInference.class
4 ?rwxrwxr-x··2.0·unx······138·b-·stor·80-Jan-01·00:00·kotlin/CharCodeJVMKt.class4 ?rwxrwxr-x··2.0·unx······138·b-·stor·80-Jan-01·00:00·kotlin/CharCodeJVMKt.class
5 ?rwxrwxr-x··2.0·unx······507·b-·stor·80-Jan-01·00:00·kotlin/CharCodeKt.class5 ?rwxrwxr-x··2.0·unx······507·b-·stor·80-Jan-01·00:00·kotlin/CharCodeKt.class
6 ?rwxrwxr-x··2.0·unx······359·b-·stor·80-Jan-01·00:00·kotlin/CompareToKt.class6 ?rwxrwxr-x··2.0·unx······359·b-·stor·80-Jan-01·00:00·kotlin/CompareToKt.class
7 ?rwxrwxr-x··2.0·unx······145·b-·stor·80-Jan-01·00:00·kotlin/ContextFunctionTypeParams.class7 ?rwxrwxr-x··2.0·unx······145·b-·stor·80-Jan-01·00:00·kotlin/ContextFunctionTypeParams.class
8 ?rwxrwxr-x··2.0·unx······461·b-·stor·80-Jan-01·00:00·kotlin/DeepRecursiveFunction.class8 ?rwxrwxr-x··2.0·unx······461·b-·stor·80-Jan-01·00:00·kotlin/DeepRecursiveFunction.class
Offset 1005, 8 lines modifiedOffset 1005, 8 lines modified
1005 ?rwxrwxr-x··2.0·unx····16591·b-·defN·80-Jan-01·00:00·kotlin/text/StringsKt__StringsJVMKt.class1005 ?rwxrwxr-x··2.0·unx····16591·b-·defN·80-Jan-01·00:00·kotlin/text/StringsKt__StringsJVMKt.class
1006 ?rwxrwxr-x··2.0·unx····45142·b-·defN·80-Jan-01·00:00·kotlin/collections/CollectionsKt___CollectionsKt.class1006 ?rwxrwxr-x··2.0·unx····45142·b-·defN·80-Jan-01·00:00·kotlin/collections/CollectionsKt___CollectionsKt.class
1007 ?rwxrwxr-x··2.0·unx····28635·b-·defN·80-Jan-01·00:00·kotlin/text/StringsKt__StringsKt.class1007 ?rwxrwxr-x··2.0·unx····28635·b-·defN·80-Jan-01·00:00·kotlin/text/StringsKt__StringsKt.class
1008 ?rwxrwxr-x··2.0·unx······179·b-·stor·80-Jan-01·00:00·kotlin/collections/CollectionsKt.class1008 ?rwxrwxr-x··2.0·unx······179·b-·stor·80-Jan-01·00:00·kotlin/collections/CollectionsKt.class
1009 ?rwxrwxr-x··2.0·unx·····3058·b-·stor·80-Jan-01·00:00·kotlin/text/StringsKt___StringsJvmKt.class1009 ?rwxrwxr-x··2.0·unx·····3058·b-·stor·80-Jan-01·00:00·kotlin/text/StringsKt___StringsJvmKt.class
1010 ?rwxrwxr-x··2.0·unx····36057·b-·defN·80-Jan-01·00:00·kotlin/text/StringsKt___StringsKt.class1010 ?rwxrwxr-x··2.0·unx····36057·b-·defN·80-Jan-01·00:00·kotlin/text/StringsKt___StringsKt.class
1011 ?rwxrwxr-x··2.0·unx······153·b-·stor·80-Jan-01·00:00·kotlin/text/StringsKt.class1011 ?rwxrwxr-x··2.0·unx······153·b-·stor·80-Jan-01·00:00·kotlin/text/StringsKt.class
1012 1010·files,·1776188·bytes·uncompressed,·1285348·bytes·compressed:··27.6%1012 1010·files,·1776188·bytes·uncompressed,·1285349·bytes·compressed:··27.6%
600 B
org/billthefarmer/solver/BuildConfig.class
516 B
procyon -ec {}
    
Offset 1, 12 lines modifiedOffset 1, 12 lines modified
  
1 package·org.billthefarmer.solver;1 package·org.billthefarmer.solver;
  
2 public·final·class·BuildConfig2 public·final·class·BuildConfig
3 {3 {
4 ····public·static·final·String·APPLICATION_ID·=·"org.billthefarmer.solver";4 ····public·static·final·String·APPLICATION_ID·=·"org.billthefarmer.solver";
5 ····public·static·final·String·BUILD_TYPE·=·"release";5 ····public·static·final·String·BUILD_TYPE·=·"release";
6 ····public·static·final·long·BUILT·=·1688715329849L;6 ····public·static·final·long·BUILT·=·1688771093960L;
7 ····public·static·final·boolean·DEBUG·=·false;7 ····public·static·final·boolean·DEBUG·=·false;
8 ····public·static·final·int·VERSION_CODE·=·107;8 ····public·static·final·int·VERSION_CODE·=·107;
9 ····public·static·final·String·VERSION_NAME·=·"1.07";9 ····public·static·final·String·VERSION_NAME·=·"1.07";
10 }10 }
1.21 KB
org/billthefarmer/solver/Main.class
1.15 KB
procyon -ec {}
    
Offset 84, 15 lines modifiedOffset 84, 15 lines modified
84 ········final·SpannableStringBuilder·message·=·new·SpannableStringBuilder(this.getText(2131230744));84 ········final·SpannableStringBuilder·message·=·new·SpannableStringBuilder(this.getText(2131230744));
85 ········final·Matcher·matcher·=·Pattern.compile("%s").matcher((CharSequence)message);85 ········final·Matcher·matcher·=·Pattern.compile("%s").matcher((CharSequence)message);
86 ········if·(matcher.find())·{86 ········if·(matcher.find())·{
87 ············message.replace(matcher.start(),·matcher.end(),·(CharSequence)"1.07");87 ············message.replace(matcher.start(),·matcher.end(),·(CharSequence)"1.07");
88 ········}88 ········}
89 ········matcher.reset((CharSequence)message);89 ········matcher.reset((CharSequence)message);
90 ········if·(matcher.find())·{90 ········if·(matcher.find())·{
91 ············message.replace(matcher.start(),·matcher.end(),·(CharSequence)dateTimeInstance.format(Long.valueOf(1688715329849L)));91 ············message.replace(matcher.start(),·matcher.end(),·(CharSequence)dateTimeInstance.format(Long.valueOf(1688771093960L)));
92 ········}92 ········}
93 ········alertDialog$Builder.setMessage((CharSequence)message);93 ········alertDialog$Builder.setMessage((CharSequence)message);
94 ········alertDialog$Builder.setPositiveButton(17039370,·(DialogInterface$OnClickListener)null);94 ········alertDialog$Builder.setPositiveButton(17039370,·(DialogInterface$OnClickListener)null);
95 ········final·TextView·textView·=·(TextView)((Dialog)alertDialog$Builder.show()).findViewById(16908299);95 ········final·TextView·textView·=·(TextView)((Dialog)alertDialog$Builder.show()).findViewById(16908299);
96 ········if·(textView·!=·null)·{96 ········if·(textView·!=·null)·{
97 ············textView.setTextAppearance(alertDialog$Builder.getContext(),·16973894);97 ············textView.setTextAppearance(alertDialog$Builder.getContext(),·16973894);
98 ············textView.setMovementMethod(LinkMovementMethod.getInstance());98 ············textView.setMovementMethod(LinkMovementMethod.getInstance());
503 B
smali/org/billthefarmer/solver/Main.smali
    
Offset 211, 15 lines modifiedOffset 211, 15 lines modified
  
211 ····move-result·v4211 ····move-result·v4
  
212 ····invoke-virtual·{v3},·Ljava/util/regex/Matcher;->end()I212 ····invoke-virtual·{v3},·Ljava/util/regex/Matcher;->end()I
  
213 ····move-result·v3213 ····move-result·v3
  
214 ····const-wide·v5,·0x1892f470139L214 ····const-wide·v5,·0x1893299e5c8L
  
215 ····.line·558215 ····.line·558
216 ····invoke-static·{v5,·v6},·Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;216 ····invoke-static·{v5,·v6},·Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
  
217 ····move-result-object·v5217 ····move-result-object·v5
  
218 ····invoke-virtual·{v1,·v5},·Ljava/text/DateFormat;->format(Ljava/lang/Object;)Ljava/lang/String;218 ····invoke-virtual·{v1,·v5},·Ljava/text/DateFormat;->format(Ljava/lang/Object;)Ljava/lang/String;
577 B
smali/org/billthefarmer/solver/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.solver"5 .field·public·static·final·APPLICATION_ID:Ljava/lang/String;·=·"org.billthefarmer.solver"
  
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·=·0x1892f470139L7 .field·public·static·final·BUILT:J·=·0x1893299e5c8L
  
8 .field·public·static·final·DEBUG:Z·=·false8 .field·public·static·final·DEBUG:Z·=·false
  
9 .field·public·static·final·VERSION_CODE:I·=·0x6b9 .field·public·static·final·VERSION_CODE:I·=·0x6b
  
10 .field·public·static·final·VERSION_NAME:Ljava/lang/String;·=·"1.07"10 .field·public·static·final·VERSION_NAME:Ljava/lang/String;·=·"1.07"