916 KB
/home/fdroid/fdroiddata/tmp/org.microg.nlp.backend.ichnaea_20018.apk vs.
/home/fdroid/fdroiddata/tmp/sigcp_org.microg.nlp.backend.ichnaea_20018.apk
1.72 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: META-INF/fdroidserverid entry referenced by META-INF/MANIFEST.MF not found in the APK ERROR: META-INF/buildserverid entry referenced by META-INF/MANIFEST.MF not found in the APK
    
Offset 1, 18 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):·false 
4 Verified·using·v3·scheme·(APK·Signature·Scheme·v3):·false 
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:·6ad8bcb1300536d2157d144f6b77cb09551048bd78aaf91522c4ab12ec2c526d 
10 Signer·#1·certificate·SHA-1·digest:·49b6a079655eee3b350f4a989b6ffd020a1d3888 
11 Signer·#1·certificate·MD5·digest:·50edfb6b1ef89d2439a7a8c115091986 
12 Signer·#1·key·algorithm:·RSA 
13 Signer·#1·key·size·(bits):·2048 
14 Signer·#1·public·key·SHA-256·digest:·5a76a8bd1ff52f702f65236627f225d06cd1c9aa92390224d6e353f8be9474bb 
15 Signer·#1·public·key·SHA-1·digest:·c5b33498a5b1e47d40583c493bc8713d3fa81f2c 
16 Signer·#1·public·key·MD5·digest:·3ec8b8a88499968ada9adf8856ce8199 
17 WARNING:·META-INF/buildserverid·not·protected·by·signature.·Unauthorized·modifications·to·this·JAR·entry·will·not·be·detected.·Delete·or·move·the·entry·outside·of·META-INF/. 
18 WARNING:·META-INF/fdroidserverid·not·protected·by·signature.·Unauthorized·modifications·to·this·JAR·entry·will·not·be·detected.·Delete·or·move·the·entry·outside·of·META-INF/. 
2.31 KB
zipinfo {}
    
Offset 1, 16 lines modifiedOffset 1, 14 lines modified
1 Zip·file·size:·54468·bytes,·number·of·entries:·141 Zip·file·size:·53996·bytes,·number·of·entries:·12
2 -rw----·····2.0·fat······939·bl·defN·16-Apr-08·08:52·META-INF/MANIFEST.MF 
3 -rw----·····2.0·fat·····1060·bl·defN·16-Apr-08·08:52·META-INF/E2A7C650.SF 
4 -rw----·····2.0·fat·····1326·bl·defN·16-Apr-08·08:52·META-INF/E2A7C650.RSA 
5 -rw----·····2.0·fat·······41·bl·defN·16-Apr-08·08:30·META-INF/buildserverid 
6 -rw----·····2.0·fat·······41·bl·defN·16-Apr-08·08:30·META-INF/fdroidserverid 
7 -rw----·····2.0·fat·····3972·bX·defN·16-Apr-08·08:30·AndroidManifest.xml2 -rw----·····2.0·fat·····3972·bX·defN·17-Oct-05·00:59·AndroidManifest.xml
8 -rw----·····1.0·fat·····2436·b-·stor·16-Apr-08·08:30·res/mipmap-hdpi-v4/ic_launcher.png3 -rw----·····1.0·fat·····2436·b-·stor·17-Oct-05·00:59·res/mipmap-hdpi-v4/ic_launcher.png
9 -rw----·····1.0·fat·····1561·b-·stor·16-Apr-08·08:30·res/mipmap-mdpi-v4/ic_launcher.png4 -rw----·····1.0·fat·····1561·b-·stor·17-Oct-05·00:59·res/mipmap-mdpi-v4/ic_launcher.png
10 -rw----·····1.0·fat·····3461·b-·stor·16-Apr-08·08:30·res/mipmap-xhdpi-v4/ic_launcher.png5 -rw----·····1.0·fat·····3461·b-·stor·17-Oct-05·00:59·res/mipmap-xhdpi-v4/ic_launcher.png
11 -rw----·····1.0·fat·····5216·b-·stor·16-Apr-08·08:30·res/mipmap-xxhdpi-v4/ic_launcher.png6 -rw----·····1.0·fat·····5216·b-·stor·17-Oct-05·00:59·res/mipmap-xxhdpi-v4/ic_launcher.png
12 -rw----·····1.0·fat·····7193·b-·stor·16-Apr-08·08:30·res/mipmap-xxxhdpi-v4/ic_launcher.png7 -rw----·····1.0·fat·····7193·b-·stor·17-Oct-05·00:59·res/mipmap-xxxhdpi-v4/ic_launcher.png
13 -rw----·····2.0·fat·····1184·bl·defN·16-Apr-08·08:30·res/xml/preferences.xml8 -rw----·····2.0·fat·····1184·bl·defN·17-Oct-05·00:59·res/xml/preferences.xml
14 -rw----·····1.0·fat·····3420·b-·stor·16-Apr-08·08:30·resources.arsc9 -rw----·····1.0·fat·····3420·b-·stor·17-Oct-05·00:59·resources.arsc
15 -rw----·····2.0·fat····68888·bl·defN·16-Apr-08·08:30·classes.dex10 -rw----·····2.0·fat····68812·bl·defN·17-Oct-05·00:59·classes.dex
 11 -rw----·····2.0·fat······939·b-·defN·17-Oct-05·00:59·META-INF/MANIFEST.MF
 12 -rw----·····2.0·fat·····1060·b-·defN·17-Oct-05·00:59·META-INF/E2A7C650.SF
 13 -rw----·····2.0·fat·····1326·b-·defN·17-Oct-05·00:59·META-INF/E2A7C650.RSA
16 14·files,·100738·bytes·uncompressed,·52541·bytes·compressed:··47.8%14 12·files,·100580·bytes·uncompressed,·52398·bytes·compressed:··47.9%
123 B
filetype from file(1)
    
Offset 1, 1 lines modifiedOffset 1, 1 lines modified
1 Zip·archive·data,·at·least·v2.0·to·extract1 Java·archive·data·(JAR)
1.12 KB
AndroidManifest.xml (decoded)
1.06 KB
AndroidManifest.xml
    
Offset 1, 9 lines modifiedOffset 1, 9 lines modified
1 <?xml·version="1.0"·encoding="utf-8"?>1 <?xml·version="1.0"·encoding="utf-8"?>
2 <manifest·xmlns:android="http://schemas.android.com/apk/res/android"·android:versionCode="20018"·android:versionName="1.3.2"·package="org.microg.nlp.backend.ichnaea"·platformBuildVersionCode="23"·platformBuildVersionName="6.0-2166767">2 <manifest·xmlns:android="http://schemas.android.com/apk/res/android"·android:versionCode="20018"·android:versionName="1.3.2"·package="org.microg.nlp.backend.ichnaea"·platformBuildVersionCode="23"·platformBuildVersionName="6.0-2704002">
3 ··<uses-sdk·android:minSdkVersion="10"·android:targetSdkVersion="23"/>3 ··<uses-sdk·android:minSdkVersion="10"·android:targetSdkVersion="23"/>
4 ··<uses-permission·android:name="android.permission.ACCESS_WIFI_STATE"/>4 ··<uses-permission·android:name="android.permission.ACCESS_WIFI_STATE"/>
5 ··<uses-permission·android:name="android.permission.CHANGE_WIFI_STATE"/>5 ··<uses-permission·android:name="android.permission.CHANGE_WIFI_STATE"/>
6 ··<uses-permission·android:name="android.permission.ACCESS_NETWORK_STATE"/>6 ··<uses-permission·android:name="android.permission.ACCESS_NETWORK_STATE"/>
7 ··<uses-permission·android:name="android.permission.INTERNET"/>7 ··<uses-permission·android:name="android.permission.INTERNET"/>
8 ··<uses-permission·android:name="android.permission.ACCESS_COARSE_LOCATION"/>8 ··<uses-permission·android:name="android.permission.ACCESS_COARSE_LOCATION"/>
9 ··<uses-permission·android:name="android.permission.ACCESS_FINE_LOCATION"/>9 ··<uses-permission·android:name="android.permission.ACCESS_FINE_LOCATION"/>
897 KB
classes.dex
895 KB
dexdump -a -d -f -h {}
Ignoring differences in offsets to keep diff size reasonable.
    
Offset 1, 30 lines modifiedOffset 1, 30 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············:·2418a8044 checksum············:·2c31ae8f
5 signature···········:·8c48...0e6e5 signature···········:·4050...526b
6 file_size···········:·688886 file_size···········:·68812
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·····:·81210 string_ids_size·····:·811
11 string_ids_off······:·112·(0x000070)11 string_ids_off······:·112·(0x000070)
12 type_ids_size·······:·16012 type_ids_size·······:·160
13 type_ids_off········:·3360·(0x000d20)13 type_ids_off········:·3356·(0x000d1c)
14 proto_ids_size······:·17014 proto_ids_size······:·170
15 proto_ids_off·······:·4000·(0x000fa0)15 proto_ids_off·······:·3996·(0x000f9c)
16 field_ids_size······:·17516 field_ids_size······:·175
17 field_ids_off·······:·6040·(0x001798)17 field_ids_off·······:·6036·(0x001794)
18 method_ids_size·····:·49318 method_ids_size·····:·493
19 method_ids_off······:·7440·(0x001d10)19 method_ids_off······:·7436·(0x001d0c)
20 class_defs_size·····:·5220 class_defs_size·····:·52
21 class_defs_off······:·11384·(0x002c78)21 class_defs_off······:·11380·(0x002c74)
22 data_size···········:·5459222 data_size···········:·54520
23 data_off············:·14296·(0x0037d8)23 data_off············:·14292·(0x0037d4)
  
24 Class·#0·header:24 Class·#0·header:
25 class_idx···········:·9925 class_idx···········:·99
26 access_flags········:·16401·(0x4011)26 access_flags········:·16401·(0x4011)
27 superclass_idx······:·6727 superclass_idx······:·67
28 source_file_idx·····:·3628 source_file_idx·····:·36
29 static_fields_size··:·529 static_fields_size··:·5
Offset 73, 64 lines modifiedOffset 73, 64 lines modified
73 ······type··········:·'()V'73 ······type··········:·'()V'
74 ······access········:·0x10008·(STATIC·CONSTRUCTOR)74 ······access········:·0x10008·(STATIC·CONSTRUCTOR)
75 ······code··········-75 ······code··········-
76 ······registers·····:·676 ······registers·····:·6
77 ······ins···········:·077 ······ins···········:·0
78 ······outs··········:·378 ······outs··········:·3
79 ······insns·size····:·62·16-bit·code·units79 ······insns·size····:·62·16-bit·code·units
80 004910:········································|[004910]·org.microg.nlp.api.AbstractBackendHelper$State.<clinit>:()V80 004900:········································|[004900]·org.microg.nlp.api.AbstractBackendHelper$State.<clinit>:()V
81 004920:·1235···································|0000:·const/4·v5,·#int·3·//·#381 004910:·1235···································|0000:·const/4·v5,·#int·3·//·#3
82 004922:·1224···································|0001:·const/4·v4,·#int·2·//·#282 004912:·1224···································|0001:·const/4·v4,·#int·2·//·#2
83 004924:·1213···································|0002:·const/4·v3,·#int·1·//·#183 004914:·1213···································|0002:·const/4·v3,·#int·1·//·#1
84 004926:·1202···································|0003:·const/4·v2,·#int·0·//·#084 004916:·1202···································|0003:·const/4·v2,·#int·0·//·#0
85 004928:·2200·6300······························|0004:·new-instance·v0,·Lorg/microg/nlp/api/AbstractBackendHelper$State;·//·type@006385 004918:·2200·6300······························|0004:·new-instance·v0,·Lorg/microg/nlp/api/AbstractBackendHelper$State;·//·type@0063
86 00492c:·1a01·3a00······························|0006:·const-string·v1,·"DISABLED"·//·string@003a86 00491c:·1a01·3a00······························|0006:·const-string·v1,·"DISABLED"·//·string@003a
87 004930:·7030·d400·1002·························|0008:·invoke-direct·{v0,·v1,·v2},·Lorg/microg/nlp/api/AbstractBackendHelper$State;.<init>:(Ljava/lang/String;I)V·//·method@00d487 004920:·7030·d400·1002·························|0008:·invoke-direct·{v0,·v1,·v2},·Lorg/microg/nlp/api/AbstractBackendHelper$State;.<init>:(Ljava/lang/String;I)V·//·method@00d4
88 004936:·6900·0c00······························|000b:·sput-object·v0,·Lorg/microg/nlp/api/AbstractBackendHelper$State;.DISABLED:Lorg/microg/nlp/api/AbstractBackendHelper$State;·//·field@000c88 004926:·6900·0c00······························|000b:·sput-object·v0,·Lorg/microg/nlp/api/AbstractBackendHelper$State;.DISABLED:Lorg/microg/nlp/api/AbstractBackendHelper$State;·//·field@000c
89 00493a:·2200·6300······························|000d:·new-instance·v0,·Lorg/microg/nlp/api/AbstractBackendHelper$State;·//·type@006389 00492a:·2200·6300······························|000d:·new-instance·v0,·Lorg/microg/nlp/api/AbstractBackendHelper$State;·//·type@0063
90 00493e:·1a01·5701······························|000f:·const-string·v1,·"WAITING"·//·string@015790 00492e:·1a01·5701······························|000f:·const-string·v1,·"WAITING"·//·string@0157
91 004942:·7030·d400·1003·························|0011:·invoke-direct·{v0,·v1,·v3},·Lorg/microg/nlp/api/AbstractBackendHelper$State;.<init>:(Ljava/lang/String;I)V·//·method@00d491 004932:·7030·d400·1003·························|0011:·invoke-direct·{v0,·v1,·v3},·Lorg/microg/nlp/api/AbstractBackendHelper$State;.<init>:(Ljava/lang/String;I)V·//·method@00d4
92 004948:·6900·0f00······························|0014:·sput-object·v0,·Lorg/microg/nlp/api/AbstractBackendHelper$State;.WAITING:Lorg/microg/nlp/api/AbstractBackendHelper$State;·//·field@000f92 004938:·6900·0f00······························|0014:·sput-object·v0,·Lorg/microg/nlp/api/AbstractBackendHelper$State;.WAITING:Lorg/microg/nlp/api/AbstractBackendHelper$State;·//·field@000f
93 00494c:·2200·6300······························|0016:·new-instance·v0,·Lorg/microg/nlp/api/AbstractBackendHelper$State;·//·type@006393 00493c:·2200·6300······························|0016:·new-instance·v0,·Lorg/microg/nlp/api/AbstractBackendHelper$State;·//·type@0063
94 004950:·1a01·2e01······························|0018:·const-string·v1,·"SCANNING"·//·string@012e94 004940:·1a01·2e01······························|0018:·const-string·v1,·"SCANNING"·//·string@012e
95 004954:·7030·d400·1004·························|001a:·invoke-direct·{v0,·v1,·v4},·Lorg/microg/nlp/api/AbstractBackendHelper$State;.<init>:(Ljava/lang/String;I)V·//·method@00d495 004944:·7030·d400·1004·························|001a:·invoke-direct·{v0,·v1,·v4},·Lorg/microg/nlp/api/AbstractBackendHelper$State;.<init>:(Ljava/lang/String;I)V·//·method@00d4
96 00495a:·6900·0e00······························|001d:·sput-object·v0,·Lorg/microg/nlp/api/AbstractBackendHelper$State;.SCANNING:Lorg/microg/nlp/api/AbstractBackendHelper$State;·//·field@000e96 00494a:·6900·0e00······························|001d:·sput-object·v0,·Lorg/microg/nlp/api/AbstractBackendHelper$State;.SCANNING:Lorg/microg/nlp/api/AbstractBackendHelper$State;·//·field@000e
97 00495e:·2200·6300······························|001f:·new-instance·v0,·Lorg/microg/nlp/api/AbstractBackendHelper$State;·//·type@006397 00494e:·2200·6300······························|001f:·new-instance·v0,·Lorg/microg/nlp/api/AbstractBackendHelper$State;·//·type@0063
98 004962:·1a01·3b00······························|0021:·const-string·v1,·"DISABLING"·//·string@003b98 004952:·1a01·3b00······························|0021:·const-string·v1,·"DISABLING"·//·string@003b
99 004966:·7030·d400·1005·························|0023:·invoke-direct·{v0,·v1,·v5},·Lorg/microg/nlp/api/AbstractBackendHelper$State;.<init>:(Ljava/lang/String;I)V·//·method@00d499 004956:·7030·d400·1005·························|0023:·invoke-direct·{v0,·v1,·v5},·Lorg/microg/nlp/api/AbstractBackendHelper$State;.<init>:(Ljava/lang/String;I)V·//·method@00d4
100 00496c:·6900·0d00······························|0026:·sput-object·v0,·Lorg/microg/nlp/api/AbstractBackendHelper$State;.DISABLING:Lorg/microg/nlp/api/AbstractBackendHelper$State;·//·field@000d100 00495c:·6900·0d00······························|0026:·sput-object·v0,·Lorg/microg/nlp/api/AbstractBackendHelper$State;.DISABLING:Lorg/microg/nlp/api/AbstractBackendHelper$State;·//·field@000d
101 004970:·1240···································|0028:·const/4·v0,·#int·4·//·#4101 004960:·1240···································|0028:·const/4·v0,·#int·4·//·#4
102 004972:·2300·9e00······························|0029:·new-array·v0,·v0,·[Lorg/microg/nlp/api/AbstractBackendHelper$State;·//·type@009e102 004962:·2300·9e00······························|0029:·new-array·v0,·v0,·[Lorg/microg/nlp/api/AbstractBackendHelper$State;·//·type@009e
103 004976:·6201·0c00······························|002b:·sget-object·v1,·Lorg/microg/nlp/api/AbstractBackendHelper$State;.DISABLED:Lorg/microg/nlp/api/AbstractBackendHelper$State;·//·field@000c103 004966:·6201·0c00······························|002b:·sget-object·v1,·Lorg/microg/nlp/api/AbstractBackendHelper$State;.DISABLED:Lorg/microg/nlp/api/AbstractBackendHelper$State;·//·field@000c
104 00497a:·4d01·0002······························|002d:·aput-object·v1,·v0,·v2104 00496a:·4d01·0002······························|002d:·aput-object·v1,·v0,·v2
105 00497e:·6201·0f00······························|002f:·sget-object·v1,·Lorg/microg/nlp/api/AbstractBackendHelper$State;.WAITING:Lorg/microg/nlp/api/AbstractBackendHelper$State;·//·field@000f105 00496e:·6201·0f00······························|002f:·sget-object·v1,·Lorg/microg/nlp/api/AbstractBackendHelper$State;.WAITING:Lorg/microg/nlp/api/AbstractBackendHelper$State;·//·field@000f
106 004982:·4d01·0003······························|0031:·aput-object·v1,·v0,·v3106 004972:·4d01·0003······························|0031:·aput-object·v1,·v0,·v3
107 004986:·6201·0e00······························|0033:·sget-object·v1,·Lorg/microg/nlp/api/AbstractBackendHelper$State;.SCANNING:Lorg/microg/nlp/api/AbstractBackendHelper$State;·//·field@000e107 004976:·6201·0e00······························|0033:·sget-object·v1,·Lorg/microg/nlp/api/AbstractBackendHelper$State;.SCANNING:Lorg/microg/nlp/api/AbstractBackendHelper$State;·//·field@000e
108 00498a:·4d01·0004······························|0035:·aput-object·v1,·v0,·v4108 00497a:·4d01·0004······························|0035:·aput-object·v1,·v0,·v4
109 00498e:·6201·0d00······························|0037:·sget-object·v1,·Lorg/microg/nlp/api/AbstractBackendHelper$State;.DISABLING:Lorg/microg/nlp/api/AbstractBackendHelper$State;·//·field@000d109 00497e:·6201·0d00······························|0037:·sget-object·v1,·Lorg/microg/nlp/api/AbstractBackendHelper$State;.DISABLING:Lorg/microg/nlp/api/AbstractBackendHelper$State;·//·field@000d
110 004992:·4d01·0005······························|0039:·aput-object·v1,·v0,·v5110 004982:·4d01·0005······························|0039:·aput-object·v1,·v0,·v5
111 004996:·6900·0b00······························|003b:·sput-object·v0,·Lorg/microg/nlp/api/AbstractBackendHelper$State;.$VALUES:[Lorg/microg/nlp/api/AbstractBackendHelper$State;·//·field@000b111 004986:·6900·0b00······························|003b:·sput-object·v0,·Lorg/microg/nlp/api/AbstractBackendHelper$State;.$VALUES:[Lorg/microg/nlp/api/AbstractBackendHelper$State;·//·field@000b
112 00499a:·0e00···································|003d:·return-void112 00498a:·0e00···································|003d:·return-void
113 ······catches·······:·(none)113 ······catches·······:·(none)
114 ······positions·····:·114 ······positions·····:·
115 ········0x0004·line=65115 ········0x0004·line=65
116 ······locals········:·116 ······locals········:·
  
117 ····#1··············:·(in·Lorg/microg/nlp/api/AbstractBackendHelper$State;)117 ····#1··············:·(in·Lorg/microg/nlp/api/AbstractBackendHelper$State;)
118 ······name··········:·'<init>'118 ······name··········:·'<init>'
119 ······type··········:·'(Ljava/lang/String;I)V'119 ······type··········:·'(Ljava/lang/String;I)V'
120 ······access········:·0x10002·(PRIVATE·CONSTRUCTOR)120 ······access········:·0x10002·(PRIVATE·CONSTRUCTOR)
121 ······code··········-121 ······code··········-
122 ······registers·····:·3122 ······registers·····:·3
123 ······ins···········:·3123 ······ins···········:·3
124 ······outs··········:·3124 ······outs··········:·3
125 ······insns·size····:·4·16-bit·code·units125 ······insns·size····:·4·16-bit·code·units
126 00499c:········································|[00499c]·org.microg.nlp.api.AbstractBackendHelper$State.<init>:(Ljava/lang/String;I)V126 00498c:········································|[00498c]·org.microg.nlp.api.AbstractBackendHelper$State.<init>:(Ljava/lang/String;I)V
127 0049ac:·7030·8400·1002·························|0000:·invoke-direct·{v0,·v1,·v2},·Ljava/lang/Enum;.<init>:(Ljava/lang/String;I)V·//·method@0084127 00499c:·7030·8400·1002·························|0000:·invoke-direct·{v0,·v1,·v2},·Ljava/lang/Enum;.<init>:(Ljava/lang/String;I)V·//·method@0084
128 0049b2:·0e00···································|0003:·return-void128 0049a2:·0e00···································|0003:·return-void
129 ······catches·······:·(none)129 ······catches·······:·(none)
130 ······positions·····:·130 ······positions·····:·
131 ········0x0000·line=65131 ········0x0000·line=65
132 ······locals········:·132 ······locals········:·
133 ········0x0000·-·0x0004·reg=0·this·Lorg/microg/nlp/api/AbstractBackendHelper$State;·133 ········0x0000·-·0x0004·reg=0·this·Lorg/microg/nlp/api/AbstractBackendHelper$State;·
134 ········0x0000·-·0x0004·reg=1·(null)·Ljava/lang/String;·134 ········0x0000·-·0x0004·reg=1·(null)·Ljava/lang/String;·
135 ········0x0000·-·0x0004·reg=2·(null)·I·135 ········0x0000·-·0x0004·reg=2·(null)·I·
Offset 140, 20 lines modifiedOffset 140, 20 lines modified
140 ······type··········:·'(Ljava/lang/String;)Lorg/microg/nlp/api/AbstractBackendHelper$State;'140 ······type··········:·'(Ljava/lang/String;)Lorg/microg/nlp/api/AbstractBackendHelper$State;'
141 ······access········:·0x0009·(PUBLIC·STATIC)141 ······access········:·0x0009·(PUBLIC·STATIC)
142 ······code··········-142 ······code··········-
143 ······registers·····:·2143 ······registers·····:·2
144 ······ins···········:·1144 ······ins···········:·1
145 ······outs··········:·2145 ······outs··········:·2
146 ······insns·size····:·9·16-bit·code·units146 ······insns·size····:·9·16-bit·code·units
147 0049b4:········································|[0049b4]·org.microg.nlp.api.AbstractBackendHelper$State.valueOf:(Ljava/lang/String;)Lorg/microg/nlp/api/AbstractBackendHelper$State;147 0049a4:········································|[0049a4]·org.microg.nlp.api.AbstractBackendHelper$State.valueOf:(Ljava/lang/String;)Lorg/microg/nlp/api/AbstractBackendHelper$State;
148 0049c4:·1c00·6300······························|0000:·const-class·v0,·Lorg/microg/nlp/api/AbstractBackendHelper$State;·//·type@0063148 0049b4:·1c00·6300······························|0000:·const-class·v0,·Lorg/microg/nlp/api/AbstractBackendHelper$State;·//·type@0063
149 0049c8:·7120·8500·1000·························|0002:·invoke-static·{v0,·v1},·Ljava/lang/Enum;.valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;·//·method@0085149 0049b8:·7120·8500·1000·························|0002:·invoke-static·{v0,·v1},·Ljava/lang/Enum;.valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;·//·method@0085
150 0049ce:·0c00···································|0005:·move-result-object·v0150 0049be:·0c00···································|0005:·move-result-object·v0
151 0049d0:·1f00·6300······························|0006:·check-cast·v0,·Lorg/microg/nlp/api/AbstractBackendHelper$State;·//·type@0063151 0049c0:·1f00·6300······························|0006:·check-cast·v0,·Lorg/microg/nlp/api/AbstractBackendHelper$State;·//·type@0063
152 0049d4:·1100···································|0008:·return-object·v0152 0049c4:·1100···································|0008:·return-object·v0
153 ······catches·······:·(none)153 ······catches·······:·(none)
154 ······positions·····:·154 ······positions·····:·
155 ········0x0000·line=65155 ········0x0000·line=65
156 ······locals········:·156 ······locals········:·
157 ········0x0000·-·0x0009·reg=1·name·Ljava/lang/String;·157 ········0x0000·-·0x0009·reg=1·name·Ljava/lang/String;·
  
158 ····#3··············:·(in·Lorg/microg/nlp/api/AbstractBackendHelper$State;)158 ····#3··············:·(in·Lorg/microg/nlp/api/AbstractBackendHelper$State;)
Offset 161, 20 lines modifiedOffset 161, 20 lines modified
161 ······type··········:·'()[Lorg/microg/nlp/api/AbstractBackendHelper$State;'161 ······type··········:·'()[Lorg/microg/nlp/api/AbstractBackendHelper$State;'
162 ······access········:·0x0009·(PUBLIC·STATIC)162 ······access········:·0x0009·(PUBLIC·STATIC)
163 ······code··········-163 ······code··········-
164 ······registers·····:·1164 ······registers·····:·1
165 ······ins···········:·0165 ······ins···········:·0
166 ······outs··········:·1166 ······outs··········:·1
167 ······insns·size····:·9·16-bit·code·units167 ······insns·size····:·9·16-bit·code·units
168 0049d8:········································|[0049d8]·org.microg.nlp.api.AbstractBackendHelper$State.values:()[Lorg/microg/nlp/api/AbstractBackendHelper$State;168 0049c8:········································|[0049c8]·org.microg.nlp.api.AbstractBackendHelper$State.values:()[Lorg/microg/nlp/api/AbstractBackendHelper$State;
169 0049e8:·6200·0b00······························|0000:·sget-object·v0,·Lorg/microg/nlp/api/AbstractBackendHelper$State;.$VALUES:[Lorg/microg/nlp/api/AbstractBackendHelper$State;·//·field@000b169 0049d8:·6200·0b00······························|0000:·sget-object·v0,·Lorg/microg/nlp/api/AbstractBackendHelper$State;.$VALUES:[Lorg/microg/nlp/api/AbstractBackendHelper$State;·//·field@000b
170 0049ec:·6e10·eb01·0000·························|0002:·invoke-virtual·{v0},·[Lorg/microg/nlp/api/AbstractBackendHelper$State;.clone:()Ljava/lang/Object;·//·method@01eb170 0049dc:·6e10·eb01·0000·························|0002:·invoke-virtual·{v0},·[Lorg/microg/nlp/api/AbstractBackendHelper$State;.clone:()Ljava/lang/Object;·//·method@01eb
Max diff block lines reached; 900150/915917 bytes (98.28%) of diff not shown.
2.87 KB
classes.jar
1.01 KB
zipinfo -v {}
    
Offset 1455, 15 lines modifiedOffset 1455, 15 lines modified
1455 ··version·of·encoding·software:···················2.01455 ··version·of·encoding·software:···················2.0
1456 ··minimum·file·system·compatibility·required:·····MS-DOS,·OS/2·or·NT·FAT1456 ··minimum·file·system·compatibility·required:·····MS-DOS,·OS/2·or·NT·FAT
1457 ··minimum·software·version·required·to·extract:···2.01457 ··minimum·software·version·required·to·extract:···2.0
1458 ··compression·method:·····························none·(stored)1458 ··compression·method:·····························none·(stored)
1459 ··file·security·status:···························not·encrypted1459 ··file·security·status:···························not·encrypted
1460 ··extended·local·header:··························no1460 ··extended·local·header:··························no
1461 ··file·last·modified·on·(DOS·date/time):··········1980·Jan·1·00:00:001461 ··file·last·modified·on·(DOS·date/time):··········1980·Jan·1·00:00:00
1462 ··32-bit·CRC·value·(hex):·························bda1fc991462 ··32-bit·CRC·value·(hex):·························3e0f480e
1463 ··compressed·size:································7283·bytes1463 ··compressed·size:································7283·bytes
1464 ··uncompressed·size:······························7283·bytes1464 ··uncompressed·size:······························7283·bytes
1465 ··length·of·filename:·····························51·characters1465 ··length·of·filename:·····························51·characters
1466 ··length·of·extra·field:··························0·bytes1466 ··length·of·extra·field:··························0·bytes
1467 ··length·of·file·comment:·························0·characters1467 ··length·of·file·comment:·························0·characters
1468 ··disk·number·on·which·file·begins:···············disk·11468 ··disk·number·on·which·file·begins:···············disk·1
1469 ··apparent·file·type:·····························binary1469 ··apparent·file·type:·····························binary
1.83 KB
org/microg/nlp/backend/ichnaea/BackendService.class
1.73 KB
javap -verbose -constants -s -l -private {}
    
Offset 879, 28 lines modifiedOffset 879, 28 lines modified
879 ·······536:·pop879 ·······536:·pop
880 ·······537:·aload_3880 ·······537:·aload_3
881 ·······538:·ldc···········#204················//·String·wifiAccessPoints881 ·······538:·ldc···········#204················//·String·wifiAccessPoints
882 ·······540:·aload·········15882 ·······540:·aload·········15
883 ·······542:·invokevirtual·#132················//·Method·org/json/JSONObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;883 ·······542:·invokevirtual·#132················//·Method·org/json/JSONObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
884 ·······545:·pop884 ·······545:·pop
885 ·······546:·new···········#100················//·class·org/json/JSONObject885 ·······546:·new···········#100················//·class·org/json/JSONObject
886 ·······549:·astore········10886 ·······549:·astore········9
887 ·······551:·aload·········10887 ·······551:·aload·········9
888 ·······553:·invokespecial·#101················//·Method·org/json/JSONObject."<init>":()V888 ·······553:·invokespecial·#101················//·Method·org/json/JSONObject."<init>":()V
889 ·······556:·aload·········10889 ·······556:·aload·········9
890 ·······558:·ldc···········#208················//·String·lacf890 ·······558:·ldc···········#208················//·String·lacf
891 ·······560:·iconst_1891 ·······560:·iconst_1
892 ·······561:·invokevirtual·#211················//·Method·org/json/JSONObject.put:(Ljava/lang/String;Z)Lorg/json/JSONObject;892 ·······561:·invokevirtual·#211················//·Method·org/json/JSONObject.put:(Ljava/lang/String;Z)Lorg/json/JSONObject;
893 ·······564:·ldc···········#213················//·String·ipf893 ·······564:·ldc···········#213················//·String·ipf
894 ·······566:·iconst_0894 ·······566:·iconst_0
895 ·······567:·invokevirtual·#211················//·Method·org/json/JSONObject.put:(Ljava/lang/String;Z)Lorg/json/JSONObject;895 ·······567:·invokevirtual·#211················//·Method·org/json/JSONObject.put:(Ljava/lang/String;Z)Lorg/json/JSONObject;
896 ·······570:·astore········10896 ·······570:·astore········9
897 ·······572:·aload_3897 ·······572:·aload_3
898 ·······573:·ldc···········#206················//·String·fallbacks898 ·······573:·ldc···········#206················//·String·fallbacks
899 ·······575:·aload·········10899 ·······575:·aload·········9
900 ·······577:·invokevirtual·#132················//·Method·org/json/JSONObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;900 ·······577:·invokevirtual·#132················//·Method·org/json/JSONObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
901 ·······580:·pop901 ·······580:·pop
902 ·······581:·aload_3902 ·······581:·aload_3
903 ·······582:·invokevirtual·#216················//·Method·org/json/JSONObject.toString:()Ljava/lang/String;903 ·······582:·invokevirtual·#216················//·Method·org/json/JSONObject.toString:()Ljava/lang/String;
904 ·······585:·areturn904 ·······585:·areturn
  
905 ··private·static·java.lang.String·getRadioType(org.microg.nlp.api.CellBackendHelper$Cell);905 ··private·static·java.lang.String·getRadioType(org.microg.nlp.api.CellBackendHelper$Cell);
292 B
smali/org/microg/nlp/backend/ichnaea/R.smali
    
Offset 18, 10 lines modifiedOffset 18, 9 lines modified
18 .method·public·constructor·<init>()V18 .method·public·constructor·<init>()V
19 ····.locals·019 ····.locals·0
  
20 ····.prologue20 ····.prologue
21 ····.line·1021 ····.line·10
22 ····invoke-direct·{p0},·Ljava/lang/Object;-><init>()V22 ····invoke-direct·{p0},·Ljava/lang/Object;-><init>()V
  
23 ····.line·36 
24 ····return-void23 ····return-void
25 .end·method24 .end·method
682 B
smali/org/microg/nlp/backend/ichnaea/BackendService$1.smali
    
Offset 24, 14 lines modifiedOffset 24, 15 lines modified
  
24 .field·final·synthetic·val$wiFis:Ljava/util/Set;24 .field·final·synthetic·val$wiFis:Ljava/util/Set;
  
  
25 #·direct·methods25 #·direct·methods
26 .method·constructor·<init>(Lorg/microg/nlp/backend/ichnaea/BackendService;Ljava/util/Set;Ljava/util/Set;)V26 .method·constructor·<init>(Lorg/microg/nlp/backend/ichnaea/BackendService;Ljava/util/Set;Ljava/util/Set;)V
27 ····.locals·027 ····.locals·0
 28 ····.param·p1,·"this$0"····#·Lorg/microg/nlp/backend/ichnaea/BackendService;
  
28 ····.prologue29 ····.prologue
29 ····.line·13230 ····.line·132
30 ····iput-object·p1,·p0,·Lorg/microg/nlp/backend/ichnaea/BackendService$1;->this$0:Lorg/microg/nlp/backend/ichnaea/BackendService;31 ····iput-object·p1,·p0,·Lorg/microg/nlp/backend/ichnaea/BackendService$1;->this$0:Lorg/microg/nlp/backend/ichnaea/BackendService;
  
31 ····iput-object·p2,·p0,·Lorg/microg/nlp/backend/ichnaea/BackendService$1;->val$cells:Ljava/util/Set;32 ····iput-object·p2,·p0,·Lorg/microg/nlp/backend/ichnaea/BackendService$1;->val$cells:Ljava/util/Set;
  
11.5 KB
smali/org/microg/nlp/backend/ichnaea/BackendService.smali
    
Offset 3, 22 lines modifiedOffset 3, 14 lines modified
3 .source·"BackendService.java"3 .source·"BackendService.java"
  
4 #·interfaces4 #·interfaces
5 .implements·Lorg/microg/nlp/api/WiFiBackendHelper$Listener;5 .implements·Lorg/microg/nlp/api/WiFiBackendHelper$Listener;
6 .implements·Lorg/microg/nlp/api/CellBackendHelper$Listener;6 .implements·Lorg/microg/nlp/api/CellBackendHelper$Listener;
  
  
7 #·annotations 
8 .annotation·system·Ldalvik/annotation/MemberClasses; 
9 ····value·=·{ 
10 ········Lorg/microg/nlp/backend/ichnaea/BackendService$2; 
11 ····} 
12 .end·annotation 
  
  
13 #·static·fields7 #·static·fields
14 .field·private·static·final·API_KEY:Ljava/lang/String;·=·"068ab754-c06b-473d-a1e5-60e7b1a2eb77"8 .field·private·static·final·API_KEY:Ljava/lang/String;·=·"068ab754-c06b-473d-a1e5-60e7b1a2eb77"
  
15 .field·private·static·final·PROVIDER:Ljava/lang/String;·=·"ichnaea"9 .field·private·static·final·PROVIDER:Ljava/lang/String;·=·"ichnaea"
  
16 .field·private·static·final·RATE_LIMIT_MS:I·=·0x138810 .field·private·static·final·RATE_LIMIT_MS:I·=·0x1388
  
Offset 342, 46 lines modifiedOffset 334, 45 lines modified
  
342 ····.prologue334 ····.prologue
343 ····.local·p0,·"cells":Ljava/util/Set;,·"Ljava/util/Set<Lorg/microg/nlp/api/CellBackendHelper$Cell;>;"335 ····.local·p0,·"cells":Ljava/util/Set;,·"Ljava/util/Set<Lorg/microg/nlp/api/CellBackendHelper$Cell;>;"
344 ····.local·p1,·"wiFis":Ljava/util/Set;,·"Ljava/util/Set<Lorg/microg/nlp/api/WiFiBackendHelper$WiFi;>;"336 ····.local·p1,·"wiFis":Ljava/util/Set;,·"Ljava/util/Set<Lorg/microg/nlp/api/WiFiBackendHelper$WiFi;>;"
345 ····const/4·v12,·-0x1337 ····const/4·v12,·-0x1
  
346 ····.line·242338 ····.line·242
347 ····new-instance·v4,·Lorg/json/JSONObject;339 ····new-instance·v3,·Lorg/json/JSONObject;
  
348 ····invoke-direct·{v4},·Lorg/json/JSONObject;-><init>()V340 ····invoke-direct·{v3},·Lorg/json/JSONObject;-><init>()V
  
349 ····.line·243341 ····.line·243
350 ····.local·v4,·"jsonObject":Lorg/json/JSONObject;342 ····.local·v3,·"jsonObject":Lorg/json/JSONObject;
351 ····new-instance·v2,·Lorg/json/JSONArray;343 ····new-instance·v2,·Lorg/json/JSONArray;
  
352 ····invoke-direct·{v2},·Lorg/json/JSONArray;-><init>()V344 ····invoke-direct·{v2},·Lorg/json/JSONArray;-><init>()V
  
353 ····.line·245345 ····.line·245
354 ····.local·v2,·"cellTowers":Lorg/json/JSONArray;346 ····.local·v2,·"cellTowers":Lorg/json/JSONArray;
355 ····if-eqz·p0,·:cond_3347 ····if-eqz·p0,·:cond_3
  
356 ····.line·246348 ····.line·246
357 ····const/4·v5,·0x0349 ····const/4·v4,·0x0
  
358 ····.line·247350 ····.line·247
359 ····.local·v5,·"lastType":Lorg/microg/nlp/api/CellBackendHelper$Cell$CellType;351 ····.local·v4,·"lastType":Lorg/microg/nlp/api/CellBackendHelper$Cell$CellType;
360 ····invoke-interface·{p0},·Ljava/util/Set;->iterator()Ljava/util/Iterator;352 ····invoke-interface·{p0},·Ljava/util/Set;->iterator()Ljava/util/Iterator;
  
361 ····move-result-object·v3353 ····move-result-object·v8
  
362 ····.local·v3,·"i$":Ljava/util/Iterator; 
363 ····:goto_0354 ····:goto_0
364 ····invoke-interface·{v3},·Ljava/util/Iterator;->hasNext()Z355 ····invoke-interface·{v8},·Ljava/util/Iterator;->hasNext()Z
  
365 ····move-result·v9356 ····move-result·v9
  
366 ····if-eqz·v9,·:cond_3357 ····if-eqz·v9,·:cond_3
  
367 ····invoke-interface·{v3},·Ljava/util/Iterator;->next()Ljava/lang/Object;358 ····invoke-interface·{v8},·Ljava/util/Iterator;->next()Ljava/lang/Object;
  
368 ····move-result-object·v0359 ····move-result-object·v0
  
369 ····check-cast·v0,·Lorg/microg/nlp/api/CellBackendHelper$Cell;360 ····check-cast·v0,·Lorg/microg/nlp/api/CellBackendHelper$Cell;
  
370 ····.line·248361 ····.line·248
371 ····.local·v0,·"cell":Lorg/microg/nlp/api/CellBackendHelper$Cell;362 ····.local·v0,·"cell":Lorg/microg/nlp/api/CellBackendHelper$Cell;
Offset 394, 21 lines modifiedOffset 385, 21 lines modified
394 ····if-ne·v9,·v10,·:cond_1385 ····if-ne·v9,·v10,·:cond_1
  
395 ····.line·249386 ····.line·249
396 ····const-string·v9,·"radioType"387 ····const-string·v9,·"radioType"
  
397 ····const-string·v10,·"cdma"388 ····const-string·v10,·"cdma"
  
398 ····invoke-virtual·{v4,·v9,·v10},·Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;389 ····invoke-virtual·{v3,·v9,·v10},·Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
  
399 ····.line·256390 ····.line·256
400 ····:goto_1391 ····:goto_1
401 ····invoke-virtual·{v0},·Lorg/microg/nlp/api/CellBackendHelper$Cell;->getType()Lorg/microg/nlp/api/CellBackendHelper$Cell$CellType;392 ····invoke-virtual·{v0},·Lorg/microg/nlp/api/CellBackendHelper$Cell;->getType()Lorg/microg/nlp/api/CellBackendHelper$Cell$CellType;
  
402 ····move-result-object·v5393 ····move-result-object·v4
  
403 ····.line·257394 ····.line·257
404 ····new-instance·v1,·Lorg/json/JSONObject;395 ····new-instance·v1,·Lorg/json/JSONObject;
  
405 ····invoke-direct·{v1},·Lorg/json/JSONObject;-><init>()V396 ····invoke-direct·{v1},·Lorg/json/JSONObject;-><init>()V
  
406 ····.line·258397 ····.line·258
Offset 496, 182 lines modifiedOffset 487, 179 lines modified
496 ····invoke-virtual·{v2,·v1},·Lorg/json/JSONArray;->put(Ljava/lang/Object;)Lorg/json/JSONArray;487 ····invoke-virtual·{v2,·v1},·Lorg/json/JSONArray;->put(Ljava/lang/Object;)Lorg/json/JSONArray;
  
497 ····goto·:goto_0488 ····goto·:goto_0
  
498 ····.line·250489 ····.line·250
499 ····.end·local·v1····#·"cellTower":Lorg/json/JSONObject;490 ····.end·local·v1····#·"cellTower":Lorg/json/JSONObject;
500 ····:cond_1491 ····:cond_1
501 ····if-eqz·v5,·:cond_2492 ····if-eqz·v4,·:cond_2
  
502 ····invoke-virtual·{v0},·Lorg/microg/nlp/api/CellBackendHelper$Cell;->getType()Lorg/microg/nlp/api/CellBackendHelper$Cell$CellType;493 ····invoke-virtual·{v0},·Lorg/microg/nlp/api/CellBackendHelper$Cell;->getType()Lorg/microg/nlp/api/CellBackendHelper$Cell$CellType;
  
503 ····move-result-object·v9494 ····move-result-object·v9
  
504 ····if-eq·v5,·v9,·:cond_2495 ····if-eq·v4,·v9,·:cond_2
  
505 ····.line·252496 ····.line·252
506 ····const-string·v9,·"radioType"497 ····const-string·v9,·"radioType"
  
507 ····const/4·v10,·0x0498 ····const/4·v10,·0x0
  
508 ····invoke-virtual·{v4,·v9,·v10},·Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;499 ····invoke-virtual·{v3,·v9,·v10},·Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
  
509 ····goto·:goto_1500 ····goto·:goto_1
  
510 ····.line·254501 ····.line·254
511 ····:cond_2502 ····:cond_2
512 ····const-string·v9,·"radioType"503 ····const-string·v9,·"radioType"
  
513 ····invoke-static·{v0},·Lorg/microg/nlp/backend/ichnaea/BackendService;->getRadioType(Lorg/microg/nlp/api/CellBackendHelper$Cell;)Ljava/lang/String;504 ····invoke-static·{v0},·Lorg/microg/nlp/backend/ichnaea/BackendService;->getRadioType(Lorg/microg/nlp/api/CellBackendHelper$Cell;)Ljava/lang/String;
  
514 ····move-result-object·v10505 ····move-result-object·v10
  
515 ····invoke-virtual·{v4,·v9,·v10},·Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;506 ····invoke-virtual·{v3,·v9,·v10},·Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
  
516 ····goto·:goto_1507 ····goto·:goto_1
Max diff block lines reached; 7280/11697 bytes (62.24%) of diff not shown.
267 B
smali/org/microg/nlp/api/R.smali
    
Offset 15, 10 lines modifiedOffset 15, 9 lines modified
15 .method·public·constructor·<init>()V15 .method·public·constructor·<init>()V
16 ····.locals·016 ····.locals·0
  
17 ····.prologue17 ····.prologue
18 ····.line·918 ····.line·9
19 ····invoke-direct·{p0},·Ljava/lang/Object;-><init>()V19 ····invoke-direct·{p0},·Ljava/lang/Object;-><init>()V
  
20 ····.line·10 
21 ····return-void20 ····return-void
22 .end·method21 .end·method