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:·ce0376edfab05ab81e028006df9154b7ce3af46dda77140feb7489e1cacd769d | ||
10 | Signer·#1·certificate·SHA-1·digest:·e73e7b16d5381ca1288d100b7c9dc9aa2f859114 | ||
11 | Signer·#1·certificate·MD5·digest:·2e95082be0957626aca573da9d8ea330 | ||
12 | Signer·#1·key·algorithm:·RSA | ||
13 | Signer·#1·key·size·(bits):·2048 | ||
14 | Signer·#1·public·key·SHA-256·digest:·408add9a44e97535a19e01b416a013c8e2ffa5852e94842e7623185509c95132 | ||
15 | Signer·#1·public·key·SHA-1·digest:·4e4a8ab8117697a7e46568f8633d19cb36990324 | ||
16 | Signer·#1·public·key·MD5·digest:·26ade0f9ae4d3e4e632cd301075308aa | ||
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 68, 8 lines modified | Offset 68, 8 lines modified | ||
68 | -rw----·····0.0·fat·····3059·b-·stor·81-Jan-01·01:01·res/xM.png | 68 | -rw----·····0.0·fat·····3059·b-·stor·81-Jan-01·01:01·res/xM.png |
69 | -rw----·····0.0·fat······308·b-·stor·81-Jan-01·01:01·res/xb.png | 69 | -rw----·····0.0·fat······308·b-·stor·81-Jan-01·01:01·res/xb.png |
70 | -rw----·····0.0·fat······933·b-·stor·81-Jan-01·01:01·res/xi.png | 70 | -rw----·····0.0·fat······933·b-·stor·81-Jan-01·01:01·res/xi.png |
71 | -rw----·····0.0·fat····15820·b-·stor·81-Jan-01·01:01·resources.arsc | 71 | -rw----·····0.0·fat····15820·b-·stor·81-Jan-01·01:01·resources.arsc |
72 | -rw----·····2.0·fat·····6090·b-·defN·81-Jan-01·01:01·META-INF/D6DE58C1.SF | 72 | -rw----·····2.0·fat·····6090·b-·defN·81-Jan-01·01:01·META-INF/D6DE58C1.SF |
73 | -rw----·····2.0·fat·····1334·b-·defN·81-Jan-01·01:01·META-INF/D6DE58C1.RSA | 73 | -rw----·····2.0·fat·····1334·b-·defN·81-Jan-01·01:01·META-INF/D6DE58C1.RSA |
74 | -rw----·····2.0·fat·····5963·b-·defN·81-Jan-01·01:01·META-INF/MANIFEST.MF | 74 | -rw----·····2.0·fat·····5963·b-·defN·81-Jan-01·01:01·META-INF/MANIFEST.MF |
75 | 73·files,·1189192·bytes·uncompressed,·55616 | 75 | 73·files,·1189192·bytes·uncompressed,·556166·bytes·compressed:··53.2% |
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············:·4549f3c2 |
5 | signature···········:· | 5 | signature···········:·809a...9329 |
6 | file_size···········:·505736 | 6 | file_size···········:·505736 |
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·····:·4232 | 10 | string_ids_size·····:·4232 |
11 | string_ids_off······:·112·(0x000070) | 11 | string_ids_off······:·112·(0x000070) |
12 | type_ids_size·······:·567 | 12 | type_ids_size·······:·567 |
Offset 68053, 15 lines modified | Offset 68053, 15 lines modified | ||
68053 | ······type··········:·'Ljava/lang/String;' | 68053 | ······type··········:·'Ljava/lang/String;' |
68054 | ······access········:·0x0019·(PUBLIC·STATIC·FINAL) | 68054 | ······access········:·0x0019·(PUBLIC·STATIC·FINAL) |
68055 | ······value·········:·"release" | 68055 | ······value·········:·"release" |
68056 | ····#2··············:·(in·Lorg/billthefarmer/gurgle/BuildConfig;) | 68056 | ····#2··············:·(in·Lorg/billthefarmer/gurgle/BuildConfig;) |
68057 | ······name··········:·'BUILT' | 68057 | ······name··········:·'BUILT' |
68058 | ······type··········:·'J' | 68058 | ······type··········:·'J' |
68059 | ······access········:·0x0019·(PUBLIC·STATIC·FINAL) | 68059 | ······access········:·0x0019·(PUBLIC·STATIC·FINAL) |
68060 | ······value·········:·1681 | 68060 | ······value·········:·1681597456281 |
68061 | ····#3··············:·(in·Lorg/billthefarmer/gurgle/BuildConfig;) | 68061 | ····#3··············:·(in·Lorg/billthefarmer/gurgle/BuildConfig;) |
68062 | ······name··········:·'DEBUG' | 68062 | ······name··········:·'DEBUG' |
68063 | ······type··········:·'Z' | 68063 | ······type··········:·'Z' |
68064 | ······access········:·0x0019·(PUBLIC·STATIC·FINAL) | 68064 | ······access········:·0x0019·(PUBLIC·STATIC·FINAL) |
68065 | ······value·········:·false | 68065 | ······value·········:·false |
68066 | ····#4··············:·(in·Lorg/billthefarmer/gurgle/BuildConfig;) | 68066 | ····#4··············:·(in·Lorg/billthefarmer/gurgle/BuildConfig;) |
68067 | ······name··········:·'VERSION_CODE' | 68067 | ······name··········:·'VERSION_CODE' |
Offset 69497, 15 lines modified | Offset 69497, 15 lines modified | ||
69497 | 0581d6:·6e10·730a·0300·························|0041:·invoke-virtual·{v3},·Ljava/util/regex/Matcher;.find:()Z·//·method@0a73 | 69497 | 0581d6:·6e10·730a·0300·························|0041:·invoke-virtual·{v3},·Ljava/util/regex/Matcher;.find:()Z·//·method@0a73 |
69498 | 0581dc:·0a04···································|0044:·move-result·v4 | 69498 | 0581dc:·0a04···································|0044:·move-result·v4 |
69499 | 0581de:·3804·1a00······························|0045:·if-eqz·v4,·005f·//·+001a | 69499 | 0581de:·3804·1a00······························|0045:·if-eqz·v4,·005f·//·+001a |
69500 | 0581e2:·6e10·790a·0300·························|0047:·invoke-virtual·{v3},·Ljava/util/regex/Matcher;.start:()I·//·method@0a79 | 69500 | 0581e2:·6e10·790a·0300·························|0047:·invoke-virtual·{v3},·Ljava/util/regex/Matcher;.start:()I·//·method@0a79 |
69501 | 0581e8:·0a04···································|004a:·move-result·v4 | 69501 | 0581e8:·0a04···································|004a:·move-result·v4 |
69502 | 0581ea:·6e10·710a·0300·························|004b:·invoke-virtual·{v3},·Ljava/util/regex/Matcher;.end:()I·//·method@0a71 | 69502 | 0581ea:·6e10·710a·0300·························|004b:·invoke-virtual·{v3},·Ljava/util/regex/Matcher;.end:()I·//·method@0a71 |
69503 | 0581f0:·0a03···································|004e:·move-result·v3 | 69503 | 0581f0:·0a03···································|004e:·move-result·v3 |
69504 | 0581f2:·1805· | 69504 | 0581f2:·1805·99df·0487·8701·0000···············|004f:·const-wide·v5,·#double·8.3082e-312·//·#000001878704df99 |
69505 | 0581fc:·7120·9d09·6500·························|0054:·invoke-static·{v5,·v6},·Ljava/lang/Long;.valueOf:(J)Ljava/lang/Long;·//·method@099d | 69505 | 0581fc:·7120·9d09·6500·························|0054:·invoke-static·{v5,·v6},·Ljava/lang/Long;.valueOf:(J)Ljava/lang/Long;·//·method@099d |
69506 | 058202:·0c05···································|0057:·move-result-object·v5 | 69506 | 058202:·0c05···································|0057:·move-result-object·v5 |
69507 | 058204:·6e20·0b0a·5100·························|0058:·invoke-virtual·{v1,·v5},·Ljava/text/DateFormat;.format:(Ljava/lang/Object;)Ljava/lang/String;·//·method@0a0b | 69507 | 058204:·6e20·0b0a·5100·························|0058:·invoke-virtual·{v1,·v5},·Ljava/text/DateFormat;.format:(Ljava/lang/Object;)Ljava/lang/String;·//·method@0a0b |
69508 | 05820a:·0c01···································|005b:·move-result-object·v1 | 69508 | 05820a:·0c01···································|005b:·move-result-object·v1 |
69509 | 05820c:·6e40·7f00·4213·························|005c:·invoke-virtual·{v2,·v4,·v3,·v1},·Landroid/text/SpannableStringBuilder;.replace:(IILjava/lang/CharSequence;)Landroid/text/SpannableStringBuilder;·//·method@007f | 69509 | 05820c:·6e40·7f00·4213·························|005c:·invoke-virtual·{v2,·v4,·v3,·v1},·Landroid/text/SpannableStringBuilder;.replace:(IILjava/lang/CharSequence;)Landroid/text/SpannableStringBuilder;·//·method@007f |
69510 | 058212:·6e20·0b00·2000·························|005f:·invoke-virtual·{v0,·v2},·Landroid/app/AlertDialog$Builder;.setMessage:(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder;·//·method@000b | 69510 | 058212:·6e20·0b00·2000·························|005f:·invoke-virtual·{v0,·v2},·Landroid/app/AlertDialog$Builder;.setMessage:(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder;·//·method@000b |
69511 | 058218:·1401·0a00·0401·························|0062:·const·v1,·#float·2.42446e-38·//·#0104000a | 69511 | 058218:·1401·0a00·0401·························|0062:·const·v1,·#float·2.42446e-38·//·#0104000a |
Offset 4735, 15 lines modified | Offset 4735, 15 lines modified | ||
4735 | ··version·of·encoding·software:···················2.0 | 4735 | ··version·of·encoding·software:···················2.0 |
4736 | ··minimum·file·system·compatibility·required:·····MS-DOS,·OS/2·or·NT·FAT | 4736 | ··minimum·file·system·compatibility·required:·····MS-DOS,·OS/2·or·NT·FAT |
4737 | ··minimum·software·version·required·to·extract:···2.0 | 4737 | ··minimum·software·version·required·to·extract:···2.0 |
4738 | ··compression·method:·····························none·(stored) | 4738 | ··compression·method:·····························none·(stored) |
4739 | ··file·security·status:···························not·encrypted | 4739 | ··file·security·status:···························not·encrypted |
4740 | ··extended·local·header:··························no | 4740 | ··extended·local·header:··························no |
4741 | ··file·last·modified·on·(DOS·date/time):··········1980·Jan·1·00:00:00 | 4741 | ··file·last·modified·on·(DOS·date/time):··········1980·Jan·1·00:00:00 |
4742 | ··32-bit·CRC·value·(hex):························· | 4742 | ··32-bit·CRC·value·(hex):·························29093137 |
4743 | ··compressed·size:································444·bytes | 4743 | ··compressed·size:································444·bytes |
4744 | ··uncompressed·size:······························444·bytes | 4744 | ··uncompressed·size:······························444·bytes |
4745 | ··length·of·filename:·····························42·characters | 4745 | ··length·of·filename:·····························42·characters |
4746 | ··length·of·extra·field:··························0·bytes | 4746 | ··length·of·extra·field:··························0·bytes |
4747 | ··length·of·file·comment:·························0·characters | 4747 | ··length·of·file·comment:·························0·characters |
4748 | ··disk·number·on·which·file·begins:···············disk·1 | 4748 | ··disk·number·on·which·file·begins:···············disk·1 |
4749 | ··apparent·file·type:·····························binary | 4749 | ··apparent·file·type:·····························binary |
Offset 5128, 15 lines modified | Offset 5128, 15 lines modified | ||
5128 | ··minimum·file·system·compatibility·required:·····MS-DOS,·OS/2·or·NT·FAT | 5128 | ··minimum·file·system·compatibility·required:·····MS-DOS,·OS/2·or·NT·FAT |
5129 | ··minimum·software·version·required·to·extract:···2.0 | 5129 | ··minimum·software·version·required·to·extract:···2.0 |
5130 | ··compression·method:·····························deflated | 5130 | ··compression·method:·····························deflated |
5131 | ··compression·sub-type·(deflation):···············normal | 5131 | ··compression·sub-type·(deflation):···············normal |
5132 | ··file·security·status:···························not·encrypted | 5132 | ··file·security·status:···························not·encrypted |
5133 | ··extended·local·header:··························no | 5133 | ··extended·local·header:··························no |
5134 | ··file·last·modified·on·(DOS·date/time):··········1980·Jan·1·00:00:00 | 5134 | ··file·last·modified·on·(DOS·date/time):··········1980·Jan·1·00:00:00 |
5135 | ··32-bit·CRC·value·(hex):·························d1 | 5135 | ··32-bit·CRC·value·(hex):·························16d138e5 |
5136 | ··compressed·size:································13637·bytes | 5136 | ··compressed·size:································13637·bytes |
5137 | ··uncompressed·size:······························29401·bytes | 5137 | ··uncompressed·size:······························29401·bytes |
5138 | ··length·of·filename:·····························37·characters | 5138 | ··length·of·filename:·····························37·characters |
5139 | ··length·of·extra·field:··························0·bytes | 5139 | ··length·of·extra·field:··························0·bytes |
5140 | ··length·of·file·comment:·························0·characters | 5140 | ··length·of·file·comment:·························0·characters |
5141 | ··disk·number·on·which·file·begins:···············disk·1 | 5141 | ··disk·number·on·which·file·begins:···············disk·1 |
5142 | ··apparent·file·type:·····························binary | 5142 | ··apparent·file·type:·····························binary |
Offset 1, 12 lines modified | Offset 1, 12 lines modified | ||
1 | package·org.billthefarmer.gurgle; | 1 | package·org.billthefarmer.gurgle; |
2 | public·final·class·BuildConfig | 2 | public·final·class·BuildConfig |
3 | { | 3 | { |
4 | ····public·static·final·String·APPLICATION_ID·=·"org.billthefarmer.gurgle"; | 4 | ····public·static·final·String·APPLICATION_ID·=·"org.billthefarmer.gurgle"; |
5 | ····public·static·final·String·BUILD_TYPE·=·"release"; | 5 | ····public·static·final·String·BUILD_TYPE·=·"release"; |
6 | ····public·static·final·long·BUILT·=·1681 | 6 | ····public·static·final·long·BUILT·=·1681597456281L; |
7 | ····public·static·final·boolean·DEBUG·=·false; | 7 | ····public·static·final·boolean·DEBUG·=·false; |
8 | ····public·static·final·int·VERSION_CODE·=·120; | 8 | ····public·static·final·int·VERSION_CODE·=·120; |
9 | ····public·static·final·String·VERSION_NAME·=·"1.20"; | 9 | ····public·static·final·String·VERSION_NAME·=·"1.20"; |
10 | } | 10 | } |
Offset 176, 15 lines modified | Offset 176, 15 lines modified | ||
176 | ········final·SpannableStringBuilder·message·=·new·SpannableStringBuilder(this.getText(2131230760)); | 176 | ········final·SpannableStringBuilder·message·=·new·SpannableStringBuilder(this.getText(2131230760)); |
177 | ········final·Matcher·matcher·=·Pattern.compile("%s").matcher((CharSequence)message); | 177 | ········final·Matcher·matcher·=·Pattern.compile("%s").matcher((CharSequence)message); |
178 | ········if·(matcher.find())·{ | 178 | ········if·(matcher.find())·{ |
179 | ············message.replace(matcher.start(),·matcher.end(),·(CharSequence)"1.20"); | 179 | ············message.replace(matcher.start(),·matcher.end(),·(CharSequence)"1.20"); |
180 | ········} | 180 | ········} |
181 | ········matcher.reset((CharSequence)message); | 181 | ········matcher.reset((CharSequence)message); |
182 | ········if·(matcher.find())·{ | 182 | ········if·(matcher.find())·{ |
183 | ············message.replace(matcher.start(),·matcher.end(),·(CharSequence)dateTimeInstance.format(Long.valueOf(1681 | 183 | ············message.replace(matcher.start(),·matcher.end(),·(CharSequence)dateTimeInstance.format(Long.valueOf(1681597456281L))); |
184 | ········} | 184 | ········} |
185 | ········alertDialog$Builder.setMessage((CharSequence)message); | 185 | ········alertDialog$Builder.setMessage((CharSequence)message); |
186 | ········alertDialog$Builder.setPositiveButton(17039370,·(DialogInterface$OnClickListener)null); | 186 | ········alertDialog$Builder.setPositiveButton(17039370,·(DialogInterface$OnClickListener)null); |
187 | ········alertDialog$Builder.setNeutralButton(2131230743,·(DialogInterface$OnClickListener)new·Gurgle$$ExternalSyntheticLambda9(this)); | 187 | ········alertDialog$Builder.setNeutralButton(2131230743,·(DialogInterface$OnClickListener)new·Gurgle$$ExternalSyntheticLambda9(this)); |
188 | ········final·TextView·textView·=·(TextView)((Dialog)alertDialog$Builder.show()).findViewById(16908299); | 188 | ········final·TextView·textView·=·(TextView)((Dialog)alertDialog$Builder.show()).findViewById(16908299); |
189 | ········if·(textView·!=·null)·{ | 189 | ········if·(textView·!=·null)·{ |
190 | ············textView.setTextAppearance(alertDialog$Builder.getContext(),·16973894); | 190 | ············textView.setTextAppearance(alertDialog$Builder.getContext(),·16973894); |
Offset 386, 15 lines modified | Offset 386, 15 lines modified | ||
386 | ····move-result·v4 | 386 | ····move-result·v4 |
387 | ····invoke-virtual·{v3},·Ljava/util/regex/Matcher;->end()I | 387 | ····invoke-virtual·{v3},·Ljava/util/regex/Matcher;->end()I |
388 | ····move-result·v3 | 388 | ····move-result·v3 |
389 | ····const-wide·v5,·0x187 | 389 | ····const-wide·v5,·0x1878704df99L |
390 | ····.line·1502 | 390 | ····.line·1502 |
391 | ····invoke-static·{v5,·v6},·Ljava/lang/Long;->valueOf(J)Ljava/lang/Long; | 391 | ····invoke-static·{v5,·v6},·Ljava/lang/Long;->valueOf(J)Ljava/lang/Long; |
392 | ····move-result-object·v5 | 392 | ····move-result-object·v5 |
393 | ····invoke-virtual·{v1,·v5},·Ljava/text/DateFormat;->format(Ljava/lang/Object;)Ljava/lang/String; | 393 | ····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.gurgle" | 5 | .field·public·static·final·APPLICATION_ID:Ljava/lang/String;·=·"org.billthefarmer.gurgle" |
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·=·0x187 | 7 | .field·public·static·final·BUILT:J·=·0x1878704df99L |
8 | .field·public·static·final·DEBUG:Z·=·false | 8 | .field·public·static·final·DEBUG:Z·=·false |
9 | .field·public·static·final·VERSION_CODE:I·=·0x78 | 9 | .field·public·static·final·VERSION_CODE:I·=·0x78 |
10 | .field·public·static·final·VERSION_NAME:Ljava/lang/String;·=·"1.20" | 10 | .field·public·static·final·VERSION_NAME:Ljava/lang/String;·=·"1.20" |