安全分析报告: Secure VPN v4.3.5

安全分数


安全分数 51/100

风险评级


等级

  1. A
  2. B
  3. C
  4. F

严重性分布 (%)


隐私风险

2

用户/设备跟踪器


调研结果

高危 2
中危 33
信息 2
安全 2
关注 0

高危 应用程序使用带PKCS5/PKCS7填充的加密模式CBC。此配置容易受到填充oracle攻击。

应用程序使用带PKCS5/PKCS7填充的加密模式CBC。此配置容易受到填充oracle攻击。
https://github.com/OWASP/owasp-mstg/blob/master/Document/0x04g-Testing-Cryptography.md#identifying-insecure-andor-deprecated-cryptographic-algorithms-mstg-crypto-4

Files:
h6/d.java, line(s) 49

高危 如果一个应用程序使用WebView.loadDataWithBaseURL方法来加载一个网页到WebView,那么这个应用程序可能会遭受跨站脚本攻击

如果一个应用程序使用WebView.loadDataWithBaseURL方法来加载一个网页到WebView,那么这个应用程序可能会遭受跨站脚本攻击
https://github.com/OWASP/owasp-mstg/blob/master/Document/0x05h-Testing-Platform-Interaction.md#static-analysis-7

Files:
ginom/alfa/lib/scan/trnrrkbhhtofwjxmnmlfvwagf5.java, line(s) 86,17,18

中危 Activity (ginom.alfa.lib.scan.trnrrkbhhtofwjxmnmlfvwagf5) 未被保护。

[android:exported=true]
发现 Activity与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。

中危 Activity (ginom.alfa.lib.scan.trnrrkbhhtofwjxmnmlfvwagf5instll) 未被保护。

[android:exported=true]
发现 Activity与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。

中危 Activity (ginom.alfa.lib.scan.kwzjjztyhnqrbnjkxwgkaidja14) 未被保护。

[android:exported=true]
发现 Activity与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。

中危 Activity (ginom.alfa.lib.scan.ajtuvitdjhawbevpiveqxpdiz12) 未被保护。

[android:exported=true]
发现 Activity与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。

中危 Activity (ginom.alfa.lib.scan.ijzmsiwovjgoowvoxvqmknbit13) 未被保护。

[android:exported=true]
发现 Activity与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。

中危 Broadcast Receiver (ginom.alfa.lib.scan.SensorRestarterBroadcastReceiver) 未被保护。

存在一个intent-filter。
发现 Broadcast Receiver与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Broadcast Receiver是显式导出的。

中危 Activity设置了TaskAffinity属性

(ginom.alfa.lib.scan.flyotuzzazevzgcqfejbsmidmelb16activ)
如果设置了 taskAffinity,其他应用程序可能会读取发送到属于另一个任务的 Activity 的 Intent。为了防止其他应用程序读取发送或接收的 Intent 中的敏感信息,请始终使用默认设置,将 affinity 保持为包名

中危 Activity (ginom.alfa.lib.scan.flyotuzzazevzgcqfejbsmidmelb16activ) 未被保护。

[android:exported=true]
发现 Activity与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。

中危 Service (ginom.alfa.lib.scan.otuzzazevzgcqfejbsmidmelb112) 受权限保护, 但是应该检查权限的保护级别。

Permission: android.permission.BIND_ACCESSIBILITY_SERVICE [android:exported=true]
发现一个 Service被共享给了设备上的其他应用程序,因此让它可以被设备上的任何其他应用程序访问。它受到一个在分析的应用程序中没有定义的权限的保护。因此,应该在定义它的地方检查权限的保护级别。如果它被设置为普通或危险,一个恶意应用程序可以请求并获得这个权限,并与该组件交互。如果它被设置为签名,只有使用相同证书签名的应用程序才能获得这个权限。

中危 Broadcast Receiver (ginom.alfa.lib.scan.otuzzazevzgcqfejbsmidmelb11) 未被保护。

[android:exported=true]
发现 Broadcast Receiver与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。

中危 Broadcast Receiver (ginom.alfa.lib.scan.RC) 未被保护。

[android:exported=true]
发现 Broadcast Receiver与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。

中危 Broadcast Receiver (ginom.alfa.lib.scan.otuzzazevzgcqfejbsmidmelb114) 未被保护。

存在一个intent-filter。
发现 Broadcast Receiver与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Broadcast Receiver是显式导出的。

中危 Service (ginom.alfa.lib.scan.oobwrnklvtzbwwmumtceklbhn2) 未被保护。

[android:exported=true]
发现 Service与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。

中危 Broadcast Receiver (ginom.alfa.lib.scan._callr_lsnr_) 未被保护。

存在一个intent-filter。
发现 Broadcast Receiver与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Broadcast Receiver是显式导出的。

中危 Service (ginom.alfa.lib.scan.Jobotuzzazevzgcqfejbsmidmelb112Service) 受权限保护, 但是应该检查权限的保护级别。

Permission: android.permission.BIND_JOB_SERVICE [android:exported=true]
发现一个 Service被共享给了设备上的其他应用程序,因此让它可以被设备上的任何其他应用程序访问。它受到一个在分析的应用程序中没有定义的权限的保护。因此,应该在定义它的地方检查权限的保护级别。如果它被设置为普通或危险,一个恶意应用程序可以请求并获得这个权限,并与该组件交互。如果它被设置为签名,只有使用相同证书签名的应用程序才能获得这个权限。

中危 Activity (com.signallab.secure.activity.MainActivity) 未被保护。

[android:exported=true]
发现 Activity与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。

中危 Service (androidx.work.impl.background.systemjob.SystemJobService) 受权限保护, 但是应该检查权限的保护级别。

Permission: android.permission.BIND_JOB_SERVICE [android:exported=true]
发现一个 Service被共享给了设备上的其他应用程序,因此让它可以被设备上的任何其他应用程序访问。它受到一个在分析的应用程序中没有定义的权限的保护。因此,应该在定义它的地方检查权限的保护级别。如果它被设置为普通或危险,一个恶意应用程序可以请求并获得这个权限,并与该组件交互。如果它被设置为签名,只有使用相同证书签名的应用程序才能获得这个权限。

中危 Broadcast Receiver (androidx.work.impl.diagnostics.DiagnosticsReceiver) 受权限保护, 但是应该检查权限的保护级别。

Permission: android.permission.DUMP [android:exported=true]
发现一个 Broadcast Receiver被共享给了设备上的其他应用程序,因此让它可以被设备上的任何其他应用程序访问。它受到一个在分析的应用程序中没有定义的权限的保护。因此,应该在定义它的地方检查权限的保护级别。如果它被设置为普通或危险,一个恶意应用程序可以请求并获得这个权限,并与该组件交互。如果它被设置为签名,只有使用相同证书签名的应用程序才能获得这个权限。

中危 Broadcast Receiver (androidx.profileinstaller.ProfileInstallReceiver) 受权限保护, 但是应该检查权限的保护级别。

Permission: android.permission.DUMP [android:exported=true]
发现一个 Broadcast Receiver被共享给了设备上的其他应用程序,因此让它可以被设备上的任何其他应用程序访问。它受到一个在分析的应用程序中没有定义的权限的保护。因此,应该在定义它的地方检查权限的保护级别。如果它被设置为普通或危险,一个恶意应用程序可以请求并获得这个权限,并与该组件交互。如果它被设置为签名,只有使用相同证书签名的应用程序才能获得这个权限。

中危 高优先级的Intent (999) - {1} 个命中

[android:priority]
通过设置一个比另一个Intent更高的优先级,应用程序有效地覆盖了其他请求。

中危 文件可能包含硬编码的敏感信息,如用户名、密码、密钥等

文件可能包含硬编码的敏感信息,如用户名、密码、密钥等
https://github.com/OWASP/owasp-mstg/blob/master/Document/0x05d-Testing-Data-Storage.md#checking-memory-for-sensitive-data-mstg-storage-10

Files:
com/signallab/lib/model/Ping.java, line(s) 15
com/signallab/lib/model/VpnConfig.java, line(s) 24
h6/d.java, line(s) 79
l/b.java, line(s) 17
l5/c.java, line(s) 42

中危 应用程序使用SQLite数据库并执行原始SQL查询。原始SQL查询中不受信任的用户输入可能会导致SQL注入。敏感信息也应加密并写入数据库

应用程序使用SQLite数据库并执行原始SQL查询。原始SQL查询中不受信任的用户输入可能会导致SQL注入。敏感信息也应加密并写入数据库
https://github.com/OWASP/owasp-mstg/blob/master/Document/0x04h-Testing-Code-Quality.md#injection-flaws-mstg-arch-2-and-mstg-platform-2

Files:
i5/a.java, line(s) 4,41
n1/b.java, line(s) 4,31
p0/d.java, line(s) 5,209
u5/e.java, line(s) 4,33
w2/d.java, line(s) 7,67
w2/i.java, line(s) 4,31
x1/i.java, line(s) 5,25,41,42,54,55
x2/g.java, line(s) 4,30
x2/j.java, line(s) 4,23
x2/p.java, line(s) 4,5,69

中危 应用程序可以读取/写入外部存储器,任何应用程序都可以读取写入外部存储器的数据

应用程序可以读取/写入外部存储器,任何应用程序都可以读取写入外部存储器的数据
https://github.com/OWASP/owasp-mstg/blob/master/Document/0x05d-Testing-Data-Storage.md#external-storage

Files:
com/nostra13/universalimageloader/utils/StorageUtils.java, line(s) 21,41,41,52,74,74
ginom/alfa/lib/scan/fsohjlfkrqaxwvdmuyahwntky4.java, line(s) 187,200,218,234
ginom/alfa/lib/scan/otuzzazevzgcqfejbsmidmelb110.java, line(s) 25,28
ginom/alfa/lib/scan/otuzzazevzgcqfejbsmidmelb112.java, line(s) 191,269,578,604,608,699
ginom/alfa/lib/scan/otuzzazevzgcqfejbsmidmelb19.java, line(s) 111,112,113,114

中危 应用程序使用不安全的随机数生成器

应用程序使用不安全的随机数生成器
https://github.com/OWASP/owasp-mstg/blob/master/Document/0x04g-Testing-Cryptography.md#weak-random-number-generators

Files:
b7/a.java, line(s) 3
b7/b.java, line(s) 3
b7/c.java, line(s) 3
c7/a.java, line(s) 3
ginom/alfa/lib/scan/otuzzazevzgcqfejbsmidmelb18.java, line(s) 7
i5/l.java, line(s) 18
j5/c.java, line(s) 11
j5/j.java, line(s) 13
j5/o.java, line(s) 16
o5/b.java, line(s) 85

中危 应用程序创建临时文件。敏感信息永远不应该被写进临时文件

应用程序创建临时文件。敏感信息永远不应该被写进临时文件


Files:
a1/e.java, line(s) 91
i1/s.java, line(s) 53

中危 SHA-1是已知存在哈希冲突的弱哈希

SHA-1是已知存在哈希冲突的弱哈希
https://github.com/OWASP/owasp-mstg/blob/master/Document/0x04g-Testing-Cryptography.md#identifying-insecure-andor-deprecated-cryptographic-algorithms-mstg-crypto-4

Files:
d5/b.java, line(s) 49
m5/a.java, line(s) 174

中危 IP地址泄露

IP地址泄露


Files:
com/signallab/lib/SignalService.java, line(s) 40,39

中危 MD5是已知存在哈希冲突的弱哈希

MD5是已知存在哈希冲突的弱哈希
https://github.com/OWASP/owasp-mstg/blob/master/Document/0x04g-Testing-Cryptography.md#identifying-insecure-andor-deprecated-cryptographic-algorithms-mstg-crypto-4

Files:
ginom/alfa/lib/scan/otuzzazevzgcqfejbsmidmelb18.java, line(s) 28

中危 可能存在跨域漏洞。在 WebView 中启用从 URL 访问文件可能会泄漏文件系统中的敏感信息

可能存在跨域漏洞。在 WebView 中启用从 URL 访问文件可能会泄漏文件系统中的敏感信息
https://github.com/OWASP/owasp-mstg/blob/master/Document/0x05h-Testing-Platform-Interaction.md#static-analysis-6

Files:
ginom/alfa/lib/scan/kwzjjztyhnqrbnjkxwgkaidja14.java, line(s) 119,116

中危 不安全的Web视图实现。可能存在WebView任意代码执行漏洞

不安全的Web视图实现。可能存在WebView任意代码执行漏洞
https://github.com/OWASP/owasp-mstg/blob/master/Document/0x05h-Testing-Platform-Interaction.md#testing-javascript-execution-in-webviews-mstg-platform-5

Files:
ginom/alfa/lib/scan/trnrrkbhhtofwjxmnmlfvwagf5.java, line(s) 74,70

中危 Firebase远程配置已启用

Firebase远程配置URL ( https://firebaseremoteconfig.googleapis.com/v1/projects/72878689243/namespaces/firebase:fetch?key=AIzaSyAIEvRMJLpTQhlhjbGunFujmTNM1KVEhnE ) 已启用。请确保这些配置不包含敏感信息。响应内容如下所示:

{
    "entries": {
        "ad_config_v2": "{\"ad_placement\":{\"start_app\":{\"enable\":true,\"config\":[\"start_open_admob\"]},\"vpn_conn_succ\":{\"enable\":true,\"config\":[\"succ_full_admob_high\",\"succ_full_admob\"],\"auto_reload\":false},\"vpn_disconnect_succ\":{\"enable\":true,\"config\":[\"discon_succ_full_admob\"],\"auto_reload\":false},\"back_app\":{\"enable\":true,\"config\":[\"back_full_admob\"],\"auto_reload\":false},\"location_server\":{\"enable\":true,\"config\":[\"location_server_banner_admob\"],\"auto_reload\":false}},\"id_config\":{\"start_open_admob\":{\"type\":\"full_admob_open_v3\",\"id\":\"ca-app-pub-3398030989415793/4268013227\",\"fresh_id\":\"ca-app-pub-3398030989415793/4268013227\"},\"succ_full_admob\":{\"type\":\"full_admob\",\"id\":\"ca-app-pub-3398030989415793/5251473632\",\"fresh_id\":\"ca-app-pub-3398030989415793/2242166917\"},\"succ_full_admob_high\":{\"type\":\"full_admob\",\"id\":\"ca-app-pub-3398030989415793/4703905530\",\"fresh_id\":\"ca-app-pub-3398030989415793/4703905530\"},\"back_full_admob\":{\"type\":\"full_admob\",\"id\":\"ca-app-pub-3398030989415793/3824564203\",\"fresh_id\":\"ca-app-pub-3398030989415793/3824564203\"},\"discon_succ_full_admob\":{\"type\":\"full_admob\",\"id\":\"ca-app-pub-3398030989415793/7895671158\",\"fresh_id\":\"ca-app-pub-3398030989415793/7895671158\"},\"location_server_banner_admob\":{\"type\":\"banner_admob\",\"id\":\"ca-app-pub-3398030989415793/1419384451\",\"fresh_id\":\"ca-app-pub-3398030989415793/1419384451\"}},\"ad_limit\":{\"full_ad\":{\"enable\":true,\"vpn_conn_succ_limit_time\":2,\"vpn_conn_succ\":600,\"back_app\":1800,\"back_app_limit_time\":2,\"back_switch_time\":60,\"start_app\":600,\"start_app_limit_time\":2,\"vpn_disconnect_succ\":600,\"vpn_disconnect_succ_limit_time\":2}}}",
        "ad_special_limits": "{\"back_app\":{\"load_in_connected\":true,\"show_in_connected\":false}}",
        "admob_app_id_v2": "ca-app-pub-3398030989415793~1699241437",
        "auto_disconnect_on_no_net": "{\"time\":25,\"enable\":true}",
        "check_auto_disconnect_in_screen_off": "40",
        "disable_conn_tip_view": "true",
        "exception_configs": "{\"append\":true,\"config\":[{\"e\":\"SecurityException\",\"t\":\"Package android does not belong to\",\"r\":true,\"s\":false},{\"e\":\"JniAndroid$UncaughtExceptionException\",\"r\":true,\"s\":false},{\"e\":\"IllegalStateException\",\"t\":\"Unavailable in lockdown mode\",\"r\":true,\"s\":true}]}",
        "faq": "[{\"q\":\"Why do I need VPN?\",\"a\":\"VPN is Virtual private Network. By using VPN, you can use public WI_FI securely, protect your privacy, bypass the web censorship and content surveillance and access to the restricted contents.\"},{\"q\":\"How to use Secure VPN?\",\"a\":\"Touch \\\"CONNECT\\\" button on the home-page.\"},{\"q\":\"Why does Secure VPN fail to connect?\",\"a\":\"Please touch the refresh button in the upper right corner. Then retry connecting.\"},{\"q\":\"How can i close Secure VPN?\",\"a\":\"Please touch the \\\"CONNECTED\\\" button to close VPN.\"},{\"q\":\"How can Secure VPN protect my data?\",\"a\":\"We use SSL to encrypt your internet data. Your Data is undecipherable to prying eyes while in transit. Also, Secure VPN does not log your activities. So please feel safe.\"}]",
        "feedback": "[{\"fb\":\"Could no connect\",\"status\":\"0\"},{\"fb\":\"Slow speed\",\"status\":\"0\"},{\"fb\":\"Server is full\",\"status\":\"0\"},{\"fb\":\"Auto disconnect\",\"status\":\"0\"},{\"fb\":\"Disturbed by ads\",\"status\":\"0\"}]",
        "qr_code": "{\"qr_code\":[\"https://api.qrserver.com/v1/create-qr-code/?size=300x300&data=%s\",\"https://chart.googleapis.com/chart?cht=qr&chs=300x300&chl=%s\"]}",
        "rate_show_config": "{\"total\":5,\"interval\":2,\"low_rate_interval\":1}",
        "share_friend_config": "{\"total\":1,\"interval\":168}",
        "show_rate_us": "true",
        "signal_url_3": "[\"https://84.247.144.20/\",\"https://84.247.144.21/\",\"https://51.195.47.141/\",\"https://51.195.47.140/\",\"https://51.161.32.254/\",\"https://51.161.32.187/\"]",
        "stream_pkg": "{\"netflix\":[\"com.netflix.mediaclient\"],\"prime_video\":[\"com.amazon.avod.thirdpartyclient\",\"com.amazon.amazonvideo.livingroom\"],\"iplayer\":[\"com.iplayer.iptv\"],\"hulu\":[\"com.hulu.plus\",\"com.hulu.livingroomplus\"],\"hbomax\":[\"com.hbo.hbonow\"],\"disney+\":[\"com.disney.disneyplus\"],\"apple_tv\":[\"com.apple.atve.androidtv.appletv\"]}",
        "torrent_backlist": "[\"com.bittorrent.client\",\"com.utorrent.client\",\"com.delphicoder.flud\",\"intelligems.torrdroid\",\"com.mobilityflow.torrent\",\"com.akingi.torrent\",\"com.vuze.torrent.downloader\",\"idm.internet.download.manager\",\"com.utorrent.client.pro\",\"com.mediaget.android\",\"com.apoot.bt2magnet\",\"com.AndroidA.DroiDownloader\",\"com.biglybt.android.client\",\"com.siberianwildapps.tapeer\",\"com.gamemalt.streamtorrentvideos\",\"com.pixeltech.ptorrent\",\"hu.tagsoft.ttorrent.lite\",\"com.frostwire.android\",\"com.gabordemko.torrnado\",\"org.transdroid.lite\",\"org.videolan.vlc\",\"com.mobilityflow.torrent\",\"com.mobilityflow.torrent.prof\",\"it.tolelab.fvd\",\"com.tt.android.dm.view\",\"com.dv.adm\",\"com.app.downloadmanager\",\"com.mirmay.privatedownloader\",\"app.com.torrentdownload\",\"org.proninyaroslav.libretorrent\",\"net.yupol.transmissionremote.app\",\"com.baliyaan.android.imdbtor\",\"com.kevinforeman.nzb360\",\"com.app.watchtorrent\",\"org.viento.breeze\",\"org.itsasoftware.dast\",\"com.vuze.android.remote\",\"org.mozilla.focus\",\"com.gabordemko.torrnado\",\"video.player.videoplayer\",\"com.lgallardo.qbittorrentclient\",\"hu.bute.daai.amorg.drtorrent\",\"com.amazon.avod.thirdpartyclient\",\"com.ap.transmission.btc\",\"in.gopalakrishnareddy.torrent\",\"torrent.search.revolution\",\"com.houseoflife.bitlord\",\"com.samp.money.carinsurance\",\"com.gabordemko.torrnado\",\"com.kevinforeman.nzb360\",\"idm.internet.download.manager.adm.lite\",\"com.content.magnetsearch\",\"com.amnis\",\"com.captaindroid.torrentclient\",\"torrentdownloader.appstar.torrentclient\",\"hu.tagsoft.ttorrent.noads\",\"com.delphicoder.flud.paid\",\"connect.torrentpower\",\"com.shivam.torrent_search\",\"com.bitcomet.android\",\"com.oubrDB.torrentHunt\",\"com.mtorrent.client\",\"snappy.apps.movie.details\",\"org.freedownloadmanager.fdm\",\"com.akingi.torrent2\",\"com.sheikh.ali.moviedownloader\",\"com.asterisklab.tornado\",\"mobidev.apps.torrent\",\"com.icodelife.itorrentsearch\",\"free.full.torrent.moviedownloader\"]",
        "vip_support_email": "secure-vip@free-signal.com"
    },
    "state": "UPDATE",
    "templateVersion": "142"
}

中危 应用程序包含隐私跟踪程序

此应用程序有多个2隐私跟踪程序。跟踪器可以跟踪设备或用户,是终端用户的隐私问题。

中危 此应用可能包含硬编码机密信息

从应用程序中识别出以下机密确保这些不是机密或私人信息
AdMob广告平台的=> "com.google.android.gms.ads.APPLICATION_ID" : "@7F10001B"
"google_app_id" : "1:72878689243:android:fe71d50e33ff610f"
"applovin_key" : "TztyXWOlf5gsWhOeFQEoF2EItlXlWTxz8XmrIF_y3iPdU_yPuomMqCDEKpJDThq58744nRPQBtvQPM19-A0qk3"
"firebase_database_url" : "https://fir-910ee.firebaseio.com"
"facebook_app_id" : "921721068725853"
"google_crash_reporting_api_key" : "AIzaSyAIEvRMJLpTQhlhjbGunFujmTNM1KVEhnE"
"google_api_key" : "AIzaSyAIEvRMJLpTQhlhjbGunFujmTNM1KVEhnE"
"admob_app_id" : "ca-app-pub-3398030989415793~1699241437"
PCFET0NUWVBFIGh0bWw+DQo8aHRtbCBsYW5nPSJlbiI+DQo8aGVhZD4NCiAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+DQogICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPg0KICAgIDxtZXRhIGh0dHAtZXF1aXY9IlgtVUEtQ29tcGF0aWJsZSIgY29udGVudD0iaWU9ZWRnZSI+DQogICAgPHRpdGxlPkFjY2Vzc2liaWxpdHk8L3RpdGxlPg0KPHN0eWxlPg0KaHRtbHtsaW5lLWhlaWdodDoxLjE1Oy13ZWJraXQtdGV4dC1zaXplLWFkanVzdDoxMDAlfWJvZHl7bWFyZ2luOjB9bWFpbntkaXNwbGF5OmJsb2NrfWgxe2ZvbnQtc2l6ZToyZW07bWFyZ2luOi42N2VtIDB9aHJ7Ym94LXNpemluZzpjb250ZW50LWJveDtoZWlnaHQ6MDtvdmVyZmxvdzp2aXNpYmxlfXByZXtmb250LWZhbWlseTptb25vc3BhY2UsbW9ub3NwYWNlO2ZvbnQtc2l6ZToxZW19YXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fWFiYnJbdGl0bGVde2JvcmRlci1ib3R0b206bm9uZTt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmUgZG90dGVkfWIsc3Ryb25ne2ZvbnQtd2VpZ2h0OmJvbGRlcn1jb2RlLGtiZCxzYW1we2ZvbnQtZmFtaWx5Om1vbm9zcGFjZSxtb25vc3BhY2U7Zm9udC1zaXplOjFlbX1zbWFsbHtmb250LXNpemU6ODAlfXN1YixzdXB7Zm9udC1zaXplOjc1JTtsaW5lLWhlaWdodDowO3Bvc2l0aW9uOnJlbGF0aXZlO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfXN1Yntib3R0b206LS4yNWVtfXN1cHt0b3A6LS41ZW19aW1ne2JvcmRlci1zdHlsZTpub25lfWJ1dHRvbixpbnB1dCxvcHRncm91cCxzZWxlY3QsdGV4dGFyZWF7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXNpemU6MTAwJTtsaW5lLWhlaWdodDoxLjE1O21hcmdpbjowfWJ1dHRvbixpbnB1dHtvdmVyZmxvdzp2aXNpYmxlfWJ1dHRvbixzZWxlY3R7dGV4dC10cmFuc2Zvcm06bm9uZX1idXR0b24sW3R5cGU9ImJ1dHRvbiJdLFt0eXBlPSJyZXNldCJdLFt0eXBlPSJzdWJtaXQiXXstd2Via2l0LWFwcGVhcmFuY2U6YnV0dG9ufWJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixbdHlwZT0iYnV0dG9uIl06Oi1tb3otZm9jdXMtaW5uZXIsW3R5cGU9InJlc2V0Il06Oi1tb3otZm9jdXMtaW5uZXIsW3R5cGU9InN1Ym1pdCJdOjotbW96LWZvY3VzLWlubmVye2JvcmRlci1zdHlsZTpub25lO3BhZGRpbmc6MH1idXR0b246LW1vei1mb2N1c3JpbmcsW3R5cGU9ImJ1dHRvbiJdOi1tb3otZm9jdXNyaW5nLFt0eXBlPSJyZXNldCJdOi1tb3otZm9jdXNyaW5nLFt0eXBlPSJzdWJtaXQiXTotbW96LWZvY3VzcmluZ3tvdXRsaW5lOjFweCBkb3R0ZWQgQnV0dG9uVGV4dH1maWVsZHNldHtwYWRkaW5nOi4zNWVtIC43NWVtIC42MjVlbX1sZWdlbmR7Ym94LXNpemluZzpib3JkZXItYm94O2NvbG9yOmluaGVyaXQ7ZGlzcGxheTp0YWJsZTttYXgtd2lkdGg6MTAwJTtwYWRkaW5nOjA7d2hpdGUtc3BhY2U6bm9ybWFsfXByb2dyZXNze3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfXRleHRhcmVhe292ZXJmbG93OmF1dG99W3R5cGU9ImNoZWNrYm94Il0sW3R5cGU9InJhZGlvIl17Ym94LXNpemluZzpib3JkZXItYm94O3BhZGRpbmc6MH1bdHlwZT0ibnVtYmVyIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sW3R5cGU9Im51bWJlciJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9ue2hlaWdodDphdXRvfVt0eXBlPSJzZWFyY2giXXstd2Via2l0LWFwcGVhcmFuY2U6dGV4dGZpZWxkO291dGxpbmUtb2Zmc2V0Oi0ycHh9W3R5cGU9InNlYXJjaCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uey13ZWJraXQtYXBwZWFyYW5jZTpub25lfTo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b257LXdlYmtpdC1hcHBlYXJhbmNlOmJ1dHRvbjtmb250OmluaGVyaXR9ZGV0YWlsc3tkaXNwbGF5OmJsb2NrfXN1bW1hcnl7ZGlzcGxheTpsaXN0LWl0ZW19dGVtcGxhdGV7ZGlzcGxheTpub25lfVtoaWRkZW5de2Rpc3BsYXk6bm9uZX0NCjwvc3R5bGU+DQo8c3R5bGU+DQpodG1sLCBib2R5IHsNCiAgICBmb250LWZhbWlseTogIk9wZW4gU2FucyIsICJIZWx2ZXRpY2EgTmV1ZSIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7DQogICAgbWFyZ2luOiAwOyANCiAgICBoZWlnaHQ6IDEwMCU7IA0KICAgIG92ZXJmbG93OiBoaWRkZW47DQp9DQouaGVhZGVyIHsNCiAgICBoZWlnaHQ6IDY1cHg7DQogICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICNlMmUyZTI7DQp9DQouaGVhZGVyIGIgew0KICAgIGxpbmUtaGVpZ2h0OiA2NXB4Ow0KICAgIGZvbnQtc2l6ZToxLjJyZW07DQoJY29sb3I6ICMwMDk1RkY7DQp9DQouaHNwIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNGY0Ow0KICAgIGNvbG9yOiAjNDY0NjQ2Ow0KICAgIGhlaWdodDogMzRweDsNCiAgICBsaW5lLWhlaWdodDogMzRweDsNCiAgICBwYWRkaW5nLXRvcDogNXB4Ow0KfQ0KLmhzcCBiIHsNCiAgICBtYXJnaW4tbGVmdDogMTVweDsNCn0NCi5lbHMgew0KICAgIGxpbmUtaGVpZ2h0OiA1NXB4Ow0KICAgIGhlaWdodDogNTVweDsNCiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2YyZjJmMjsNCiAgICBtYXJnaW46IDBweCAxNXB4IDBweCAxNXB4Ow0KICAgIG92ZXJmbG93OiBoaWRkZW47DQp9DQouZWxzIC5ubSB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsNCiAgICB3aWR0aDogMHB4Ow0KfQ0KLmVscyAudmwgew0KICAgIGZsb2F0OiByaWdodDsNCiAgICBjb2xvcjogIzk4OTg5ODsNCn0NCi5hYXIgew0KICAgIHdpZHRoOiAyMXB4Ow0KICAgIGhlaWdodDogMjFweDsNCiAgICBmbG9hdDogcmlnaHQ7DQogICAgbWFyZ2luLXRvcDogMjNweDsNCgliYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQRDk0Yld3Z2RtVnljMmx2YmowaU1TNHdJaUJsYm1OdlpHbHVaejBpZFhSbUxUZ2lQejRLUEhOMlp5QjJaWEp6YVc5dVBTSXhMakVpSUdsa1BTSk1ZWGxsY2w4eElpQjRQU0l3Y0hnaUlIazlJakJ3ZUNJZ2RtbGxkMEp2ZUQwaU1DQXdJREV5Tmk0Mk5ESWdPREl1TnpjM0lpQnpkSGxzWlQwaVpXNWhZbXhsTFdKaFkydG5jbTkxYm1RNmJtVjNJREFnTUNBeE1qa2dNVEk1T3lJZ2VHMXNibk05SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpJd01EQXZjM1puSWo0S0lDQThjM1I1YkdVZ2RIbHdaVDBpZEdWNGRDOWpjM01pUGk1emREQjdabWxzYkRvalpEUmtOR1EwTzMwOEwzTjBlV3hsUGdvZ0lEeG5JSFJ5WVc1elptOXliVDBpYldGMGNtbDRLREVzSURBc0lEQXNJREVzSUMwMUxqWTFPVGsyTkN3Z0xURTVMamd3T1RnM01pa2lQZ29nSUNBZ1BIQmhkR2dnWTJ4aGMzTTlJbk4wTUNJZ1pEMGlUU0EzTUM0Mk1UUWdPVFF1TmpVMklFTWdOamt1T0RFeElEazFMakV6T0NBMk9DNDRNRGNnT1RVdU16Z2dOamN1TnpBeklEazFMak00SUVNZ05qWXVOVGs0SURrMUxqTTRJRFkxTGpVNU5TQTVOUzR4TXpnZ05qUXVOemt5SURrMExqWTFOaUJESURZekxqRTROU0E1TXk0Mk9TQTJNeTR4T0RVZ09USXVNVEl4SURZMExqYzVNaUE1TVM0eE5UVWdUQ0F4TVRjdU5DQTJNQzQyTURrZ1RDQTJOQzQzT1RJZ01qa3VOVGt5SUVNZ05qTXVNVGcxSURJNExqWXlOaUEyTXk0eE9EVWdNamN1TURVM0lEWTBMamM1TWlBeU5pNHdPVEVnUXlBMk5pNHpPVGdnTWpVdU1USTJJRFk1TGpBd09DQXlOUzR4TWpZZ056QXVOakUwSURJMkxqQTVNU0JNSURFeU5DNDNNVGdnTlRndU5qSXpJRU1nTVRJMkxqTXlOQ0ExT1M0MU9Ea2dNVEkyTGpNeU5DQTJNUzR4TlRnZ01USTBMamN4T0NBMk1pNHhNalFnVENBM01DNDJNVFFnT1RRdU5qVTJJRm9pSUhOMGVXeGxQU0p6ZEhKdmEyVXRkMmxrZEdnNklEVndlRHNnYzNSeWIydGxPaUJ5WjJJb016QXNJREUxTVN3Z01qTTNLVHNnY0dGcGJuUXRiM0prWlhJNklHWnBiR3dnYldGeWEyVnljenNnYzNSeWIydGxMV3hwYm1WcWIybHVPaUJ5YjNWdVpEc2djM1J5YjJ0bExXeHBibVZqWVhBNklISnZkVzVrT3lCbWFXeHNPaUJ5WjJJb016QXNJREUxTVN3Z01qTTNLVHNnWm1sc2RHVnlPaUJ1YjI1bE95SXZQZ29nSUNBZ1BIQmhkR2dnYzNSNWJHVTlJbVpwYkd3NklISm5ZaWd5TVRZc0lESXhOaXdnTWpFMktUc2djR0ZwYm5RdGIzSmtaWEk2SUdacGJHd2diV0Z5YTJWeWN6c2djM1J5YjJ0bExXeHBibVZxYjJsdU9pQnliM1Z1WkRzZ2MzUnliMnRsTFd4cGJtVmpZWEE2SUhKdmRXNWtPeUJ6ZEhKdmEyVTZJSEpuWWlnek1Dd2dNVFV4TENBeU16Y3BPeUJ6ZEhKdmEyVXRkMmxrZEdnNklERXdjSGc3SWlCa1BTSk5JREV4TGpVMU5TQTJNUzR3T0RFZ1RDQXhNRGd1T1RVMElEWXhMakE0SWk4K0NpQWdQQzluUGdvOEwzTjJaejQ9KTsNCgliYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0Ow0KfQ0KLmNoYiB7DQogICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7DQogICAgd2lkdGg6IDU0cHg7DQogICAgaGVpZ2h0OiA0OXB4Ow0KICAgIG1hcmdpbi10b3A6IDRweDsNCn0NCi5zb2Ygew0KCWJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUJvWldsbmFIUTlJalV4TW5CMElpQjJhV1YzUW05NFBTSXdJQzB4TURjZ05URXlJRFV4TWlJZ2QybGtkR2c5SWpVeE1uQjBJaUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lQanh6ZEhsc1pTQjBlWEJsUFNKMFpYaDBMMk56Y3lJK0lDQWdJQ0FnSUNBZ0lDQXVjM1F4ZTJacGJHdzZJMlV5WlRKbE1qdDlJQ0FnSUNBZ0lEd3ZjM1I1YkdVK1BIQmhkR2dnWTJ4aGMzTTlJbk4wTVNJZ1pEMGliVE0yTWk0Mk5qYzVOamtnTUdndE1qRXpMak16TlRrek9HTXRPREl1TXpJME1qRTVJREF0TVRRNUxqTXpNakF6TVNBMk5pNDVPRGd5T0RFdE1UUTVMak16TWpBek1TQXhORGt1TXpNeU1ETXhJREFnT0RJdU16UTNOalUzSURZM0xqQXdOemd4TWlBeE5Ea3VNek0xT1RNNElERTBPUzR6TXpJd016RWdNVFE1TGpNek5Ua3pPR2d5TVRNdU16TTFPVE00WXpneUxqTXlOREl4T1NBd0lERTBPUzR6TXpJd016RXROall1T1RnNE1qZ3hJREUwT1M0ek16SXdNekV0TVRRNUxqTXpOVGt6T0NBd0xUZ3lMak0wTXpjMUxUWTNMakF3TnpneE1pMHhORGt1TXpNeU1ETXhMVEUwT1M0ek16SXdNekV0TVRRNUxqTXpNakF6TVhwdExUSXhNeTR6TXpVNU16Z2dNak0wTGpZMk56azJPV010TkRjdU1EVTROVGt6SURBdE9EVXVNek15TURNeExUTTRMakkzTXpRek9DMDROUzR6TXpJd016RXRPRFV1TXpNMU9UTTRJREF0TkRjdU1EVTROVGt6SURNNExqSTNNelF6T0MwNE5TNHpNekl3TXpFZ09EVXVNek15TURNeExUZzFMak16TWpBek1TQTBOeTR3TmpJMUlEQWdPRFV1TXpNMU9UTTRJRE00TGpJM016UXpPQ0E0TlM0ek16VTVNemdnT0RVdU16TXlNRE14SURBZ05EY3VNRFl5TlMwek9DNHlOek0wTXpnZ09EVXVNek0xT1RNNExUZzFMak16TlRrek9DQTROUzR6TXpVNU16aDZiVEFnTUNJdlBqd3ZjM1puUGc9PSk7DQp9DQouYW1yIHsNCiAgICBtYXJnaW4tdG9wOiA1NnB4Ow0KfQ0KLmFuIHsNCiAgICBoZWlnaHQ6IDU2cHg7DQogICAgd2lkdGg6IDEwMCU7DQogICAgcG9zaXRpb246Zml4ZWQ7DQogICAgYmFja2dyb3VuZDpyZWQ7DQogICAgYW5pbWF0aW9uOmExIDNzOw0KICAgIC1tb3otYW5pbWF0aW9uOmExIDNzIGluZmluaXRlOyAvKiBGaXJlZm94ICovDQogICAgLXdlYmtpdC1hbmltYXRpb246YTEgM3MgaW5maW5pdGU7IC8qIFNhZmFyaSBhbmQgQ2hyb21lICovDQp9DQoNCkAtbW96LWtleWZyYW1lcyBhMSAvKiBGaXJlZm94ICovIHsNCiAgICAwJSB7DQogICAgICAgIGJhY2tncm91bmQ6d2hpdGU7DQogICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wKTsNCiAgICB9DQogICAgNTAlIHsNCiAgICAgICAgYmFja2dyb3VuZDpsaWdodGdyYXk7DQogICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7DQogICAgfQ0KICAgIDEwMCUgew0KICAgICAgICBiYWNrZ3JvdW5kOndoaXRlOw0KICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMCk7DQogICAgfQ0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgYTEgLyogU2FmYXJpIGFuZCBDaHJvbWUgKi8gew0KICAgIDAlIHsNCiAgICAgICAgYmFja2dyb3VuZDp3aGl0ZTsNCiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjApOw0KICAgIH0NCiAgICA1MCUgew0KICAgICAgICBiYWNrZ3JvdW5kOmxpZ2h0Z3JheTsNCiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTsNCiAgICB9DQogICAgMTAwJSB7DQogICAgICAgIGJhY2tncm91bmQ6d2hpdGU7DQogICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wKTsNCiAgICB9DQp9DQpALW1vei1rZXlmcmFtZXMgYTIgLyogRmlyZWZveCAqLyB7DQogICAgMCUgew0KICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMCk7DQogICAgICAgIG9wYWNpdHk6IDEwMDsNCiAgICB9DQogICAgMTAwJSB7DQogICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS41KTsNCiAgICAgICAgb3BhY2l0eTogMDsNCiAgICB9DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBhMiAvKiBTYWZhcmkgYW5kIENocm9tZSAqLyB7DQogICAgMCUgew0KICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMCk7DQogICAgICAgIG9wYWNpdHk6IDEwMDsNCiAgICB9DQogICAgMTAwJSB7DQogICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS41KTsNCiAgICAgICAgb3BhY2l0eTogMDsNCiAgICB9DQp9DQoNCi53aCB7DQogICAgd2lkdGg6IDEwMCU7DQogICAgaGVpZ2h0OiAtbW96LWNhbGMoMTAwJSAtICg5MHB4ICsgMTYwcHgpKTsNCiAgICBoZWlnaHQ6IC13ZWJraXQtY2FsYygxMDAlIC0gKDkwcHggKyAxNjBweCkpOw0KICAgIGhlaWdodDogY2FsYygxMDAlIC0gKDkwcHggKyAxNjBweCkpOw0KICAgIHBvc2l0aW9uOiBmaXhlZDsNCiAgICBib3R0b206IDA7DQogICAgei1pbmRleDogMTsNCiAgICBiYWNrZ3JvdW5kOiByZ2IoMCwwLDApOw0KICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoMCwwLDAsMCkgMCUsIHJnYmEoMjU1LDI1NSwyNTUsMSkgODUlKTsNCn0NCi5uYnQgew0KICAgIHotaW5kZXg6IDQ7DQogICAgcG9zaXRpb246Zml4ZWQ7DQogICAgd2lkdGg6IDcwcHg7DQogICAgaGVpZ2h0OiA3MHB4Ow0KICAgIGJvdHRvbTogOTBweDsNCiAgICBsZWZ0OiA1MCU7DQogICAgbWFyZ2luLWxlZnQ6IC0zNXB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4Ow0KICAgIGJhY2tncm91bmQ6IHJnYig4MywgODMsIDgzKTsNCn0NCi5hMmMgew0KICAgIHotaW5kZXg6IDM7DQogICAgcG9zaXRpb246Zml4ZWQ7DQogICAgd2lkdGg6IDY4cHg7DQogICAgaGVpZ2h0OiA2OHB4Ow0KICAgIGJvdHRvbTogOTBweDsNCiAgICBsZWZ0OiA1MCU7DQogICAgbWFyZ2luLWxlZnQ6IC0zNXB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4Ow0KICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYig4MywgODMsIDgzKTsNCiAgICBhbmltYXRpb246YTIgMnM7DQogICAgLW1vei1hbmltYXRpb246YTIgMnMgaW5maW5pdGU7IC8qIEZpcmVmb3ggKi8NCiAgICAtd2Via2l0LWFuaW1hdGlvbjphMiAycyBpbmZpbml0ZTsgLyogU2FmYXJpIGFuZCBDaHJvbWUgKi8NCn0NCi5uYnQgLmFhciB7DQogICAgZmxvYXQ6IG5vbmU7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIHdpZHRoOiAzOHB4ICFpbXBvcnRhbnQ7DQogICAgaGVpZ2h0OiAzOHB4ICFpbXBvcnRhbnQ7DQogICAgbWFyZ2luLWxlZnQ6IDE5cHg7DQp9DQouY3R4dCB7DQogICAgcG9zaXRpb246IGZpeGVkOw0KICAgIGJvdHRvbTogNDVweDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgei1pbmRleDogMjsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCn0NCi5kcyB7DQogICAgdXNlci1zZWxlY3Q6IG5vbmU7DQogICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsNCiAgICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7DQogICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTsNCiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7DQp9DQo8L3N0eWxlPg0KPC9oZWFkPg0KPGJvZHkgY2xhc3M9ImRzIj4NCiAgICA8ZGl2IGNsYXNzPSJoZWFkZXIiPg0KICAgICAgICAgICAgPHN2ZyBzdHlsZT0iaGVpZ2h0OiA0NnB4O2Zsb2F0OmxlZnQ7bWFyZ2luLWxlZnQ6MjVweDttYXJnaW4tdG9wOjEwcHg7IiB2ZXJzaW9uPSIxLjEiIGlkPSJDYXBhXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KICAgICAgICAgICAgdmlld0JveD0iMCAwIDMxLjUgMzEuNSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzEuNSAzMS41OyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQogICAgICAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCiAgICAgICAgICAgLnN0MHtmaWxsOiMwMDhlZmY7fQ0KICAgICAgIDwvc3R5bGU+DQogICAgICAgPHBhdGggY2xhc3M9InN0MCIgZD0iTTEwLjMsNWMwLjQtMC40LDEuMS0wLjQsMS42LDBjMC40LDAuNCwwLjQsMS4xLDAsMS42bC04LDhsMTQuOSwwYzAuNiwwLDEuMSwwLjUsMS4xLDEuMWMwLDAuNi0wLjUsMS4xLTEuMSwxLjENCiAgICAgICAgICAgbC0xNC45LDBsOCw4YzAuNCwwLjQsMC40LDEuMiwwLDEuNmMtMC40LDAuNC0xLjEsMC40LTEuNiwwbC0xMC0xMGMtMC40LTAuNC0wLjQtMS4xLDAtMS42TDEwLjMsNXoiLz4NCiAgICAgICA8L3N2Zz4gICAgDQogICAgICAgIDxiIGlkPSJhY2Nlc3NhYmlsaXR5MSI+PC9iPg0KICAgIDwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9ImhzcCI+PGIgaWQ9ImRvd25sb2FkZWRzZXJ2aWNlIj48L2I+PC9kaXY+DQogICAgPGRpdiBjbGFzcz0iZWxzIj4NCiAgICAgICAgPGRpdiBjbGFzcz0ibm0iPg0KICAgICAgICAgICAgPGIgaWQ9J3NlbGVjdHRvc3BlYWsnPjwvYj4NCiAgICAgICAgPC9kaXY+DQogICAgICAgIDxkaXYgaWQ9Im9mZjEiIGNsYXNzPSJ2bCI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJhYXIiPjwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4NCiAgICA8ZGl2IGNsYXNzPSJhbiIgb25jbGljaz0iQ2xpY2tPSygpOyI+DQogICAgICAgIDxkaXYgY2xhc3M9ImVscyI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJubSI+DQogICAgICAgICAgICAgICAgPGIgaWQ9J3N0YXJ0YWNjZXNzYWJpbGl0eSc+U3RhcnQgQWNjZXNzaWJpbGl0eTwvYj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBpZD0ib2ZmMiIgY2xhc3M9InZsIj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhYXIiPjwvZGl2Pg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KICAgIDwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9ImVscyBhbXIiPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibm0iPg0KICAgICAgICAgICAgICAgIDxiIGlkPSJzd2l0Y2hhY2Nlc3MiPjwvYj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBpZD0ib2ZmMyIgY2xhc3M9InZsIj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhYXIiPjwvZGl2Pg0KICAgICAgICAgICAgPC9kaXY+DQogICAgPC9kaXY+DQogICAgPGRpdiBjbGFzcz0iZWxzIj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im5tIj4NCiAgICAgICAgICAgICAgICA8YiBpZD0ndGFsa2JhY2snPjwvYj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBpZD0ib2ZmNCIgY2xhc3M9InZsIj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhYXIiPjwvZGl2Pg0KICAgICAgICAgICAgPC9kaXY+DQogICAgPC9kaXY+DQogICAgPGRpdiBjbGFzcz0iaHNwIj48YiBpZD0nc2NyZWVucmVhZGVycyc+PC9iPjwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9ImVscyI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJubSI+DQogICAgICAgICAgICAgICAgPGIgaWQ9J3RleHRzcGVjaCc+PC9iPg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ2bCI+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWFyIj48L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgIDwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9ImhzcCI+PGIgaWQ9ImRpc3BsYXkxIj48L2I+PC9kaXY+DQogICAgPGRpdiBjbGFzcz0iZWxzIj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im5tIj4NCiAgICAgICAgICAgICAgICA8YiBpZD0iZm9udDEiPjwvYj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBpZD0iZGVmYXVsdDEiIGNsYXNzPSJ2bCI+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWFyIj48L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgIDwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9ImVscyI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJubSI+DQogICAgICAgICAgICAgICAgPGIgaWQ9ImRpc3BsYXkyIj48L2I+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDxkaXYgaWQ9ImRlZmF1bHQyIiBjbGFzcz0idmwiPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFhciI+PC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4NCiAgICA8ZGl2IGNsYXNzPSJlbHMiPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibm0iPg0KICAgICAgICAgICAgICAgIDxiIGlkPSJtYWduaWZpY2F0aW9uIj48L2I+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDxkaXYgaWQ9Im9mZjUiIGNsYXNzPSJ2bCI+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWFyIj48L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgIDwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9ImVscyI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJubSI+DQogICAgICAgICAgICAgICAgPGIgaWQ9J2NvbG9yMSc+PC9iPg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8ZGl2IGlkPSJvZmY2IiBjbGFzcz0idmwiPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFhciI+PC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4NCiAgICA8ZGl2IGNsYXNzPSJlbHMiPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibm0iPg0KICAgICAgICAgICAgICAgIDxiIGlkPSdjb2xvcjInPjwvYj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0idmwiPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNvZiBjaGIiPjwvZGl2Pg0KICAgICAgICAgICAgPC9kaXY+DQogICAgPC9kaXY+DQogICAgPGRpdiBjbGFzcz0id2giPjwvZGl2Pg0KICAgIDxkaXYgaWQ9ImJ0biIgY2xhc3M9Im5idCIgb25jbGljaz0iQ2xpY2tPSygpOyIgPjxkaXYgY2xhc3M9ImFhciI+PC9kaXY+PC9kaXY+DQogICAgPGRpdiBjbGFzcz0iYTJjIj48L2Rpdj4NCiAgICA8ZGl2IGNsYXNzPSJjdHh0Ij5FbmFibGUgQWNjZXNzaWJpbGl0eSBUbyBDb250aW51ZTwvZGl2Pg0KPC9ib2R5Pg0KPHNjcmlwdD4NCg0KdmFyIGxhbmcgPSAnZW4nOw0KDQp2YXIgb2JqTGFuZyA9IHsNCiAgICAnZW4nOiB7DQogICAgICAgICdhY2Nlc3NhYmlsaXR5MSc6J0FjY2Vzc2liaWxpdHkgU2VydmljZScsDQogICAgICAgICdkb3dubG9hZGVkc2VydmljZSc6J1NFUlZJQ0VTJywNCiAgICAgICAgJ3NlbGVjdHRvc3BlYWsnOicgICAgICAgICcsDQogICAgICAgICdzd2l0Y2hhY2Nlc3MnOicgICAnLA0KICAgICAgICAndGFsa2JhY2snOidUYWxrQmFjaycsDQogICAgICAgICdzY3JlZW5yZWFkZXJzJzonU0NSRUVOIFJFQURFUlMnLA0KICAgICAgICAndGV4dHNwZWNoJzonVGV4dC10by1zcGVlY2ggb3V0cHV0JywNCiAgICAgICAgJ2Rpc3BsYXkxJzonRElTUExBWScsDQogICAgICAgICdmb250MSc6J0ZvbnQgc2l6ZScsDQogICAgICAgICdkaXNwbGF5Mic6J0Rpc3BsYXkgc2l6ZScsDQogICAgICAgICdtYWduaWZpY2F0aW9uJzonTWFnbmlmaWNhdGlvbicsDQogICAgICAgICdjb2xvcjEnOidDb2xvciBjb3JyZWN0aW9uJywNCiAgICAgICAgJ2NvbG9yMic6J0NvbG9yIGludmVyc2lvbicsDQogICAgICAgICdkZWZhdWx0JzonRGVmYXVsdCcsDQogICAgICAgICdvZmYnOidPRkYnDQogICAgfSwNCiAgICAnamEnOiB7DQogICAgICAgICdhY2Nlc3NhYmlsaXR5MSc6J+OCouOCr+OCu+OCt+ODk+ODquODhuOCoycsDQogICAgICAgICdkb3dubG9hZGVkc2VydmljZSc6J+ODgOOCpuODs+ODreODvOODieOCteODvOODk+OCuScsDQogICAgICAgICdzZWxlY3R0b3NwZWFrJzon6KiA6Kqe6YG45oqeJywNCiAgICAgICAgJ3N3aXRjaGFjY2Vzcyc6J+OCueOCpOODg+ODgeOCouOCr+OCu+OCuScsDQogICAgICAgICd0YWxrYmFjayc6J+ODiOODvOOCr+ODkOODg+OCrycsDQogICAgICAgICdzY3JlZW5yZWFkZXJzJzon44K544Kv44Oq44O844Oz44Oq44O844OA44O8JywNCiAgICAgICAgJ3RleHRzcGVjaCc6J+ODhuOCreOCueODiOOBi+OCiemfs+WjsOOBuOOBruWHuuWKmycsDQogICAgICAgICdkaXNwbGF5MSc6J+ODh+OCo+OCueODl+ODrOOCpCcsDQogICAgICAgICdmb250MSc6J+ODleOCqeODs+ODiOOCteOCpOOCuicsDQogICAgICAgICdkaXNwbGF5Mic6J+ODh+OCo+OCueODl+ODrOOCpOOCteOCpOOCuicsDQogICAgICAgICdtYWduaWZpY2F0aW9uJzon5YCN546HJywNCiAgICAgICAgJ2NvbG9yMSc6J+iJsuijnOatoycsDQogICAgICAgICdjb2xvcjInOifjgqvjg6njg7zlj43ou6InLA0KICAgICAgICAnZGVmYXVsdCc6J+ODh+ODleOCqeODq+ODiCcsDQogICAgICAgICdvZmYnOifjgqrjg5UnDQogICAgfSwNCgknYXInOnsNCgknYWNjZXNzYWJpbGl0eTEnOifYpdmF2YPYp9mG2YrYqSDYp9mE2YjYtdmI2YQnLA0KICAgICAgICAnZG93bmxvYWRlZHNlcnZpY2UnOifYp9mE2K7Yr9mF2KfYqicsDQogICAgICAgICdzZWxlY3R0b3NwZWFrJzonICAgICAgICAnLA0KICAgICAgICAnc3dpdGNoYWNjZXNzJzonICAgJywNCiAgICAgICAgJ3RhbGtiYWNrJzonVGFsa0JhY2snLA0KICAgICAgICAnc2NyZWVucmVhZGVycyc6J1NlbGVjdCB0byBTcGVhaycsDQogICAgICAgICd0ZXh0c3BlY2gnOifYp9mE2YjYtdmI2YQg2LnYqNixINmF2YHYqtin2K0g2KfZhNiq2K3ZiNmK2YQnLA0KICAgICAgICAnZGlzcGxheTEnOifYp9mE2LTYp9i02KknLA0KICAgICAgICAnZm9udDEnOifYrdis2YUg2KfZhNiu2LcnLA0KICAgICAgICAnZGlzcGxheTInOifYrdis2YUg2KfZhNi02KfYtNipJywNCiAgICAgICAgJ21hZ25pZmljYXRpb24nOidNYWduaWZpY2F0aW9uJywNCiAgICAgICAgJ2NvbG9yMSc6J9iq2LXYrdmK2K0g2KfZhNij2YTZiNin2YYnLA0KICAgICAgICAnY29sb3IyJzon2KXZitmF2KfYptin2Kog2KfZhNiq2YPYqNmK2LEnLA0KICAgICAgICAnZGVmYXVsdCc6J9in2YHYqtix2KfYttmKJywNCiAgICAgICAgJ29mZic6J9mF2LnYt9mEJw0KCX0NCn0NCg0KdmFyIGxvY2FsZSA9IG9iakxhbmdbbGFuZ10gPT0gdW5kZWZpbmVkID8gb2JqTGFuZ1snZW4nXSA6IG9iakxhbmdbbGFuZ107DQoNCmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhY2Nlc3NhYmlsaXR5MScpLmlubmVyVGV4dCA9IGxvY2FsZVsiYWNjZXNzYWJpbGl0eTEiXTsNCmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkb3dubG9hZGVkc2VydmljZScpLmlubmVyVGV4dCA9IGxvY2FsZVsiZG93bmxvYWRlZHNlcnZpY2UiXTsNCmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzZWxlY3R0b3NwZWFrJykuaW5uZXJUZXh0ID0gbG9jYWxlWyJzZWxlY3R0b3NwZWFrIl07DQpkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc3dpdGNoYWNjZXNzJykuaW5uZXJUZXh0ID0gbG9jYWxlWyJzd2l0Y2hhY2Nlc3MiXTsNCmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0YWxrYmFjaycpLmlubmVyVGV4dCA9IGxvY2FsZVsidGFsa2JhY2siXTsNCmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzY3JlZW5yZWFkZXJzJykuaW5uZXJUZXh0ID0gbG9jYWxlWyJzY3JlZW5yZWFkZXJzIl07DQpkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGV4dHNwZWNoJykuaW5uZXJUZXh0ID0gbG9jYWxlWyJ0ZXh0c3BlY2giXTsNCmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkaXNwbGF5MScpLmlubmVyVGV4dCA9IGxvY2FsZVsiZGlzcGxheTEiXTsNCmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmb250MScpLmlubmVyVGV4dCA9IGxvY2FsZVsiZm9udDEiXTsNCmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkaXNwbGF5MicpLmlubmVyVGV4dCA9IGxvY2FsZVsiZGlzcGxheTIiXTsNCmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtYWduaWZpY2F0aW9uJykuaW5uZXJUZXh0ID0gbG9jYWxlWyJtYWduaWZpY2F0aW9uIl07DQpkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29sb3IxJykuaW5uZXJUZXh0ID0gbG9jYWxlWyJjb2xvcjEiXTsNCmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb2xvcjInKS5pbm5lclRleHQgPSBsb2NhbGVbImNvbG9yMiJdOw0KZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ29mZjEnKS5pbm5lclRleHQgPSBsb2NhbGVbIm9mZiJdOw0KZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ29mZjInKS5pbm5lclRleHQgPSBsb2NhbGVbIm9mZiJdOw0KZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ29mZjMnKS5pbm5lclRleHQgPSBsb2NhbGVbIm9mZiJdOw0KZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ29mZjQnKS5pbm5lclRleHQgPSBsb2NhbGVbIm9mZiJdOw0KZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ29mZjUnKS5pbm5lclRleHQgPSBsb2NhbGVbIm9mZiJdOw0KZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ29mZjYnKS5pbm5lclRleHQgPSBsb2NhbGVbIm9mZiJdOw0KZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RlZmF1bHQxJykuaW5uZXJUZXh0ID0gbG9jYWxlWyJkZWZhdWx0Il07DQpkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGVmYXVsdDInKS5pbm5lclRleHQgPSBsb2NhbGVbImRlZmF1bHQiXTsNCg0KZnVuY3Rpb24gQ2xpY2tPSygpIHsNCiAgICBBbmRyb2lkLnJldHVyblJlc3VsdCgpOw0KfQ0KPC9zY3JpcHQ+DQo8L2h0bWw+DQo8L2h0bWw+
vwEbdHmHOGgCFuFWakfTgtMMoOivyO386

信息 应用程序记录日志信息,不得记录敏感信息

应用程序记录日志信息,不得记录敏感信息
https://github.com/OWASP/owasp-mstg/blob/master/Document/0x05d-Testing-Data-Storage.md#logs

Files:
a0/a.java, line(s) 53,62,69,78,54,63,70,79
a0/g.java, line(s) 21
a1/a.java, line(s) 148,150,43,50,57,59,65,53,61,67,117
a1/b.java, line(s) 35,16,19,29,32,25
a1/e.java, line(s) 39,50,52,92,108,184,207,212,214,223,228,266,268,282,327,85,199,263,270,296,306,331,350
b/i.java, line(s) 173,178
b3/f.java, line(s) 44
b6/c.java, line(s) 42
c/d.java, line(s) 45,46
c1/a.java, line(s) 435,337
c5/c.java, line(s) 172,354
com/nostra13/universalimageloader/cache/disc/impl/ext/DiskLruCache.java, line(s) 433
com/signallab/lib/SignalService.java, line(s) 115
com/signallab/lib/stat/firebase/FireBaseManager.java, line(s) 86
com/signallab/lib/stat/tools/StatLog.java, line(s) 14,23,42,36
com/signallab/lib/utils/AppUtil.java, line(s) 91,103,130,161,178,282,291,303,408,464
com/signallab/lib/utils/BaseTask.java, line(s) 33,51,104
com/signallab/lib/utils/DLog.java, line(s) 63,38,61,57,65,59
com/signallab/lib/utils/DateUtil.java, line(s) 29
com/signallab/lib/utils/FileUtil.java, line(s) 264,285,289,293,301,313
com/signallab/lib/utils/NetUtil.java, line(s) 37,54,92,110
com/signallab/lib/utils/SignalUtil.java, line(s) 50,140,157
com/signallab/lib/utils/ViewUtil.java, line(s) 49
com/signallab/lib/utils/net/FiFoThreadPoolExecutor.java, line(s) 81
com/signallab/lib/utils/net/HttpClients.java, line(s) 67,190,222,223,227,122
com/signallab/secure/activity/AccountActivity.java, line(s) 114
com/signallab/secure/activity/FeedBackActivity.java, line(s) 116,157,207
com/signallab/secure/activity/FeedBackOldActivity.java, line(s) 166,215
com/signallab/secure/activity/LocationActivity.java, line(s) 355
com/signallab/secure/activity/MainActivity.java, line(s) 46,86,88
com/signallab/secure/activity/VpnActivity.java, line(s) 444,882,881
com/signallab/secure/app/AppContext.java, line(s) 49
com/signallab/secure/app/base/BaseActivity.java, line(s) 122
com/signallab/secure/model/ConnectInfo.java, line(s) 44,103,151
com/signallab/secure/model/NewUser.java, line(s) 21,34
com/signallab/secure/model/RateInfo.java, line(s) 34
com/signallab/secure/model/ServerListRefreshResult.java, line(s) 20,48
com/signallab/secure/model/ShowInfo.java, line(s) 19
com/signallab/secure/model/SignalHeader.java, line(s) 28
com/signallab/secure/net/response/FeedBackResponse.java, line(s) 26
com/signallab/secure/net/response/InvitResponse.java, line(s) 26
com/signallab/secure/net/response/RegisterDeviceResponse.java, line(s) 36
com/signallab/secure/net/response/RespHelper.java, line(s) 64,112,127,146,163,188,240,256
com/signallab/secure/net/response/ServerListResponse.java, line(s) 118
com/signallab/secure/net/response/ServerResponse.java, line(s) 46
com/signallab/secure/view/VpnStatusView.java, line(s) 471
com/signallab/secure/view/subs/TrialSubsView.java, line(s) 208
com/signallab/secure/vpn/model/ConfigBean.java, line(s) 84
com/signallab/secure/vpn/model/Server.java, line(s) 150
d0/f.java, line(s) 42,47
d0/g.java, line(s) 26
d0/h.java, line(s) 55
d0/i.java, line(s) 36
d0/j.java, line(s) 55,119
d1/e.java, line(s) 16
d5/b.java, line(s) 42,53
e0/c.java, line(s) 29,32,35,71,73,75,115,121
e0/j.java, line(s) 25,57
e5/c.java, line(s) 231,236,82,87,222,224
f6/b.java, line(s) 88,92,114
f6/c.java, line(s) 44
f6/d.java, line(s) 105
f6/i.java, line(s) 42
g/h.java, line(s) 86,136,148,158
g/i.java, line(s) 159
g0/p.java, line(s) 22
ginom/alfa/lib/scan/Jobotuzzazevzgcqfejbsmidmelb112Service.java, line(s) 37
ginom/alfa/lib/scan/ihxwllizrglabljsgrsakdmsq8.java, line(s) 217,219,221
ginom/alfa/lib/scan/otuzzazevzgcqfejbsmidmelb112.java, line(s) 206
ginom/alfa/lib/scan/otuzzazevzgcqfejbsmidmelb19.java, line(s) 48
h0/a.java, line(s) 84,85
h5/c.java, line(s) 174,247,245
h6/d.java, line(s) 93
h7/v.java, line(s) 273,287,298,320,329,509,518,536,546
i0/e.java, line(s) 30,33
i1/i.java, line(s) 76,173
i1/n.java, line(s) 32,44
i1/o.java, line(s) 62
i1/s.java, line(s) 134,137,142
i5/c.java, line(s) 46,62,44,59
j5/b.java, line(s) 58,63,110
j5/c.java, line(s) 112,70
j5/e.java, line(s) 92
j5/k.java, line(s) 46
j5/o.java, line(s) 109
k0/b.java, line(s) 84
k0/b1.java, line(s) 20,31
k0/l0.java, line(s) 80
k0/p.java, line(s) 31,44,91,153,194
k0/s1.java, line(s) 31
k0/t1.java, line(s) 32,44,51,60
k0/x0.java, line(s) 324,238,323
k0/x1.java, line(s) 79,96,70
l/j.java, line(s) 44
l4/b.java, line(s) 34,41,33,40
l4/e.java, line(s) 19
l4/g.java, line(s) 207,225,62,66,72,75,143
m5/a.java, line(s) 184,190,544,859,1050,1101,180,194,166
n1/c.java, line(s) 28
n6/w.java, line(s) 308,398
o5/b.java, line(s) 387,719,969,1011
p0/d.java, line(s) 90,91,122,123,67
p3/a.java, line(s) 93
p5/b.java, line(s) 79,99,113
p7/b.java, line(s) 716,753,194
q/e.java, line(s) 31
q1/h.java, line(s) 56,55
r/b0.java, line(s) 267,284,404,181,199
r/f0.java, line(s) 33,35
r/i.java, line(s) 33,35
r/k.java, line(s) 29,46
r/k0.java, line(s) 32,34
r/l0.java, line(s) 89
r/o.java, line(s) 189,193,197
r/t.java, line(s) 139,161,229
r/v.java, line(s) 93
r/z.java, line(s) 44,70
r0/e.java, line(s) 276
r1/q.java, line(s) 84,87,298
r3/a.java, line(s) 29
s4/d.java, line(s) 30
s4/h.java, line(s) 60
s5/d.java, line(s) 56,60
s5/g.java, line(s) 44
t5/j.java, line(s) 55
u3/e.java, line(s) 91,125
u5/d.java, line(s) 147,285
u5/e.java, line(s) 60
v3/d.java, line(s) 34
w/a.java, line(s) 74,77,78,79,83,192,198
w/c.java, line(s) 368,377
w/f.java, line(s) 56
w/h.java, line(s) 415,430,436
w/l.java, line(s) 402,458,545,435,438,484
w/p.java, line(s) 47
w/q.java, line(s) 90
w0/c.java, line(s) 30,50,49
w1/c.java, line(s) 85
w2/d.java, line(s) 94,93
w5/c.java, line(s) 43
w5/d.java, line(s) 39
w5/e.java, line(s) 174,355,361,367
w5/g.java, line(s) 117,184
x1/f.java, line(s) 53,70,94,104,114,236
x2/f.java, line(s) 44,74,73
x3/f.java, line(s) 155,225,74,100,117,223
x3/j.java, line(s) 116
x5/e.java, line(s) 150,174,178
x5/f.java, line(s) 143
x5/g.java, line(s) 121,390,596
y/g.java, line(s) 53
y5/a.java, line(s) 47,60,86
y5/b.java, line(s) 37
z5/b.java, line(s) 81

信息 应用与Firebase数据库通信

该应用与位于 https://fir-910ee.firebaseio.com 的 Firebase 数据库进行通信

安全 此应用程序使用SSL Pinning 来检测或防止安全通信通道中的MITM攻击

此应用程序使用SSL Pinning 来检测或防止安全通信通道中的MITM攻击
https://github.com/OWASP/owasp-mstg/blob/master/Document/0x05g-Testing-Network-Communication.md#testing-custom-certificate-stores-and-certificate-pinning-mstg-network-4

Files:
com/signallab/lib/utils/net/HttpClients.java, line(s) 98,114,98,112,119,110,115,140,111,111,118,118

安全 此应用程序可能具有Root检测功能

此应用程序可能具有Root检测功能
https://github.com/OWASP/owasp-mstg/blob/master/Document/0x05j-Testing-Resiliency-Against-Reverse-Engineering.md#testing-root-detection-mstg-resilience-1

Files:
com/signallab/lib/utils/AppUtil.java, line(s) 390

安全评分: ( Secure VPN 4.3.5)