Offset 1, 16 lines modified | Offset 0, 0 lines modified | ||
1 | Verifies | ||
2 | Verified·using·v1·scheme·(JAR·signing):·false | ||
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:·2ead34fd4f36a9bcbc2243bd79cdeefecd70465032f788a880faa3c5bb4f485e | ||
10 | Signer·#1·certificate·SHA-1·digest:·ef8670b2e5b8a4241d7f55508e2c477b4257a3bc | ||
11 | Signer·#1·certificate·MD5·digest:·4d5057a8de08ab9b883fc4a675996448 | ||
12 | Signer·#1·key·algorithm:·RSA | ||
13 | Signer·#1·key·size·(bits):·2048 | ||
14 | Signer·#1·public·key·SHA-256·digest:·408187b583495f99788ae12682fa926b48d1062cd6d0cc4516af739663feeca0 | ||
15 | Signer·#1·public·key·SHA-1·digest:·2b3fcc03cfffe4d84a2d2b86b70c1764a50885cd | ||
16 | Signer·#1·public·key·MD5·digest:·f56ff7990426b2e44c5b5e994fed4c00 |
Offset 507, 8 lines modified | Offset 507, 8 lines modified | ||
507 | -rw----·····0.0·fat·····1396·b-·defN·81-Jan-01·01:01·res/zR.xml | 507 | -rw----·····0.0·fat·····1396·b-·defN·81-Jan-01·01:01·res/zR.xml |
508 | -rw----·····0.0·fat·····2463·b-·stor·81-Jan-01·01:01·res/zV.9.png | 508 | -rw----·····0.0·fat·····2463·b-·stor·81-Jan-01·01:01·res/zV.9.png |
509 | -rw----·····0.0·fat······464·b-·defN·81-Jan-01·01:01·res/zq.xml | 509 | -rw----·····0.0·fat······464·b-·defN·81-Jan-01·01:01·res/zq.xml |
510 | -rw----·····0.0·fat···325672·b-·stor·81-Jan-01·01:01·resources.arsc | 510 | -rw----·····0.0·fat···325672·b-·stor·81-Jan-01·01:01·resources.arsc |
511 | -rw----·····2.0·fat····45032·b-·defN·81-Jan-01·01:01·META-INF/85C0A9DA.SF | 511 | -rw----·····2.0·fat····45032·b-·defN·81-Jan-01·01:01·META-INF/85C0A9DA.SF |
512 | -rw----·····2.0·fat·····1334·b-·defN·81-Jan-01·01:01·META-INF/85C0A9DA.RSA | 512 | -rw----·····2.0·fat·····1334·b-·defN·81-Jan-01·01:01·META-INF/85C0A9DA.RSA |
513 | -rw----·····2.0·fat····44905·b-·defN·81-Jan-01·01:01·META-INF/MANIFEST.MF | 513 | -rw----·····2.0·fat····44905·b-·defN·81-Jan-01·01:01·META-INF/MANIFEST.MF |
514 | 512·files,·8830469·bytes·uncompressed,·378651 | 514 | 512·files,·8830469·bytes·uncompressed,·3786518·bytes·compressed:··57.1% |
Offset 1, 12 lines modified | Offset 1, 12 lines modified | ||
1 | DEX·version·'037' | 1 | DEX·version·'037' |
2 | DEX·file·header: | 2 | DEX·file·header: |
3 | magic···············:·'dex\n037\0' | 3 | magic···············:·'dex\n037\0' |
4 | checksum············:·b | 4 | checksum············:·bb7964c9 |
5 | signature···········:· | 5 | signature···········:·094a...c9c1 |
6 | file_size···········:·8001452 | 6 | file_size···········:·8001452 |
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·····:·54970 | 10 | string_ids_size·····:·54970 |
11 | string_ids_off······:·112·(0x000070) | 11 | string_ids_off······:·112·(0x000070) |
12 | type_ids_size·······:·8969 | 12 | type_ids_size·······:·8969 |
Offset 892272, 15 lines modified | Offset 892272, 15 lines modified | ||
892272 | 52411e:·6e10·86b3·0100·························|002d:·invoke-virtual·{v1},·Lorg/bouncycastle/jce/provider/BouncyCastleProvider;.getVersion:()D·//·method@b386 | 892272 | 52411e:·6e10·86b3·0100·························|002d:·invoke-virtual·{v1},·Lorg/bouncycastle/jce/provider/BouncyCastleProvider;.getVersion:()D·//·method@b386 |
892273 | 524124:·0b05···································|0030:·move-result-wide·v5 | 892273 | 524124:·0b05···································|0030:·move-result-wide·v5 |
892274 | 524126:·6e30·2c68·5406·························|0031:·invoke-virtual·{v4,·v5,·v6},·Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder;·//·method@682c | 892274 | 524126:·6e30·2c68·5406·························|0031:·invoke-virtual·{v4,·v5,·v6},·Ljava/lang/StringBuilder;.append:(D)Ljava/lang/StringBuilder;·//·method@682c |
892275 | 52412c:·0c01···································|0034:·move-result-object·v1 | 892275 | 52412c:·0c01···································|0034:·move-result-object·v1 |
892276 | 52412e:·6e20·3368·0100·························|0035:·invoke-virtual·{v1,·v0},·Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;·//·method@6833 | 892276 | 52412e:·6e20·3368·0100·························|0035:·invoke-virtual·{v1,·v0},·Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;·//·method@6833 |
892277 | 524134:·0c00···································|0038:·move-result-object·v0 | 892277 | 524134:·0c00···································|0038:·move-result-object·v0 |
892278 | 524136:·2201·340d······························|0039:·new-instance·v1,·Ljava/util/Date;·//·type@0d34 | 892278 | 524136:·2201·340d······························|0039:·new-instance·v1,·Ljava/util/Date;·//·type@0d34 |
892279 | 52413a:·1804· | 892279 | 52413a:·1804·1c54·20dd·8c01·0000···············|003b:·const-wide·v4,·#double·8.42143e-312·//·#0000018cdd20541c |
892280 | 524144:·7030·5a6b·4105·························|0040:·invoke-direct·{v1,·v4,·v5},·Ljava/util/Date;.<init>:(J)V·//·method@6b5a | 892280 | 524144:·7030·5a6b·4105·························|0040:·invoke-direct·{v1,·v4,·v5},·Ljava/util/Date;.<init>:(J)V·//·method@6b5a |
892281 | 52414a:·6e20·e86a·1300·························|0043:·invoke-virtual·{v3,·v1},·Ljava/text/SimpleDateFormat;.format:(Ljava/util/Date;)Ljava/lang/String;·//·method@6ae8 | 892281 | 52414a:·6e20·e86a·1300·························|0043:·invoke-virtual·{v3,·v1},·Ljava/text/SimpleDateFormat;.format:(Ljava/util/Date;)Ljava/lang/String;·//·method@6ae8 |
892282 | 524150:·0c01···································|0046:·move-result-object·v1 | 892282 | 524150:·0c01···································|0046:·move-result-object·v1 |
892283 | 524152:·6e20·3368·1000·························|0047:·invoke-virtual·{v0,·v1},·Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;·//·method@6833 | 892283 | 524152:·6e20·3368·1000·························|0047:·invoke-virtual·{v0,·v1},·Ljava/lang/StringBuilder;.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;·//·method@6833 |
892284 | 524158:·0c00···································|004a:·move-result-object·v0 | 892284 | 524158:·0c00···································|004a:·move-result-object·v0 |
892285 | 52415a:·1a01·ec00······························|004b:·const-string·v1,·"·UTC | 892285 | 52415a:·1a01·ec00······························|004b:·const-string·v1,·"·UTC |
892286 | Android·"·//·string@00ec | 892286 | Android·"·//·string@00ec |
Offset 893077, 15 lines modified | Offset 893077, 15 lines modified | ||
893077 | ······type··········:·'Ljava/lang/String;' | 893077 | ······type··········:·'Ljava/lang/String;' |
893078 | ······access········:·0x0019·(PUBLIC·STATIC·FINAL) | 893078 | ······access········:·0x0019·(PUBLIC·STATIC·FINAL) |
893079 | ······value·········:·"org.purple.smokestack" | 893079 | ······value·········:·"org.purple.smokestack" |
893080 | ····#1··············:·(in·Lorg/purple/smokestack/BuildConfig;) | 893080 | ····#1··············:·(in·Lorg/purple/smokestack/BuildConfig;) |
893081 | ······name··········:·'BUILD_TIME' | 893081 | ······name··········:·'BUILD_TIME' |
893082 | ······type··········:·'J' | 893082 | ······type··········:·'J' |
893083 | ······access········:·0x0019·(PUBLIC·STATIC·FINAL) | 893083 | ······access········:·0x0019·(PUBLIC·STATIC·FINAL) |
893084 | ······value·········:·1704 | 893084 | ······value·········:·1704516932636 |
893085 | ····#2··············:·(in·Lorg/purple/smokestack/BuildConfig;) | 893085 | ····#2··············:·(in·Lorg/purple/smokestack/BuildConfig;) |
893086 | ······name··········:·'BUILD_TYPE' | 893086 | ······name··········:·'BUILD_TYPE' |
893087 | ······type··········:·'Ljava/lang/String;' | 893087 | ······type··········:·'Ljava/lang/String;' |
893088 | ······access········:·0x0019·(PUBLIC·STATIC·FINAL) | 893088 | ······access········:·0x0019·(PUBLIC·STATIC·FINAL) |
893089 | ······value·········:·"release" | 893089 | ······value·········:·"release" |
893090 | ····#3··············:·(in·Lorg/purple/smokestack/BuildConfig;) | 893090 | ····#3··············:·(in·Lorg/purple/smokestack/BuildConfig;) |
893091 | ······name··········:·'DEBUG' | 893091 | ······name··········:·'DEBUG' |
Offset 96305, 15 lines modified | Offset 96305, 15 lines modified | ||
96305 | ··version·of·encoding·software:···················2.0 | 96305 | ··version·of·encoding·software:···················2.0 |
96306 | ··minimum·file·system·compatibility·required:·····MS-DOS,·OS/2·or·NT·FAT | 96306 | ··minimum·file·system·compatibility·required:·····MS-DOS,·OS/2·or·NT·FAT |
96307 | ··minimum·software·version·required·to·extract:···2.0 | 96307 | ··minimum·software·version·required·to·extract:···2.0 |
96308 | ··compression·method:·····························none·(stored) | 96308 | ··compression·method:·····························none·(stored) |
96309 | ··file·security·status:···························not·encrypted | 96309 | ··file·security·status:···························not·encrypted |
96310 | ··extended·local·header:··························no | 96310 | ··extended·local·header:··························no |
96311 | ··file·last·modified·on·(DOS·date/time):··········1980·Jan·1·00:00:00 | 96311 | ··file·last·modified·on·(DOS·date/time):··········1980·Jan·1·00:00:00 |
96312 | ··32-bit·CRC·value·(hex):························· | 96312 | ··32-bit·CRC·value·(hex):·························e4846c7b |
96313 | ··compressed·size:································1916·bytes | 96313 | ··compressed·size:································1916·bytes |
96314 | ··uncompressed·size:······························1916·bytes | 96314 | ··uncompressed·size:······························1916·bytes |
96315 | ··length·of·filename:·····························33·characters | 96315 | ··length·of·filename:·····························33·characters |
96316 | ··length·of·extra·field:··························0·bytes | 96316 | ··length·of·extra·field:··························0·bytes |
96317 | ··length·of·file·comment:·························0·characters | 96317 | ··length·of·file·comment:·························0·characters |
96318 | ··disk·number·on·which·file·begins:···············disk·1 | 96318 | ··disk·number·on·which·file·begins:···············disk·1 |
96319 | ··apparent·file·type:·····························binary | 96319 | ··apparent·file·type:·····························binary |
Offset 96473, 15 lines modified | Offset 96473, 15 lines modified | ||
96473 | ··version·of·encoding·software:···················2.0 | 96473 | ··version·of·encoding·software:···················2.0 |
96474 | ··minimum·file·system·compatibility·required:·····MS-DOS,·OS/2·or·NT·FAT | 96474 | ··minimum·file·system·compatibility·required:·····MS-DOS,·OS/2·or·NT·FAT |
96475 | ··minimum·software·version·required·to·extract:···2.0 | 96475 | ··minimum·software·version·required·to·extract:···2.0 |
96476 | ··compression·method:·····························none·(stored) | 96476 | ··compression·method:·····························none·(stored) |
96477 | ··file·security·status:···························not·encrypted | 96477 | ··file·security·status:···························not·encrypted |
96478 | ··extended·local·header:··························no | 96478 | ··extended·local·header:··························no |
96479 | ··file·last·modified·on·(DOS·date/time):··········1980·Jan·1·00:00:00 | 96479 | ··file·last·modified·on·(DOS·date/time):··········1980·Jan·1·00:00:00 |
96480 | ··32-bit·CRC·value·(hex):························· | 96480 | ··32-bit·CRC·value·(hex):·························7f6d7f8b |
96481 | ··compressed·size:································449·bytes | 96481 | ··compressed·size:································449·bytes |
96482 | ··uncompressed·size:······························449·bytes | 96482 | ··uncompressed·size:······························449·bytes |
96483 | ··length·of·filename:·····························39·characters | 96483 | ··length·of·filename:·····························39·characters |
96484 | ··length·of·extra·field:··························0·bytes | 96484 | ··length·of·extra·field:··························0·bytes |
96485 | ··length·of·file·comment:·························0·characters | 96485 | ··length·of·file·comment:·························0·characters |
96486 | ··disk·number·on·which·file·begins:···············disk·1 | 96486 | ··disk·number·on·which·file·begins:···············disk·1 |
96487 | ··apparent·file·type:·····························binary | 96487 | ··apparent·file·type:·····························binary |
Offset 30, 15 lines modified | Offset 30, 15 lines modified | ||
30 | ····················} | 30 | ····················} |
31 | ····················final·SimpleDateFormat·simpleDateFormat·=·new·SimpleDateFormat("yyyy-MM-dd·h:mm:ss",·Locale.getDefault()); | 31 | ····················final·SimpleDateFormat·simpleDateFormat·=·new·SimpleDateFormat("yyyy-MM-dd·h:mm:ss",·Locale.getDefault()); |
32 | ····················simpleDateFormat.setTimeZone(TimeZone.getTimeZone("UTC")); | 32 | ····················simpleDateFormat.setTimeZone(TimeZone.getTimeZone("UTC")); |
33 | ····················final·StringBuilder·sb·=·new·StringBuilder(str2); | 33 | ····················final·StringBuilder·sb·=·new·StringBuilder(str2); |
34 | ····················try·{ | 34 | ····················try·{ |
35 | ························final·StringBuilder·append·=·sb.append(new·BouncyCastleProvider().getVersion()).append(str); | 35 | ························final·StringBuilder·append·=·sb.append(new·BouncyCastleProvider().getVersion()).append(str); |
36 | ························try·{ | 36 | ························try·{ |
37 | ····························final·Date·date·=·new·Date(1704 | 37 | ····························final·Date·date·=·new·Date(1704516932636L); |
38 | ····························final·SimpleDateFormat·simpleDateFormat2·=·simpleDateFormat; | 38 | ····························final·SimpleDateFormat·simpleDateFormat2·=·simpleDateFormat; |
39 | ····························try·{ | 39 | ····························try·{ |
40 | ································final·StringBuilder·append2·=·append.append(simpleDateFormat2.format(date)).append("·UTC\nAndroid·"); | 40 | ································final·StringBuilder·append2·=·append.append(simpleDateFormat2.format(date)).append("·UTC\nAndroid·"); |
41 | ································try·{ | 41 | ································try·{ |
42 | ····································final·StringBuilder·append3·=·append2.append(Build$VERSION.RELEASE); | 42 | ····································final·StringBuilder·append3·=·append2.append(Build$VERSION.RELEASE); |
43 | ····································try·{ | 43 | ····································try·{ |
44 | ········································string·=·append3.toString(); | 44 | ········································string·=·append3.toString(); |
Offset 1, 12 lines modified | Offset 1, 12 lines modified | ||
1 | package·org.purple.smokestack; | 1 | package·org.purple.smokestack; |
2 | public·final·class·BuildConfig | 2 | public·final·class·BuildConfig |
3 | { | 3 | { |
4 | ····public·static·final·String·APPLICATION_ID·=·"org.purple.smokestack"; | 4 | ····public·static·final·String·APPLICATION_ID·=·"org.purple.smokestack"; |
5 | ····public·static·final·long·BUILD_TIME·=·1704 | 5 | ····public·static·final·long·BUILD_TIME·=·1704516932636L; |
6 | ····public·static·final·String·BUILD_TYPE·=·"release"; | 6 | ····public·static·final·String·BUILD_TYPE·=·"release"; |
7 | ····public·static·final·boolean·DEBUG·=·false; | 7 | ····public·static·final·boolean·DEBUG·=·false; |
8 | ····public·static·final·int·VERSION_CODE·=·20240101; | 8 | ····public·static·final·int·VERSION_CODE·=·20240101; |
9 | ····public·static·final·String·VERSION_NAME·=·"2024.01.01"; | 9 | ····public·static·final·String·VERSION_NAME·=·"2024.01.01"; |
10 | } | 10 | } |
Offset 85, 15 lines modified | Offset 85, 15 lines modified | ||
85 | ····invoke-virtual·{v1,·v0},·Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; | 85 | ····invoke-virtual·{v1,·v0},·Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; |
86 | ····move-result-object·v0 | 86 | ····move-result-object·v0 |
87 | ····new-instance·v1,·Ljava/util/Date; | 87 | ····new-instance·v1,·Ljava/util/Date; |
88 | ····const-wide·v4,·0x18cd | 88 | ····const-wide·v4,·0x18cdd20541cL |
89 | ····invoke-direct·{v1,·v4,·v5},·Ljava/util/Date;-><init>(J)V | 89 | ····invoke-direct·{v1,·v4,·v5},·Ljava/util/Date;-><init>(J)V |
90 | ····.line·62 | 90 | ····.line·62 |
91 | ····invoke-virtual·{v3,·v1},·Ljava/text/SimpleDateFormat;->format(Ljava/util/Date;)Ljava/lang/String; | 91 | ····invoke-virtual·{v3,·v1},·Ljava/text/SimpleDateFormat;->format(Ljava/util/Date;)Ljava/lang/String; |
92 | ····move-result-object·v1 | 92 | ····move-result-object·v1 |
Offset 2, 15 lines modified | Offset 2, 15 lines modified | ||
2 | .super·Ljava/lang/Object; | 2 | .super·Ljava/lang/Object; |
3 | .source·"BuildConfig.java" | 3 | .source·"BuildConfig.java" |
4 | #·static·fields | 4 | #·static·fields |
5 | .field·public·static·final·APPLICATION_ID:Ljava/lang/String;·=·"org.purple.smokestack" | 5 | .field·public·static·final·APPLICATION_ID:Ljava/lang/String;·=·"org.purple.smokestack" |
6 | .field·public·static·final·BUILD_TIME:J·=·0x18cd | 6 | .field·public·static·final·BUILD_TIME:J·=·0x18cdd20541cL |
7 | .field·public·static·final·BUILD_TYPE:Ljava/lang/String;·=·"release" | 7 | .field·public·static·final·BUILD_TYPE:Ljava/lang/String;·=·"release" |
8 | .field·public·static·final·DEBUG:Z·=·false | 8 | .field·public·static·final·DEBUG:Z·=·false |
9 | .field·public·static·final·VERSION_CODE:I·=·0x134d6e5 | 9 | .field·public·static·final·VERSION_CODE:I·=·0x134d6e5 |