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:·b6ece1ea0199f5c5fd8cec6d0934dc877c0d8314642e0da4739257cc53162428 | ||
10 | Signer·#1·certificate·SHA-1·digest:·ad0eec2a2959964eba962a35588290fed98706d8 | ||
11 | Signer·#1·certificate·MD5·digest:·d0c3f4c74c08f9d80f19162453cf9ef8 | ||
12 | Signer·#1·key·algorithm:·RSA | ||
13 | Signer·#1·key·size·(bits):·2048 | ||
14 | Signer·#1·public·key·SHA-256·digest:·1224a1eaa9bf266614cbd46db4738a2f898e432f0ee6d0e3ea7f133b9af5ae1f | ||
15 | Signer·#1·public·key·SHA-1·digest:·b84d2bf207e20d679d90f413fb4930f16f917c63 | ||
16 | Signer·#1·public·key·MD5·digest:·3d60ffeb9421e2496a9f2b7d5c5ce07a | ||
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 13, 8 lines modified | Offset 13, 8 lines modified | ||
13 | -rw----·····0.0·fat······419·b-·stor·81-Jan-01·01:01·res/eg.png | 13 | -rw----·····0.0·fat······419·b-·stor·81-Jan-01·01:01·res/eg.png |
14 | -rw----·····0.0·fat······286·b-·stor·81-Jan-01·01:01·res/qJ.png | 14 | -rw----·····0.0·fat······286·b-·stor·81-Jan-01·01:01·res/qJ.png |
15 | -rw----·····0.0·fat······688·b-·defN·81-Jan-01·01:01·res/w6.xml | 15 | -rw----·····0.0·fat······688·b-·defN·81-Jan-01·01:01·res/w6.xml |
16 | -rw----·····0.0·fat·····2756·b-·stor·81-Jan-01·01:01·resources.arsc | 16 | -rw----·····0.0·fat·····2756·b-·stor·81-Jan-01·01:01·resources.arsc |
17 | -rw----·····2.0·fat·····1500·b-·defN·81-Jan-01·01:01·META-INF/8DE54109.SF | 17 | -rw----·····2.0·fat·····1500·b-·defN·81-Jan-01·01:01·META-INF/8DE54109.SF |
18 | -rw----·····2.0·fat·····1344·b-·defN·81-Jan-01·01:01·META-INF/8DE54109.RSA | 18 | -rw----·····2.0·fat·····1344·b-·defN·81-Jan-01·01:01·META-INF/8DE54109.RSA |
19 | -rw----·····2.0·fat·····1373·b-·defN·81-Jan-01·01:01·META-INF/MANIFEST.MF | 19 | -rw----·····2.0·fat·····1373·b-·defN·81-Jan-01·01:01·META-INF/MANIFEST.MF |
20 | 18·files,·240523·bytes·uncompressed,·10568 | 20 | 18·files,·240523·bytes·uncompressed,·105686·bytes·compressed:··56.1% |
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············:·ae10197f |
5 | signature···········:· | 5 | signature···········:·538c...595d |
6 | file_size···········:·194152 | 6 | file_size···········:·194152 |
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·····:·1795 | 10 | string_ids_size·····:·1795 |
11 | string_ids_off······:·112·(0x000070) | 11 | string_ids_off······:·112·(0x000070) |
12 | type_ids_size·······:·418 | 12 | type_ids_size·······:·418 |
Offset 1943, 15 lines modified | Offset 1943, 15 lines modified | ||
1943 | ······type··········:·'Ljava/lang/String;' | 1943 | ······type··········:·'Ljava/lang/String;' |
1944 | ······access········:·0x0019·(PUBLIC·STATIC·FINAL) | 1944 | ······access········:·0x0019·(PUBLIC·STATIC·FINAL) |
1945 | ······value·········:·"release" | 1945 | ······value·········:·"release" |
1946 | ····#2··············:·(in·Lorg/billthefarmer/print/BuildConfig;) | 1946 | ····#2··············:·(in·Lorg/billthefarmer/print/BuildConfig;) |
1947 | ······name··········:·'BUILT' | 1947 | ······name··········:·'BUILT' |
1948 | ······type··········:·'J' | 1948 | ······type··········:·'J' |
1949 | ······access········:·0x0019·(PUBLIC·STATIC·FINAL) | 1949 | ······access········:·0x0019·(PUBLIC·STATIC·FINAL) |
1950 | ······value·········:·1673 | 1950 | ······value·········:·1673483923753 |
1951 | ····#3··············:·(in·Lorg/billthefarmer/print/BuildConfig;) | 1951 | ····#3··············:·(in·Lorg/billthefarmer/print/BuildConfig;) |
1952 | ······name··········:·'DEBUG' | 1952 | ······name··········:·'DEBUG' |
1953 | ······type··········:·'Z' | 1953 | ······type··········:·'Z' |
1954 | ······access········:·0x0019·(PUBLIC·STATIC·FINAL) | 1954 | ······access········:·0x0019·(PUBLIC·STATIC·FINAL) |
1955 | ······value·········:·false | 1955 | ······value·········:·false |
1956 | ····#4··············:·(in·Lorg/billthefarmer/print/BuildConfig;) | 1956 | ····#4··············:·(in·Lorg/billthefarmer/print/BuildConfig;) |
1957 | ······name··········:·'VERSION_CODE' | 1957 | ······name··········:·'VERSION_CODE' |
Offset 2539, 15 lines modified | Offset 2539, 15 lines modified | ||
2539 | 010422:·6e10·c601·0300·························|003b:·invoke-virtual·{v3},·Ljava/util/regex/Matcher;.find:()Z·//·method@01c6 | 2539 | 010422:·6e10·c601·0300·························|003b:·invoke-virtual·{v3},·Ljava/util/regex/Matcher;.find:()Z·//·method@01c6 |
2540 | 010428:·0a04···································|003e:·move-result·v4 | 2540 | 010428:·0a04···································|003e:·move-result·v4 |
2541 | 01042a:·3804·1a00······························|003f:·if-eqz·v4,·0059·//·+001a | 2541 | 01042a:·3804·1a00······························|003f:·if-eqz·v4,·0059·//·+001a |
2542 | 01042e:·6e10·cc01·0300·························|0041:·invoke-virtual·{v3},·Ljava/util/regex/Matcher;.start:()I·//·method@01cc | 2542 | 01042e:·6e10·cc01·0300·························|0041:·invoke-virtual·{v3},·Ljava/util/regex/Matcher;.start:()I·//·method@01cc |
2543 | 010434:·0a04···································|0044:·move-result·v4 | 2543 | 010434:·0a04···································|0044:·move-result·v4 |
2544 | 010436:·6e10·c501·0300·························|0045:·invoke-virtual·{v3},·Ljava/util/regex/Matcher;.end:()I·//·method@01c5 | 2544 | 010436:·6e10·c501·0300·························|0045:·invoke-virtual·{v3},·Ljava/util/regex/Matcher;.end:()I·//·method@01c5 |
2545 | 01043c:·0a03···································|0048:·move-result·v3 | 2545 | 01043c:·0a03···································|0048:·move-result·v3 |
2546 | 01043e:·1805· | 2546 | 01043e:·1805·2931·6aa3·8501·0000···············|0049:·const-wide·v5,·#double·8.26811e-312·//·#00000185a36a3129 |
2547 | 010448:·7120·5201·6500·························|004e:·invoke-static·{v5,·v6},·Ljava/lang/Long;.valueOf:(J)Ljava/lang/Long;·//·method@0152 | 2547 | 010448:·7120·5201·6500·························|004e:·invoke-static·{v5,·v6},·Ljava/lang/Long;.valueOf:(J)Ljava/lang/Long;·//·method@0152 |
2548 | 01044e:·0c05···································|0051:·move-result-object·v5 | 2548 | 01044e:·0c05···································|0051:·move-result-object·v5 |
2549 | 010450:·6e20·8201·5100·························|0052:·invoke-virtual·{v1,·v5},·Ljava/text/DateFormat;.format:(Ljava/lang/Object;)Ljava/lang/String;·//·method@0182 | 2549 | 010450:·6e20·8201·5100·························|0052:·invoke-virtual·{v1,·v5},·Ljava/text/DateFormat;.format:(Ljava/lang/Object;)Ljava/lang/String;·//·method@0182 |
2550 | 010456:·0c01···································|0055:·move-result-object·v1 | 2550 | 010456:·0c01···································|0055:·move-result-object·v1 |
2551 | 010458:·6e40·2100·4213·························|0056:·invoke-virtual·{v2,·v4,·v3,·v1},·Landroid/text/SpannableStringBuilder;.replace:(IILjava/lang/CharSequence;)Landroid/text/SpannableStringBuilder;·//·method@0021 | 2551 | 010458:·6e40·2100·4213·························|0056:·invoke-virtual·{v2,·v4,·v3,·v1},·Landroid/text/SpannableStringBuilder;.replace:(IILjava/lang/CharSequence;)Landroid/text/SpannableStringBuilder;·//·method@0021 |
2552 | 01045e:·6e20·0700·2000·························|0059:·invoke-virtual·{v0,·v2},·Landroid/app/AlertDialog$Builder;.setMessage:(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder;·//·method@0007 | 2552 | 01045e:·6e20·0700·2000·························|0059:·invoke-virtual·{v0,·v2},·Landroid/app/AlertDialog$Builder;.setMessage:(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder;·//·method@0007 |
2553 | 010464:·1401·0a00·0401·························|005c:·const·v1,·#float·2.42446e-38·//·#0104000a | 2553 | 010464:·1401·0a00·0401·························|005c:·const·v1,·#float·2.42446e-38·//·#0104000a |
Offset 222, 15 lines modified | Offset 222, 15 lines modified | ||
222 | ··version·of·encoding·software:···················2.0 | 222 | ··version·of·encoding·software:···················2.0 |
223 | ··minimum·file·system·compatibility·required:·····MS-DOS,·OS/2·or·NT·FAT | 223 | ··minimum·file·system·compatibility·required:·····MS-DOS,·OS/2·or·NT·FAT |
224 | ··minimum·software·version·required·to·extract:···2.0 | 224 | ··minimum·software·version·required·to·extract:···2.0 |
225 | ··compression·method:·····························none·(stored) | 225 | ··compression·method:·····························none·(stored) |
226 | ··file·security·status:···························not·encrypted | 226 | ··file·security·status:···························not·encrypted |
227 | ··extended·local·header:··························no | 227 | ··extended·local·header:··························no |
228 | ··file·last·modified·on·(DOS·date/time):··········1980·Jan·1·00:00:00 | 228 | ··file·last·modified·on·(DOS·date/time):··········1980·Jan·1·00:00:00 |
229 | ··32-bit·CRC·value·(hex):························· | 229 | ··32-bit·CRC·value·(hex):·························2bfe9319 |
230 | ··compressed·size:································442·bytes | 230 | ··compressed·size:································442·bytes |
231 | ··uncompressed·size:······························442·bytes | 231 | ··uncompressed·size:······························442·bytes |
232 | ··length·of·filename:·····························41·characters | 232 | ··length·of·filename:·····························41·characters |
233 | ··length·of·extra·field:··························0·bytes | 233 | ··length·of·extra·field:··························0·bytes |
234 | ··length·of·file·comment:·························0·characters | 234 | ··length·of·file·comment:·························0·characters |
235 | ··disk·number·on·which·file·begins:···············disk·1 | 235 | ··disk·number·on·which·file·begins:···············disk·1 |
236 | ··apparent·file·type:·····························binary | 236 | ··apparent·file·type:·····························binary |
Offset 335, 15 lines modified | Offset 335, 15 lines modified | ||
335 | ··minimum·file·system·compatibility·required:·····MS-DOS,·OS/2·or·NT·FAT | 335 | ··minimum·file·system·compatibility·required:·····MS-DOS,·OS/2·or·NT·FAT |
336 | ··minimum·software·version·required·to·extract:···2.0 | 336 | ··minimum·software·version·required·to·extract:···2.0 |
337 | ··compression·method:·····························deflated | 337 | ··compression·method:·····························deflated |
338 | ··compression·sub-type·(deflation):···············normal | 338 | ··compression·sub-type·(deflation):···············normal |
339 | ··file·security·status:···························not·encrypted | 339 | ··file·security·status:···························not·encrypted |
340 | ··extended·local·header:··························no | 340 | ··extended·local·header:··························no |
341 | ··file·last·modified·on·(DOS·date/time):··········1980·Jan·1·00:00:00 | 341 | ··file·last·modified·on·(DOS·date/time):··········1980·Jan·1·00:00:00 |
342 | ··32-bit·CRC·value·(hex):························· | 342 | ··32-bit·CRC·value·(hex):·························fcb75a4b |
343 | ··compressed·size:································4703·bytes | 343 | ··compressed·size:································4703·bytes |
344 | ··uncompressed·size:······························10020·bytes | 344 | ··uncompressed·size:······························10020·bytes |
345 | ··length·of·filename:·····························35·characters | 345 | ··length·of·filename:·····························35·characters |
346 | ··length·of·extra·field:··························0·bytes | 346 | ··length·of·extra·field:··························0·bytes |
347 | ··length·of·file·comment:·························0·characters | 347 | ··length·of·file·comment:·························0·characters |
348 | ··disk·number·on·which·file·begins:···············disk·1 | 348 | ··disk·number·on·which·file·begins:···············disk·1 |
349 | ··apparent·file·type:·····························binary | 349 | ··apparent·file·type:·····························binary |
Offset 1, 12 lines modified | Offset 1, 12 lines modified | ||
1 | package·org.billthefarmer.print; | 1 | package·org.billthefarmer.print; |
2 | public·final·class·BuildConfig | 2 | public·final·class·BuildConfig |
3 | { | 3 | { |
4 | ····public·static·final·String·APPLICATION_ID·=·"org.billthefarmer.print"; | 4 | ····public·static·final·String·APPLICATION_ID·=·"org.billthefarmer.print"; |
5 | ····public·static·final·String·BUILD_TYPE·=·"release"; | 5 | ····public·static·final·String·BUILD_TYPE·=·"release"; |
6 | ····public·static·final·long·BUILT·=·1673 | 6 | ····public·static·final·long·BUILT·=·1673483923753L; |
7 | ····public·static·final·boolean·DEBUG·=·false; | 7 | ····public·static·final·boolean·DEBUG·=·false; |
8 | ····public·static·final·int·VERSION_CODE·=·105; | 8 | ····public·static·final·int·VERSION_CODE·=·105; |
9 | ····public·static·final·String·VERSION_NAME·=·"1.05"; | 9 | ····public·static·final·String·VERSION_NAME·=·"1.05"; |
10 | } | 10 | } |
Offset 70, 15 lines modified | Offset 70, 15 lines modified | ||
70 | ········final·SpannableStringBuilder·message·=·new·SpannableStringBuilder(this.getText(2131034117)); | 70 | ········final·SpannableStringBuilder·message·=·new·SpannableStringBuilder(this.getText(2131034117)); |
71 | ········final·Matcher·matcher·=·Pattern.compile("%s").matcher((CharSequence)message); | 71 | ········final·Matcher·matcher·=·Pattern.compile("%s").matcher((CharSequence)message); |
72 | ········if·(matcher.find())·{ | 72 | ········if·(matcher.find())·{ |
73 | ············message.replace(matcher.start(),·matcher.end(),·(CharSequence)"1.05"); | 73 | ············message.replace(matcher.start(),·matcher.end(),·(CharSequence)"1.05"); |
74 | ········} | 74 | ········} |
75 | ········matcher.reset((CharSequence)message); | 75 | ········matcher.reset((CharSequence)message); |
76 | ········if·(matcher.find())·{ | 76 | ········if·(matcher.find())·{ |
77 | ············message.replace(matcher.start(),·matcher.end(),·(CharSequence)dateTimeInstance.format(Long.valueOf(1673 | 77 | ············message.replace(matcher.start(),·matcher.end(),·(CharSequence)dateTimeInstance.format(Long.valueOf(1673483923753L))); |
78 | ········} | 78 | ········} |
79 | ········alertDialog$Builder.setMessage((CharSequence)message); | 79 | ········alertDialog$Builder.setMessage((CharSequence)message); |
80 | ········alertDialog$Builder.setPositiveButton(17039370,·(DialogInterface$OnClickListener)null); | 80 | ········alertDialog$Builder.setPositiveButton(17039370,·(DialogInterface$OnClickListener)null); |
81 | ········final·TextView·textView·=·(TextView)((Dialog)alertDialog$Builder.show()).findViewById(16908299); | 81 | ········final·TextView·textView·=·(TextView)((Dialog)alertDialog$Builder.show()).findViewById(16908299); |
82 | ········if·(textView·!=·null)·{ | 82 | ········if·(textView·!=·null)·{ |
83 | ············textView.setMovementMethod(LinkMovementMethod.getInstance()); | 83 | ············textView.setMovementMethod(LinkMovementMethod.getInstance()); |
84 | ········} | 84 | ········} |
Offset 136, 15 lines modified | Offset 136, 15 lines modified | ||
136 | ····move-result·v4 | 136 | ····move-result·v4 |
137 | ····invoke-virtual·{v3},·Ljava/util/regex/Matcher;->end()I | 137 | ····invoke-virtual·{v3},·Ljava/util/regex/Matcher;->end()I |
138 | ····move-result·v3 | 138 | ····move-result·v3 |
139 | ····const-wide·v5,·0x185 | 139 | ····const-wide·v5,·0x185a36a3129L |
140 | ····.line·453 | 140 | ····.line·453 |
141 | ····invoke-static·{v5,·v6},·Ljava/lang/Long;->valueOf(J)Ljava/lang/Long; | 141 | ····invoke-static·{v5,·v6},·Ljava/lang/Long;->valueOf(J)Ljava/lang/Long; |
142 | ····move-result-object·v5 | 142 | ····move-result-object·v5 |
143 | ····invoke-virtual·{v1,·v5},·Ljava/text/DateFormat;->format(Ljava/lang/Object;)Ljava/lang/String; | 143 | ····invoke-virtual·{v1,·v5},·Ljava/text/DateFormat;->format(Ljava/lang/Object;)Ljava/lang/String; |
Offset 44, 15 lines modified | Offset 44, 15 lines modified | ||
44 | const-string·v6,·"1.05"·invoke-virtual·{v2,·v4,·v5,·v6},·Landroid/text/ | 44 | const-string·v6,·"1.05"·invoke-virtual·{v2,·v4,·v5,·v6},·Landroid/text/ |
45 | SpannableStringBuilder;->replace(IILjava/lang/CharSequence;)Landroid/text/ | 45 | SpannableStringBuilder;->replace(IILjava/lang/CharSequence;)Landroid/text/ |
46 | SpannableStringBuilder;·.line·450·:cond_0·invoke-virtual·{v3,·v2},·Ljava/util/ | 46 | SpannableStringBuilder;·.line·450·:cond_0·invoke-virtual·{v3,·v2},·Ljava/util/ |
47 | regex/Matcher;->reset(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;·.line | 47 | regex/Matcher;->reset(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;·.line |
48 | 451·invoke-virtual·{v3},·Ljava/util/regex/Matcher;->find()Z·move-result·v4·if- | 48 | 451·invoke-virtual·{v3},·Ljava/util/regex/Matcher;->find()Z·move-result·v4·if- |
49 | eqz·v4,·:cond_1·.line·452·invoke-virtual·{v3},·Ljava/util/regex/Matcher;->start | 49 | eqz·v4,·:cond_1·.line·452·invoke-virtual·{v3},·Ljava/util/regex/Matcher;->start |
50 | ()I·move-result·v4·invoke-virtual·{v3},·Ljava/util/regex/Matcher;->end()I·move- | 50 | ()I·move-result·v4·invoke-virtual·{v3},·Ljava/util/regex/Matcher;->end()I·move- |
51 | result·v3·const-wide·v5,·0x185 | 51 | result·v3·const-wide·v5,·0x185a36a3129L·.line·453·invoke-static·{v5,·v6}, |
52 | Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;·move-result-object·v5·invoke- | 52 | Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;·move-result-object·v5·invoke- |
53 | virtual·{v1,·v5},·Ljava/text/DateFormat;->format(Ljava/lang/Object;)Ljava/lang/ | 53 | virtual·{v1,·v5},·Ljava/text/DateFormat;->format(Ljava/lang/Object;)Ljava/lang/ |
54 | String;·move-result-object·v1·.line·452·invoke-virtual·{v2,·v4,·v3,·v1}, | 54 | String;·move-result-object·v1·.line·452·invoke-virtual·{v2,·v4,·v3,·v1}, |
55 | Landroid/text/SpannableStringBuilder;->replace(IILjava/lang/ | 55 | Landroid/text/SpannableStringBuilder;->replace(IILjava/lang/ |
56 | CharSequence;)Landroid/text/SpannableStringBuilder;·.line·454·:cond_1·invoke- | 56 | CharSequence;)Landroid/text/SpannableStringBuilder;·.line·454·:cond_1·invoke- |
57 | virtual·{v0,·v2},·Landroid/app/AlertDialog$Builder;->setMessage(Ljava/lang/ | 57 | virtual·{v0,·v2},·Landroid/app/AlertDialog$Builder;->setMessage(Ljava/lang/ |
58 | CharSequence;)Landroid/app/AlertDialog$Builder;·const·v1,·0x104000a·const/4·v2, | 58 | CharSequence;)Landroid/app/AlertDialog$Builder;·const·v1,·0x104000a·const/4·v2, |
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.print" | 5 | .field·public·static·final·APPLICATION_ID:Ljava/lang/String;·=·"org.billthefarmer.print" |
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·=·0x185 | 7 | .field·public·static·final·BUILT:J·=·0x185a36a3129L |
8 | .field·public·static·final·DEBUG:Z·=·false | 8 | .field·public·static·final·DEBUG:Z·=·false |
9 | .field·public·static·final·VERSION_CODE:I·=·0x69 | 9 | .field·public·static·final·VERSION_CODE:I·=·0x69 |
10 | .field·public·static·final·VERSION_NAME:Ljava/lang/String;·=·"1.05" | 10 | .field·public·static·final·VERSION_NAME:Ljava/lang/String;·=·"1.05" |