10.4 KB
/home/fdroid/fdroiddata/tmp/org.billthefarmer.gurgle_127.apk vs.
/home/fdroid/fdroiddata/tmp/sigcp_org.billthefarmer.gurgle_127.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: <e105c7d63d8d4f303efb18717dc9269ee25eb004c82611aee7549c03395ad5e1>, actual: <b7b609cbcd800356538227378484b131c8ef83388e7c5ada53093596f00f94c4> ERROR: APK Signature Scheme v3 signer #1: APK integrity check failed. VERITY_CHUNKED_SHA256 digest mismatch. Expected: <5e58f7cea169e373f653457185f1eddd3aa643e75f330022ed0214a1bcfae99c000f120000000000>, actual: <adda5b8e39ddc711cc35c06872979344d21cd3d70a47965feb861e5d7f8f9cd0000f120000000000>
    
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:·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/. 
672 B
zipinfo {}
    
Offset 55, 8 lines modifiedOffset 55, 8 lines modified
55 -rw----·····0.0·fat·····1264·b-·defN·81-Jan-01·01:01·res/tx.xml55 -rw----·····0.0·fat·····1264·b-·defN·81-Jan-01·01:01·res/tx.xml
56 -rw----·····0.0·fat····20444·b-·defN·81-Jan-01·01:01·res/w6.xml56 -rw----·····0.0·fat····20444·b-·defN·81-Jan-01·01:01·res/w6.xml
57 -rw----·····0.0·fat·····3059·b-·stor·81-Jan-01·01:01·res/xM.png57 -rw----·····0.0·fat·····3059·b-·stor·81-Jan-01·01:01·res/xM.png
58 -rw----·····0.0·fat····20456·b-·stor·81-Jan-01·01:01·resources.arsc58 -rw----·····0.0·fat····20456·b-·stor·81-Jan-01·01:01·resources.arsc
59 -rw----·····2.0·fat·····5253·b-·defN·81-Jan-01·01:01·META-INF/D6DE58C1.SF59 -rw----·····2.0·fat·····5253·b-·defN·81-Jan-01·01:01·META-INF/D6DE58C1.SF
60 -rw----·····2.0·fat·····1334·b-·defN·81-Jan-01·01:01·META-INF/D6DE58C1.RSA60 -rw----·····2.0·fat·····1334·b-·defN·81-Jan-01·01:01·META-INF/D6DE58C1.RSA
61 -rw----·····2.0·fat·····5126·b-·defN·81-Jan-01·01:01·META-INF/MANIFEST.MF61 -rw----·····2.0·fat·····5126·b-·defN·81-Jan-01·01:01·META-INF/MANIFEST.MF
62 60·files,·3251715·bytes·uncompressed,·1173364·bytes·compressed:··63.9%62 60·files,·3251715·bytes·uncompressed,·1173363·bytes·compressed:··63.9%
6.59 KB
classes.dex
3.08 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············:·85f5af5f4 checksum············:·6d54b27d
5 signature···········:·851b...852d5 signature···········:·5de3...9001
6 file_size···········:·25304246 file_size···········:·2530424
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·····:·1468310 string_ids_size·····:·14683
11 string_ids_off······:·112·(0x000070)11 string_ids_off······:·112·(0x000070)
12 type_ids_size·······:·179712 type_ids_size·······:·1797
Offset 152388, 15 lines modifiedOffset 152388, 15 lines modified
152388 ······type··········:·'Ljava/lang/String;'152388 ······type··········:·'Ljava/lang/String;'
152389 ······access········:·0x0019·(PUBLIC·STATIC·FINAL)152389 ······access········:·0x0019·(PUBLIC·STATIC·FINAL)
152390 ······value·········:·"release"152390 ······value·········:·"release"
152391 ····#2··············:·(in·Lorg/billthefarmer/gurgle/BuildConfig;)152391 ····#2··············:·(in·Lorg/billthefarmer/gurgle/BuildConfig;)
152392 ······name··········:·'BUILT'152392 ······name··········:·'BUILT'
152393 ······type··········:·'J'152393 ······type··········:·'J'
152394 ······access········:·0x0019·(PUBLIC·STATIC·FINAL)152394 ······access········:·0x0019·(PUBLIC·STATIC·FINAL)
152395 ······value·········:·1702291721105152395 ······value·········:·1702814155037
152396 ····#3··············:·(in·Lorg/billthefarmer/gurgle/BuildConfig;)152396 ····#3··············:·(in·Lorg/billthefarmer/gurgle/BuildConfig;)
152397 ······name··········:·'DEBUG'152397 ······name··········:·'DEBUG'
152398 ······type··········:·'Z'152398 ······type··········:·'Z'
152399 ······access········:·0x0019·(PUBLIC·STATIC·FINAL)152399 ······access········:·0x0019·(PUBLIC·STATIC·FINAL)
152400 ······value·········:·false152400 ······value·········:·false
152401 ····#4··············:·(in·Lorg/billthefarmer/gurgle/BuildConfig;)152401 ····#4··············:·(in·Lorg/billthefarmer/gurgle/BuildConfig;)
152402 ······name··········:·'VERSION_CODE'152402 ······name··········:·'VERSION_CODE'
Offset 154333, 15 lines modifiedOffset 154333, 15 lines modified
154333 1382b2:·6e10·690d·0300·························|0041:·invoke-virtual·{v3},·Ljava/util/regex/Matcher;.find:()Z·//·method@0d69154333 1382b2:·6e10·690d·0300·························|0041:·invoke-virtual·{v3},·Ljava/util/regex/Matcher;.find:()Z·//·method@0d69
154334 1382b8:·0a04···································|0044:·move-result·v4154334 1382b8:·0a04···································|0044:·move-result·v4
154335 1382ba:·3804·1a00······························|0045:·if-eqz·v4,·005f·//·+001a154335 1382ba:·3804·1a00······························|0045:·if-eqz·v4,·005f·//·+001a
154336 1382be:·6e10·750d·0300·························|0047:·invoke-virtual·{v3},·Ljava/util/regex/Matcher;.start:()I·//·method@0d75154336 1382be:·6e10·750d·0300·························|0047:·invoke-virtual·{v3},·Ljava/util/regex/Matcher;.start:()I·//·method@0d75
154337 1382c4:·0a04···································|004a:·move-result·v4154337 1382c4:·0a04···································|004a:·move-result·v4
154338 1382c6:·6e10·660d·0300·························|004b:·invoke-virtual·{v3},·Ljava/util/regex/Matcher;.end:()I·//·method@0d66154338 1382c6:·6e10·660d·0300·························|004b:·invoke-virtual·{v3},·Ljava/util/regex/Matcher;.end:()I·//·method@0d66
154339 1382cc:·0a03···································|004e:·move-result·v3154339 1382cc:·0a03···································|004e:·move-result·v3
154340 1382ce:·1805·914b·7e58·8c01·0000···············|004f:·const-wide·v5,·#double·8.41044e-312·//·#0000018c587e4b91154340 1382ce:·1805·1d01·a277·8c01·0000···············|004f:·const-wide·v5,·#double·8.41302e-312·//·#0000018c77a2011d
154341 1382d8:·7120·a10a·6500·························|0054:·invoke-static·{v5,·v6},·Ljava/lang/Long;.valueOf:(J)Ljava/lang/Long;·//·method@0aa1154341 1382d8:·7120·a10a·6500·························|0054:·invoke-static·{v5,·v6},·Ljava/lang/Long;.valueOf:(J)Ljava/lang/Long;·//·method@0aa1
154342 1382de:·0c05···································|0057:·move-result-object·v5154342 1382de:·0c05···································|0057:·move-result-object·v5
154343 1382e0:·6e20·210c·5100·························|0058:·invoke-virtual·{v1,·v5},·Ljava/text/DateFormat;.format:(Ljava/lang/Object;)Ljava/lang/String;·//·method@0c21154343 1382e0:·6e20·210c·5100·························|0058:·invoke-virtual·{v1,·v5},·Ljava/text/DateFormat;.format:(Ljava/lang/Object;)Ljava/lang/String;·//·method@0c21
154344 1382e6:·0c01···································|005b:·move-result-object·v1154344 1382e6:·0c01···································|005b:·move-result-object·v1
154345 1382e8:·6e40·9f00·4213·························|005c:·invoke-virtual·{v2,·v4,·v3,·v1},·Landroid/text/SpannableStringBuilder;.replace:(IILjava/lang/CharSequence;)Landroid/text/SpannableStringBuilder;·//·method@009f154345 1382e8:·6e40·9f00·4213·························|005c:·invoke-virtual·{v2,·v4,·v3,·v1},·Landroid/text/SpannableStringBuilder;.replace:(IILjava/lang/CharSequence;)Landroid/text/SpannableStringBuilder;·//·method@009f
154346 1382ee:·6e20·0b00·2000·························|005f:·invoke-virtual·{v0,·v2},·Landroid/app/AlertDialog$Builder;.setMessage:(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder;·//·method@000b154346 1382ee:·6e20·0b00·2000·························|005f:·invoke-virtual·{v0,·v2},·Landroid/app/AlertDialog$Builder;.setMessage:(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder;·//·method@000b
154347 1382f4:·1401·0a00·0401·························|0062:·const·v1,·#float·2.42446e-38·//·#0104000a154347 1382f4:·1401·0a00·0401·························|0062:·const·v1,·#float·2.42446e-38·//·#0104000a
3.49 KB
classes.jar
1.6 KB
zipinfo {}
    
Offset 1, 8 lines modifiedOffset 1, 8 lines modified
1 Zip·file·size:·2320799·bytes,·number·of·entries:·13461 Zip·file·size:·2320798·bytes,·number·of·entries:·1346
2 ?rwxrwxr-x··2.0·unx······224·b-·stor·80-Jan-01·00:00·android/support/v4/content/FileProvider$PathStrategy.class2 ?rwxrwxr-x··2.0·unx······224·b-·stor·80-Jan-01·00:00·android/support/v4/content/FileProvider$PathStrategy.class
3 ?rwxrwxr-x··2.0·unx·····6708·b-·stor·80-Jan-01·00:00·android/support/v4/content/FileProvider.class3 ?rwxrwxr-x··2.0·unx·····6708·b-·stor·80-Jan-01·00:00·android/support/v4/content/FileProvider.class
4 ?rwxrwxr-x··2.0·unx·····1698·b-·stor·80-Jan-01·00:00·com/google/zxing/BarcodeFormat.class4 ?rwxrwxr-x··2.0·unx·····1698·b-·stor·80-Jan-01·00:00·com/google/zxing/BarcodeFormat.class
5 ?rwxrwxr-x··2.0·unx······750·b-·stor·80-Jan-01·00:00·com/google/zxing/Binarizer.class5 ?rwxrwxr-x··2.0·unx······750·b-·stor·80-Jan-01·00:00·com/google/zxing/Binarizer.class
6 ?rwxrwxr-x··2.0·unx·····1767·b-·stor·80-Jan-01·00:00·com/google/zxing/BinaryBitmap.class6 ?rwxrwxr-x··2.0·unx·····1767·b-·stor·80-Jan-01·00:00·com/google/zxing/BinaryBitmap.class
7 ?rwxrwxr-x··2.0·unx·····1828·b-·stor·80-Jan-01·00:00·com/google/zxing/DecodeHintType.class7 ?rwxrwxr-x··2.0·unx·····1828·b-·stor·80-Jan-01·00:00·com/google/zxing/DecodeHintType.class
8 ?rwxrwxr-x··2.0·unx······804·b-·stor·80-Jan-01·00:00·com/google/zxing/Dimension.class8 ?rwxrwxr-x··2.0·unx······804·b-·stor·80-Jan-01·00:00·com/google/zxing/Dimension.class
Offset 1341, 8 lines modifiedOffset 1341, 8 lines modified
1341 ?rwxrwxr-x··2.0·unx····16575·b-·defN·80-Jan-01·00:00·kotlin/text/StringsKt__StringsJVMKt.class1341 ?rwxrwxr-x··2.0·unx····16575·b-·defN·80-Jan-01·00:00·kotlin/text/StringsKt__StringsJVMKt.class
1342 ?rwxrwxr-x··2.0·unx····44830·b-·defN·80-Jan-01·00:00·kotlin/collections/CollectionsKt___CollectionsKt.class1342 ?rwxrwxr-x··2.0·unx····44830·b-·defN·80-Jan-01·00:00·kotlin/collections/CollectionsKt___CollectionsKt.class
1343 ?rwxrwxr-x··2.0·unx····28613·b-·defN·80-Jan-01·00:00·kotlin/text/StringsKt__StringsKt.class1343 ?rwxrwxr-x··2.0·unx····28613·b-·defN·80-Jan-01·00:00·kotlin/text/StringsKt__StringsKt.class
1344 ?rwxrwxr-x··2.0·unx······179·b-·stor·80-Jan-01·00:00·kotlin/collections/CollectionsKt.class1344 ?rwxrwxr-x··2.0·unx······179·b-·stor·80-Jan-01·00:00·kotlin/collections/CollectionsKt.class
1345 ?rwxrwxr-x··2.0·unx·····3058·b-·stor·80-Jan-01·00:00·kotlin/text/StringsKt___StringsJvmKt.class1345 ?rwxrwxr-x··2.0·unx·····3058·b-·stor·80-Jan-01·00:00·kotlin/text/StringsKt___StringsJvmKt.class
1346 ?rwxrwxr-x··2.0·unx····35909·b-·defN·80-Jan-01·00:00·kotlin/text/StringsKt___StringsKt.class1346 ?rwxrwxr-x··2.0·unx····35909·b-·defN·80-Jan-01·00:00·kotlin/text/StringsKt___StringsKt.class
1347 ?rwxrwxr-x··2.0·unx······153·b-·stor·80-Jan-01·00:00·kotlin/text/StringsKt.class1347 ?rwxrwxr-x··2.0·unx······153·b-·stor·80-Jan-01·00:00·kotlin/text/StringsKt.class
1348 1346·files,·2658772·bytes·uncompressed,·2093085·bytes·compressed:··21.3%1348 1346·files,·2658772·bytes·uncompressed,·2093084·bytes·compressed:··21.3%
600 B
org/billthefarmer/gurgle/BuildConfig.class
516 B
procyon -ec {}
    
Offset 1, 12 lines modifiedOffset 1, 12 lines modified
  
1 package·org.billthefarmer.gurgle;1 package·org.billthefarmer.gurgle;
  
2 public·final·class·BuildConfig2 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·=·1702291721105L;6 ····public·static·final·long·BUILT·=·1702814155037L;
7 ····public·static·final·boolean·DEBUG·=·false;7 ····public·static·final·boolean·DEBUG·=·false;
8 ····public·static·final·int·VERSION_CODE·=·127;8 ····public·static·final·int·VERSION_CODE·=·127;
9 ····public·static·final·String·VERSION_NAME·=·"1.27";9 ····public·static·final·String·VERSION_NAME·=·"1.27";
10 }10 }
1.28 KB
org/billthefarmer/gurgle/Gurgle.class
1.21 KB
procyon -ec {}
    
Offset 206, 15 lines modifiedOffset 206, 15 lines modified
206 ········final·SpannableStringBuilder·message·=·new·SpannableStringBuilder(this.getText(2131230768));206 ········final·SpannableStringBuilder·message·=·new·SpannableStringBuilder(this.getText(2131230768));
207 ········final·Matcher·matcher·=·Pattern.compile("%s").matcher((CharSequence)message);207 ········final·Matcher·matcher·=·Pattern.compile("%s").matcher((CharSequence)message);
208 ········if·(matcher.find())·{208 ········if·(matcher.find())·{
209 ············message.replace(matcher.start(),·matcher.end(),·(CharSequence)"1.27");209 ············message.replace(matcher.start(),·matcher.end(),·(CharSequence)"1.27");
210 ········}210 ········}
211 ········matcher.reset((CharSequence)message);211 ········matcher.reset((CharSequence)message);
212 ········if·(matcher.find())·{212 ········if·(matcher.find())·{
213 ············message.replace(matcher.start(),·matcher.end(),·(CharSequence)dateTimeInstance.format(Long.valueOf(1702291721105L)));213 ············message.replace(matcher.start(),·matcher.end(),·(CharSequence)dateTimeInstance.format(Long.valueOf(1702814155037L)));
214 ········}214 ········}
215 ········alertDialog$Builder.setMessage((CharSequence)message);215 ········alertDialog$Builder.setMessage((CharSequence)message);
216 ········alertDialog$Builder.setPositiveButton(17039370,·(DialogInterface$OnClickListener)null);216 ········alertDialog$Builder.setPositiveButton(17039370,·(DialogInterface$OnClickListener)null);
217 ········alertDialog$Builder.setNeutralButton(2131230748,·(DialogInterface$OnClickListener)new·Gurgle$$ExternalSyntheticLambda4(this));217 ········alertDialog$Builder.setNeutralButton(2131230748,·(DialogInterface$OnClickListener)new·Gurgle$$ExternalSyntheticLambda4(this));
218 ········final·TextView·textView·=·(TextView)((Dialog)alertDialog$Builder.show()).findViewById(16908299);218 ········final·TextView·textView·=·(TextView)((Dialog)alertDialog$Builder.show()).findViewById(16908299);
219 ········if·(textView·!=·null)·{219 ········if·(textView·!=·null)·{
220 ············textView.setTextAppearance(alertDialog$Builder.getContext(),·16973894);220 ············textView.setTextAppearance(alertDialog$Builder.getContext(),·16973894);
508 B
smali/org/billthefarmer/gurgle/Gurgle.smali
    
Offset 439, 15 lines modifiedOffset 439, 15 lines modified
  
439 ····move-result·v4439 ····move-result·v4
  
440 ····invoke-virtual·{v3},·Ljava/util/regex/Matcher;->end()I440 ····invoke-virtual·{v3},·Ljava/util/regex/Matcher;->end()I
  
441 ····move-result·v3441 ····move-result·v3
  
442 ····const-wide·v5,·0x18c587e4b91L442 ····const-wide·v5,·0x18c77a2011dL
  
443 ····.line·1864443 ····.line·1864
444 ····invoke-static·{v5,·v6},·Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;444 ····invoke-static·{v5,·v6},·Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
  
445 ····move-result-object·v5445 ····move-result-object·v5
  
446 ····invoke-virtual·{v1,·v5},·Ljava/text/DateFormat;->format(Ljava/lang/Object;)Ljava/lang/String;446 ····invoke-virtual·{v1,·v5},·Ljava/text/DateFormat;->format(Ljava/lang/Object;)Ljava/lang/String;
577 B
smali/org/billthefarmer/gurgle/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.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·=·0x18c587e4b91L7 .field·public·static·final·BUILT:J·=·0x18c77a2011dL
  
8 .field·public·static·final·DEBUG:Z·=·false8 .field·public·static·final·DEBUG:Z·=·false
  
9 .field·public·static·final·VERSION_CODE:I·=·0x7f9 .field·public·static·final·VERSION_CODE:I·=·0x7f
  
10 .field·public·static·final·VERSION_NAME:Ljava/lang/String;·=·"1.27"10 .field·public·static·final·VERSION_NAME:Ljava/lang/String;·=·"1.27"