Offset 1, 17 lines modified | Offset 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/. |
Offset 56, 15 lines modified | Offset 56, 15 lines modified | ||
56 | ··minimum·file·system·compatibility·required:·····MS-DOS,·OS/2·or·NT·FAT | 56 | ··minimum·file·system·compatibility·required:·····MS-DOS,·OS/2·or·NT·FAT |
57 | ··minimum·software·version·required·to·extract:···0.0 | 57 | ··minimum·software·version·required·to·extract:···0.0 |
58 | ··compression·method:·····························deflated | 58 | ··compression·method:·····························deflated |
59 | ··compression·sub-type·(deflation):···············normal | 59 | ··compression·sub-type·(deflation):···············normal |
60 | ··file·security·status:···························not·encrypted | 60 | ··file·security·status:···························not·encrypted |
61 | ··extended·local·header:··························no | 61 | ··extended·local·header:··························no |
62 | ··file·last·modified·on·(DOS·date/time):··········1981·Jan·1·01:01:02 | 62 | ··file·last·modified·on·(DOS·date/time):··········1981·Jan·1·01:01:02 |
63 | ··32-bit·CRC·value·(hex):························· | 63 | ··32-bit·CRC·value·(hex):·························9a75389d |
64 | ··compressed·size:································593619·bytes | 64 | ··compressed·size:································593619·bytes |
65 | ··uncompressed·size:······························2016076·bytes | 65 | ··uncompressed·size:······························2016076·bytes |
66 | ··length·of·filename:·····························11·characters | 66 | ··length·of·filename:·····························11·characters |
67 | ··length·of·extra·field:··························0·bytes | 67 | ··length·of·extra·field:··························0·bytes |
68 | ··length·of·file·comment:·························0·characters | 68 | ··length·of·file·comment:·························0·characters |
69 | ··disk·number·on·which·file·begins:···············disk·1 | 69 | ··disk·number·on·which·file·begins:···············disk·1 |
70 | ··apparent·file·type:·····························binary | 70 | ··apparent·file·type:·····························binary |
Offset 1, 12 lines modified | Offset 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············:· | 4 | checksum············:·f5abfb5d |
5 | signature···········:· | 5 | signature···········:·5bba...cf18 |
6 | file_size···········:·2016076 | 6 | file_size···········:·2016076 |
7 | header_size·········:·112 | 7 | header_size·········:·112 |
8 | link_size···········:·0 | 8 | link_size···········:·0 |
9 | link_off············:·0·(0x000000) | 9 | link_off············:·0·(0x000000) |
10 | string_ids_size·····:·11007 | 10 | string_ids_size·····:·11007 |
11 | string_ids_off······:·112·(0x000070) | 11 | string_ids_off······:·112·(0x000070) |
12 | type_ids_size·······:·1325 | 12 | type_ids_size·······:·1325 |
Offset 78817, 15 lines modified | Offset 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·········:·168871 | 78824 | ······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·········:·false | 78829 | ······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 modified | Offset 79731, 15 lines modified | ||
79731 | 0de4ea:·6e10·7f03·0300·························|0041:·invoke-virtual·{v3},·Ljava/util/regex/Matcher;.find:()Z·//·method@037f | 79731 | 0de4ea:·6e10·7f03·0300·························|0041:·invoke-virtual·{v3},·Ljava/util/regex/Matcher;.find:()Z·//·method@037f |
79732 | 0de4f0:·0a04···································|0044:·move-result·v4 | 79732 | 0de4f0:·0a04···································|0044:·move-result·v4 |
79733 | 0de4f2:·3804·1a00······························|0045:·if-eqz·v4,·005f·//·+001a | 79733 | 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@038a | 79734 | 0de4f6:·6e10·8a03·0300·························|0047:·invoke-virtual·{v3},·Ljava/util/regex/Matcher;.start:()I·//·method@038a |
79735 | 0de4fc:·0a04···································|004a:·move-result·v4 | 79735 | 0de4fc:·0a04···································|004a:·move-result·v4 |
79736 | 0de4fe:·6e10·7d03·0300·························|004b:·invoke-virtual·{v3},·Ljava/util/regex/Matcher;.end:()I·//·method@037d | 79736 | 0de4fe:·6e10·7d03·0300·························|004b:·invoke-virtual·{v3},·Ljava/util/regex/Matcher;.end:()I·//·method@037d |
79737 | 0de504:·0a03···································|004e:·move-result·v3 | 79737 | 0de504:·0a03···································|004e:·move-result·v3 |
79738 | 0de506:·1805· | 79738 | 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@010b | 79739 | 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·v5 | 79740 | 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@0267 | 79741 | 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·v1 | 79742 | 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@0019 | 79743 | 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@0008 | 79744 | 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·//·#0104000a | 79745 | 0de52c:·1401·0a00·0401·························|0062:·const·v1,·#float·2.42446e-38·//·#0104000a |
Offset 1, 8 lines modified | Offset 1, 8 lines modified | ||
1 | Zip·file·size:·145228 | 1 | 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.class | 2 | ?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.class | 3 | ?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.class | 4 | ?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.class | 5 | ?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.class | 6 | ?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.class | 7 | ?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.class | 8 | ?rwxrwxr-x··2.0·unx······461·b-·stor·80-Jan-01·00:00·kotlin/DeepRecursiveFunction.class |
Offset 1005, 8 lines modified | Offset 1005, 8 lines modified | ||
1005 | ?rwxrwxr-x··2.0·unx····16591·b-·defN·80-Jan-01·00:00·kotlin/text/StringsKt__StringsJVMKt.class | 1005 | ?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.class | 1006 | ?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.class | 1007 | ?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.class | 1008 | ?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.class | 1009 | ?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.class | 1010 | ?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.class | 1011 | ?rwxrwxr-x··2.0·unx······153·b-·stor·80-Jan-01·00:00·kotlin/text/StringsKt.class |
1012 | 1010·files,·1776188·bytes·uncompressed,·128534 | 1012 | 1010·files,·1776188·bytes·uncompressed,·1285349·bytes·compressed:··27.6% |
Offset 1, 12 lines modified | Offset 1, 12 lines modified | ||
1 | package·org.billthefarmer.solver; | 1 | package·org.billthefarmer.solver; |
2 | public·final·class·BuildConfig | 2 | 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·=·168871 | 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 | } |
Offset 84, 15 lines modified | Offset 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(168871 | 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()); |
Offset 211, 15 lines modified | Offset 211, 15 lines modified | ||
211 | ····move-result·v4 | 211 | ····move-result·v4 |
212 | ····invoke-virtual·{v3},·Ljava/util/regex/Matcher;->end()I | 212 | ····invoke-virtual·{v3},·Ljava/util/regex/Matcher;->end()I |
213 | ····move-result·v3 | 213 | ····move-result·v3 |
214 | ····const-wide·v5,·0x189 | 214 | ····const-wide·v5,·0x1893299e5c8L |
215 | ····.line·558 | 215 | ····.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·v5 | 217 | ····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; |
Offset 4, 15 lines modified | Offset 4, 15 lines modified | ||
4 | #·static·fields | 4 | #·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·=·0x189 | 7 | .field·public·static·final·BUILT:J·=·0x1893299e5c8L |
8 | .field·public·static·final·DEBUG:Z·=·false | 8 | .field·public·static·final·DEBUG:Z·=·false |
9 | .field·public·static·final·VERSION_CODE:I·=·0x6b | 9 | .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" |