温馨提示:本平台仅供研究软件风险、安全评估,禁止用于非法用途。由于展示的数据过于全面,请耐心等待加载完成。如有疑问或建议, 可加入我们的微信群讨论

APP评分

病毒检测 6 个厂商报毒

安全评分

文件信息

文件名称 com-bulkypix-madaces-55-18519752-f29ebd7c5808053d9f3f3722a5db1688.apk
文件大小 53.7MB
MD5 f29ebd7c5808053d9f3f3722a5db1688
SHA1 973fba7b907e47ba8c161534b7a81e90ec1f344a
SHA256 175e10fa99c28ce65d5cbe69175fb5f9cc79a512c6a3eb9024edf82c0db505c7

应用信息

应用名称 Mad Aces
包名 com.bulkypix.madaces
主活动 y.z.a.Main
目标SDK 23     最小SDK 14
版本号 1.2.2.3     子版本号 55
加固信息 未加壳

组件导出信息

反编译代码

Manifest文件 查看
APK文件 下载
Java源代码 查看 -- 下载

证书信息

二进制文件没有签名
缺少代码签名证书
v1 签名: False
v2 签名: False
v3 签名: False
v4 签名: False

应用程序权限

权限名称 安全等级 权限内容 权限描述 关联代码
android.permission.INTERNET 危险 完全互联网访问 允许应用程序创建网络套接字。
android.permission.ACCESS_NETWORK_STATE 普通 获取网络状态 允许应用程序查看所有网络的状态。
android.permission.READ_PHONE_STATE 危险 读取手机状态和标识 允许应用程序访问设备的手机功能。有此权限的应用程序可确定此手机的号码和序列号,是否正在通话,以及对方的号码等。
android.permission.ACCESS_WIFI_STATE 普通 查看Wi-Fi状态 允许应用程序查看有关Wi-Fi状态的信息。
android.permission.WRITE_EXTERNAL_STORAGE 危险 读取/修改/删除外部存储内容 允许应用程序写入外部存储。
com.android.vending.BILLING 普通 应用程序具有应用内购买 允许应用程序从 Google Play 进行应用内购买。
android.permission.READ_EXTERNAL_STORAGE 危险 读取SD卡内容 允许应用程序从SD卡读取信息。

证书分析

高危
1
警告
0
信息
0
标题 严重程度 描述信息
缺少代码签名证书 高危 未找到代码签名证书

MANIFEST分析

高危
10
警告
3
信息
0
屏蔽
0
序号 问题 严重程度 描述信息 操作
1 应用程序可以安装在有漏洞的已更新 Android 版本上
Android 4.0-4.0.2, [minSdk=14]
信息 该应用程序可以安装在具有多个未修复漏洞的旧版本 Android 上。这些设备不会从 Google 接收合理的安全更新。支持 Android 版本 => 10、API 29 以接收合理的安全更新。
2 应用程序数据存在被泄露的风险
未设置[android:allowBackup]标志
警告 这个标志 [android:allowBackup]应该设置为false。默认情况下它被设置为true,允许任何人通过adb备份你的应用程序数据。它允许已经启用了USB调试的用户从设备上复制应用程序数据。
3 Activity (com.unity3d.player.UnityPlayerProxyActivity) 的启动模式不是standard模式 高危 Activity 不应将启动模式属性设置为 "singleTask/singleInstance",因为这会使其成为根 Activity,并可能导致其他应用程序读取调用 Intent 的内容。因此,当 Intent 包含敏感信息时,需要使用 "standard" 启动模式属性。
4 Activity (com.unity3d.player.UnityPlayerProxyActivity) 容易受到 Android Task Hijacking/StrandHogg 的攻击。 高危 活动不应将启动模式属性设置为“singleTask”。 然后,其他应用程序可以将恶意活动放置在活动栈顶部,从而导致任务劫持/StrandHogg 1.0 漏洞。 这使应用程序成为网络钓鱼攻击的易受攻击目标。 可以通过将启动模式属性设置为“singleInstance”或设置空 taskAffinity (taskAffinity="") 属性来修复此漏洞。 您还可以将应用的目标 SDK 版本 (23) 更新到 28 或更高版本以在平台级别修复此问题。
5 Activity (com.unity3d.player.UnityPlayerActivity) 的启动模式不是standard模式 高危 Activity 不应将启动模式属性设置为 "singleTask/singleInstance",因为这会使其成为根 Activity,并可能导致其他应用程序读取调用 Intent 的内容。因此,当 Intent 包含敏感信息时,需要使用 "standard" 启动模式属性。
6 Activity (com.unity3d.player.UnityPlayerActivity) 容易受到 Android Task Hijacking/StrandHogg 的攻击。 高危 活动不应将启动模式属性设置为“singleTask”。 然后,其他应用程序可以将恶意活动放置在活动栈顶部,从而导致任务劫持/StrandHogg 1.0 漏洞。 这使应用程序成为网络钓鱼攻击的易受攻击目标。 可以通过将启动模式属性设置为“singleInstance”或设置空 taskAffinity (taskAffinity="") 属性来修复此漏洞。 您还可以将应用的目标 SDK 版本 (23) 更新到 28 或更高版本以在平台级别修复此问题。
7 Activity (com.unity3d.player.UnityPlayerNativeActivity) 的启动模式不是standard模式 高危 Activity 不应将启动模式属性设置为 "singleTask/singleInstance",因为这会使其成为根 Activity,并可能导致其他应用程序读取调用 Intent 的内容。因此,当 Intent 包含敏感信息时,需要使用 "standard" 启动模式属性。
8 Activity (com.unity3d.player.UnityPlayerNativeActivity) 容易受到 Android Task Hijacking/StrandHogg 的攻击。 高危 活动不应将启动模式属性设置为“singleTask”。 然后,其他应用程序可以将恶意活动放置在活动栈顶部,从而导致任务劫持/StrandHogg 1.0 漏洞。 这使应用程序成为网络钓鱼攻击的易受攻击目标。 可以通过将启动模式属性设置为“singleInstance”或设置空 taskAffinity (taskAffinity="") 属性来修复此漏洞。 您还可以将应用的目标 SDK 版本 (23) 更新到 28 或更高版本以在平台级别修复此问题。
9 Broadcast Receiver (com.heyzap.sdk.ads.PackageAddedReceiver) 未被保护。
存在一个intent-filter。
警告 发现 Broadcast Receiver与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Broadcast Receiver是显式导出的。
10 Activity (com.vungle.publisher.FullScreenAdActivity) 的启动模式不是standard模式 高危 Activity 不应将启动模式属性设置为 "singleTask/singleInstance",因为这会使其成为根 Activity,并可能导致其他应用程序读取调用 Intent 的内容。因此,当 Intent 包含敏感信息时,需要使用 "standard" 启动模式属性。
11 Activity (com.vungle.publisher.FullScreenAdActivity) 容易受到 Android Task Hijacking/StrandHogg 的攻击。 高危 活动不应将启动模式属性设置为“singleTask”。 然后,其他应用程序可以将恶意活动放置在活动栈顶部,从而导致任务劫持/StrandHogg 1.0 漏洞。 这使应用程序成为网络钓鱼攻击的易受攻击目标。 可以通过将启动模式属性设置为“singleInstance”或设置空 taskAffinity (taskAffinity="") 属性来修复此漏洞。 您还可以将应用的目标 SDK 版本 (23) 更新到 28 或更高版本以在平台级别修复此问题。
12 Activity (y.z.a.Main) 的启动模式不是standard模式 高危 Activity 不应将启动模式属性设置为 "singleTask/singleInstance",因为这会使其成为根 Activity,并可能导致其他应用程序读取调用 Intent 的内容。因此,当 Intent 包含敏感信息时,需要使用 "standard" 启动模式属性。
13 Activity (y.z.a.Main) 容易受到 Android Task Hijacking/StrandHogg 的攻击。 高危 活动不应将启动模式属性设置为“singleTask”。 然后,其他应用程序可以将恶意活动放置在活动栈顶部,从而导致任务劫持/StrandHogg 1.0 漏洞。 这使应用程序成为网络钓鱼攻击的易受攻击目标。 可以通过将启动模式属性设置为“singleInstance”或设置空 taskAffinity (taskAffinity="") 属性来修复此漏洞。 您还可以将应用的目标 SDK 版本 (23) 更新到 28 或更高版本以在平台级别修复此问题。
14 Broadcast Receiver (y.z.a.Receiver) 未被保护。
存在一个intent-filter。
警告 发现 Broadcast Receiver与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Broadcast Receiver是显式导出的。

可浏览的ACTIVITIES

ACTIVITY INTENT

网络安全配置

序号 范围 严重级别 描述

API调用分析

API功能 源码文件
一般功能-> 文件操作
com/chartboost/sdk/Libraries/CBUtility.java
com/chartboost/sdk/Libraries/c.java
com/chartboost/sdk/Libraries/d.java
com/chartboost/sdk/Libraries/h.java
com/chartboost/sdk/Libraries/j.java
com/chartboost/sdk/Tracking/CBAnalytics.java
com/chartboost/sdk/Tracking/a.java
com/chartboost/sdk/b.java
com/chartboost/sdk/impl/aa.java
com/chartboost/sdk/impl/ac.java
com/chartboost/sdk/impl/ad.java
com/chartboost/sdk/impl/ba.java
com/chartboost/sdk/impl/bc.java
com/chartboost/sdk/impl/bd.java
com/chartboost/sdk/impl/be.java
com/chartboost/sdk/impl/bf.java
com/chartboost/sdk/impl/cc.java
com/chartboost/sdk/impl/cd.java
com/chartboost/sdk/impl/ce.java
com/chartboost/sdk/impl/cf.java
com/chartboost/sdk/impl/co.java
com/chartboost/sdk/impl/cp.java
com/chartboost/sdk/impl/cq.java
com/chartboost/sdk/impl/cs.java
com/chartboost/sdk/impl/ct.java
com/chartboost/sdk/impl/cu.java
com/chartboost/sdk/impl/cw.java
com/chartboost/sdk/impl/cx.java
com/chartboost/sdk/impl/cy.java
com/chartboost/sdk/impl/cz.java
com/chartboost/sdk/impl/da.java
com/chartboost/sdk/impl/l.java
com/chartboost/sdk/impl/u.java
com/chartboost/sdk/impl/w.java
com/chartboost/sdk/impl/x.java
com/chartboost/sdk/impl/z.java
com/chartboost/sdk/unity/CBPlugin.java
com/gameanalytics/sdk/GAPlatform.java
com/gameanalytics/sdk/support/GetGoogleAIDAsync.java
com/heyzap/common/cache/Entry.java
com/heyzap/common/cache/FileCache.java
com/heyzap/common/io/Gzip.java
com/heyzap/common/mraid/MRAIDView.java
com/heyzap/common/mraid/nativefeature/MRAIDNativeFeatureProvider.java
com/heyzap/common/vast/VASTInterstitial.java
com/heyzap/common/vast/model/VASTMediaFile.java
com/heyzap/common/vast/model/VASTModel.java
com/heyzap/common/vast/processor/VASTProcessor.java
com/heyzap/common/vast/util/XmlTools.java
com/heyzap/common/vast/util/XmlValidation.java
com/heyzap/common/video/Cacher.java
com/heyzap/common/video/VideoDisplayOptions.java
com/heyzap/common/video/view/FullscreenVideoView.java
com/heyzap/house/Manager.java
com/heyzap/house/handler/AttributionHandler.java
com/heyzap/house/handler/ImageCacheProvider.java
com/heyzap/house/model/AdModel.java
com/heyzap/house/model/InterstitialModel.java
com/heyzap/house/model/NativeModel.java
com/heyzap/house/model/VideoModel.java
com/heyzap/http/AsyncHttpClient.java
com/heyzap/http/AsyncHttpRequest.java
com/heyzap/http/AsyncHttpResponseHandler.java
com/heyzap/http/Base64.java
com/heyzap/http/Base64DataException.java
com/heyzap/http/Base64OutputStream.java
com/heyzap/http/BinaryHttpResponseHandler.java
com/heyzap/http/DataAsyncHttpResponseHandler.java
com/heyzap/http/FileAsyncHttpResponseHandler.java
com/heyzap/http/JsonStreamerEntity.java
com/heyzap/http/MySSLSocketFactory.java
com/heyzap/http/PersistentCookieStore.java
com/heyzap/http/RequestParams.java
com/heyzap/http/ResponseHandlerInterface.java
com/heyzap/http/RetryHandler.java
com/heyzap/http/SDKCookieStore.java
com/heyzap/http/SerializableCookie.java
com/heyzap/http/SimpleMultipartEntity.java
com/heyzap/http/TextHttpResponseHandler.java
com/heyzap/internal/AdvertisingIdClient.java
com/heyzap/internal/Assets.java
com/heyzap/internal/Base64.java
com/heyzap/internal/Logger.java
com/heyzap/internal/PackageManager.java
com/heyzap/internal/ProxyActivity.java
com/heyzap/internal/Utils.java
com/heyzap/mediation/MediationManager.java
com/heyzap/mediation/adapter/AdapterScanner.java
com/heyzap/mediation/config/MediationConfigLoader.java
com/heyzap/mediation/display/MediatedDisplayConfigLoader.java
com/heyzap/sdk/ads/HeyzapNativeAd.java
com/heyzap/sdk/ads/MediationTestActivityDisabledNetworks.java
com/immersion/hapticmediasdk/MediaPlaybackSDK.java
com/immersion/hapticmediasdk/controllers/FileReaderFactory.java
com/immersion/hapticmediasdk/controllers/HapticDownloadThread.java
com/immersion/hapticmediasdk/controllers/ImmersionHttpClient.java
com/immersion/hapticmediasdk/controllers/MemoryAlignedFileReader.java
com/immersion/hapticmediasdk/controllers/MemoryMappedFileReader.java
com/immersion/hapticmediasdk/utils/FileManager.java
com/jirbo/adcolony/ADCData.java
com/jirbo/adcolony/ADCDownload.java
com/jirbo/adcolony/ADCImage.java
com/jirbo/adcolony/ADCStorage.java
com/jirbo/adcolony/ADCVideo.java
com/jirbo/adcolony/AdColonyAd.java
com/jirbo/adcolony/AdColonyNativeAdView.java
com/jirbo/adcolony/ab.java
com/jirbo/adcolony/ag.java
com/jirbo/adcolony/ai.java
com/jirbo/adcolony/aj.java
com/jirbo/adcolony/e.java
com/jirbo/adcolony/f.java
com/jirbo/adcolony/i.java
com/jirbo/adcolony/m.java
com/jirbo/adcolony/o.java
com/jirbo/adcolony/s.java
com/jirbo/adcolony/x.java
com/jirbo/adcolony/y.java
com/nineoldandroids/animation/AnimatorInflater.java
com/prime31/AlarmManagerReceiver.java
com/prime31/EtceteraPlugin.java
com/prime31/EtceteraProxyActivity.java
com/prime31/GoogleIABPluginBase.java
com/prime31/ImageUtils.java
com/prime31/P31VideoPlayerActivity.java
com/prime31/WebViewActivity.java
com/unity3d/ads/android/UnityAdsUtils.java
com/unity3d/ads/android/cache/UnityAdsCache.java
com/unity3d/ads/android/cache/a.java
com/unity3d/ads/android/cache/c.java
com/unity3d/ads/android/campaign/UnityAdsCampaign.java
com/unity3d/ads/android/video/UnityAdsVideoPlayView.java
com/unity3d/ads/android/view/b.java
com/unity3d/ads/android/webapp/UnityAdsWebData.java
com/unity3d/ads/android/webapp/UnityAdsWebView.java
com/unity3d/ads/android/webapp/k.java
com/unity3d/ads/android/webapp/o.java
com/vungle/publisher/FullScreenAdActivity.java
com/vungle/publisher/cc.java
com/vungle/publisher/cd.java
com/vungle/publisher/ce.java
com/vungle/publisher/cf.java
com/vungle/publisher/ct.java
com/vungle/publisher/cx.java
com/vungle/publisher/cy.java
com/vungle/publisher/db/model/LocalArchive.java
com/vungle/publisher/db/model/LocalVideo.java
com/vungle/publisher/db/model/LocalViewableDelegate.java
com/vungle/publisher/display/view/VideoFragment.java
com/vungle/publisher/env/AndroidDevice.java
com/vungle/publisher/file/CacheManager.java
com/vungle/publisher/image/AssetBitmapFactory.java
com/vungle/publisher/image/BitmapFactory.java
com/vungle/publisher/inject/ConfigurablePublisherModule.java
com/vungle/publisher/net/http/AppFingerprintHttpResponseHandler.java
com/vungle/publisher/net/http/DownloadHttpResponseHandler.java
com/vungle/publisher/net/http/HttpTransport.java
com/vungle/publisher/net/http/HttpURLConnectionFactory.java
com/vungle/publisher/net/http/ReportExceptionsHttpResponseHandler.java
com/vungle/publisher/protocol/ReportLocalAdHttpResponseHandler.java
com/vungle/publisher/protocol/RequestLocalAdHttpResponseHandler.java
com/vungle/publisher/protocol/RequestStreamingAdHttpResponseHandler.java
com/vungle/publisher/protocol/TrackInstallHttpResponseHandler.java
com/vungle/publisher/util/ViewUtils.java
rrrrrr/rrccrr.java
y/z/a/G.java
y/z/a/Main.java
y/z/a/a.java
y/z/a/f.java
y/z/a/i.java
y/z/a/n.java
y/z/a/r.java
y/z/a/v.java
y/z/a/x.java
y/z/a/y.java
网络通信-> HTTP建立连接
网络通信-> TCP套接字
一般功能-> IPC通信
com/chartboost/sdk/CBImpressionActivity.java
com/chartboost/sdk/Chartboost.java
com/chartboost/sdk/impl/a.java
com/chartboost/sdk/impl/ay.java
com/chartboost/sdk/impl/az.java
com/chartboost/sdk/impl/bb.java
com/chartboost/sdk/impl/be.java
com/chartboost/sdk/impl/bf.java
com/flurry/android/FlurryFullscreenTakeoverActivity.java
com/flurry/android/InstallReceiver.java
com/gameanalytics/sdk/GAPlatform.java
com/heyzap/common/mraid/nativefeature/MRAIDNativeFeatureProvider.java
com/heyzap/common/vast/VASTInterstitial.java
com/heyzap/house/abstr/AbstractActivity.java
com/heyzap/house/handler/ClickHandler.java
com/heyzap/house/request/AdRequest.java
com/heyzap/internal/AdvertisingIdClient.java
com/heyzap/internal/HeaderActions.java
com/heyzap/internal/ProxyActivity.java
com/heyzap/internal/Utils.java
com/heyzap/sdk/ads/HeyzapAds.java
com/heyzap/sdk/ads/HeyzapProxyActivity.java
com/heyzap/sdk/ads/PackageAddedReceiver.java
com/heyzap/sdk/ads/VASTActivity.java
com/heyzap/sdk/mediation/adapter/HyprmxAdapter.java
com/jirbo/adcolony/AdColonyBrowser.java
com/jirbo/adcolony/AdColonyNativeAdView.java
com/jirbo/adcolony/ae.java
com/jirbo/adcolony/d.java
com/jirbo/adcolony/e.java
com/jirbo/adcolony/m.java
com/prime31/ActivityProxyObjectHelper.java
com/prime31/AlarmManagerReceiver.java
com/prime31/EtceteraPlugin.java
com/prime31/EtceteraProxyActivity.java
com/prime31/GoogleIABPlugin.java
com/prime31/GoogleIABProxyActivity.java
com/prime31/P31VideoPlayerActivity.java
com/prime31/SamsungCameraHack.java
com/prime31/UnityPlayerNativeActivity.java
com/prime31/WebViewActivity.java
com/prime31/util/IabHelper.java
com/unity3d/ads/android/UnityAds.java
com/unity3d/ads/android/data/UnityAdsAdvertisingId.java
com/unity3d/ads/android/data/a.java
com/unity3d/ads/android/data/b.java
com/unity3d/ads/android/properties/UnityAdsConstants.java
com/unity3d/ads/android/view/UnityAdsFullscreenActivity.java
com/unity3d/ads/android/view/d.java
com/unity3d/ads/android/webapp/IUnityAdsWebBridgeListener.java
com/unity3d/ads/android/webapp/UnityAdsWebBridge.java
com/unity3d/ads/android/webapp/b.java
com/vungle/publisher/FullScreenAdActivity$$InjectAdapter.java
com/vungle/publisher/FullScreenAdActivity.java
com/vungle/publisher/VunglePubBase.java
com/vungle/publisher/db/DatabaseBroadcastReceiver.java
com/vungle/publisher/device/ExternalStorageStateBroadcastReceiver.java
com/vungle/publisher/env/SdkState.java
com/vungle/publisher/net/NetworkBroadcastReceiver.java
com/vungle/publisher/util/IntentFactory$$InjectAdapter.java
com/vungle/publisher/util/IntentFactory.java
y/z/a/G.java
y/z/a/Main.java
y/z/a/Receiver.java
y/z/a/d.java
y/z/a/k.java
y/z/a/l.java
y/z/a/v.java
y/z/a/x.java
加密解密-> 信息摘要算法
组件-> 发送广播
网络通信-> DefaultHttpClient Connection
隐私数据-> 获取已安装的应用程序
调用java反射机制
组件-> 启动 Activity
一般功能-> 获取系统服务(getSystemService)
组件-> 启动 Service
网络通信-> WebView JavaScript接口
网络通信-> WebView GET请求
网络通信-> WebView 相关
网络通信-> HTTP请求、连接和会话
加密解密-> Base64 加密
隐私数据-> 获取GPS位置信息 com/vungle/publisher/location/BaseGoogleDetailedLocationProvider.java
com/vungle/publisher/protocol/message/RequestAd.java
网络通信-> URLConnection com/unity3d/ads/android/cache/c.java
网络通信-> HTTPS建立连接 com/chartboost/sdk/impl/aa.java
com/jirbo/adcolony/ADCDownload.java
com/unity3d/ads/android/webapp/k.java
网络通信-> SSL证书处理
一般功能-> 获取活动网路信息
JavaScript 接口方法 com/prime31/EtceteraPlugin.java
com/unity3d/ads/android/webapp/UnityAdsWebBridge.java
一般功能-> 获取WiFi相关信息 com/chartboost/sdk/Libraries/c.java
com/jirbo/adcolony/g.java
com/vungle/publisher/env/AdaptiveDeviceIdStrategy.java
隐私数据-> 录制音频行为 org/fmod/a.java
一般功能-> 获取网络接口信息 com/chartboost/sdk/impl/cy.java
一般功能-> 设置手机铃声,媒体音量 com/unity3d/ads/android/video/UnityAdsVideoPlayView.java
com/vungle/publisher/device/AudioHelper.java
一般功能-> 获取Android广告ID
加密解密-> Base64 解密 com/heyzap/common/mraid/MRAIDView.java
com/heyzap/internal/Assets.java
加密解密-> Crypto加解密组件 com/prime31/util/Security.java
进程操作-> 杀死进程 com/heyzap/common/concurrency/WrappedRunnable.java
网络通信-> WebView使用File协议 com/prime31/WebViewActivity.java
一般功能-> Android通知 com/prime31/AlarmManagerReceiver.java
一般功能-> 加载so文件 com/gameanalytics/sdk/GAPlatform.java
com/immersion/content/EndpointWarp.java
命令执行-> getRuntime.exec() com/gameanalytics/sdk/GAPlatform.java
隐私数据-> 读写通讯录 com/prime31/ContactFetcher.java
进程操作-> 获取运行的进程\服务 com/heyzap/internal/Utils.java
com/prime31/EtceteraPlugin.java
组件-> ContentProvider com/heyzap/house/handler/ImageCacheProvider.java
组件-> Provider openFile com/heyzap/house/handler/ImageCacheProvider.java
设备指纹-> getSimOperator com/chartboost/sdk/impl/az.java

源代码分析

高危
5
警告
9
信息
1
安全
2
屏蔽
0
序号 问题 等级 参考标准 文件位置 操作
1 应用程序记录日志信息,不得记录敏感信息 信息 CWE: CWE-532: 通过日志文件的信息暴露
OWASP MASVS: MSTG-STORAGE-3
com/chartboost/sdk/Libraries/CBLogging.java
com/chartboost/sdk/impl/t.java
com/chartboost/sdk/unity/CBPlugin.java
com/gameanalytics/sdk/GAPlatform.java
com/gameanalytics/sdk/GameAnalytics.java
com/gameanalytics/sdk/support/AsyncTask.java
com/gameanalytics/sdk/support/GetGoogleAIDAsync.java
com/heyzap/common/mraid/MRAIDInterstitial.java
com/heyzap/common/mraid/MRAIDView.java
com/heyzap/common/mraid/internal/MRAIDNativeFeatureManager.java
com/heyzap/common/mraid/internal/MRAIDParser.java
com/heyzap/common/mraid/nativefeature/MRAIDNativeFeatureProvider.java
com/heyzap/common/vast/VASTInterstitial.java
com/heyzap/common/vast/model/VASTModel.java
com/heyzap/common/vast/processor/VASTModelPostValidator.java
com/heyzap/common/vast/processor/VASTProcessor.java
com/heyzap/common/vast/util/DefaultMediaPicker.java
com/heyzap/common/vast/util/HttpTools.java
com/heyzap/common/vast/util/XmlTools.java
com/heyzap/common/vast/util/XmlValidation.java
com/heyzap/internal/DevLogger.java
com/heyzap/internal/Logger.java
com/immersion/content/EndpointWarp.java
com/immersion/content/Log.java
com/immersion/hapticmediasdk/HapticContentSDK.java
com/immersion/hapticmediasdk/HapticContentSDKFactory.java
com/immersion/hapticmediasdk/MediaPlaybackSDK.java
com/immersion/hapticmediasdk/MediaTaskManager.java
com/immersion/hapticmediasdk/controllers/FileReaderFactory.java
com/immersion/hapticmediasdk/controllers/HapticDownloadThread.java
com/immersion/hapticmediasdk/controllers/HapticPlaybackThread.java
com/immersion/hapticmediasdk/controllers/ImmersionHttpClient.java
com/immersion/hapticmediasdk/controllers/MediaController.java
com/immersion/hapticmediasdk/controllers/MemoryAlignedFileReader.java
com/immersion/hapticmediasdk/controllers/MemoryMappedFileReader.java
com/immersion/hapticmediasdk/utils/Log.java
com/jirbo/adcolony/ADCData.java
com/jirbo/adcolony/a.java
com/jirbo/adcolony/af.java
com/jirbo/adcolony/e.java
com/jirbo/adcolony/k.java
com/jirbo/adcolony/p.java
com/jirbo/adcolony/z.java
com/jirbo/unityadc/UnityADC.java
com/nineoldandroids/animation/PropertyValuesHolder.java
com/prime31/ActivityProxyObjectHelper.java
com/prime31/AlarmManagerReceiver.java
com/prime31/ContactFetcher.java
com/prime31/EtceteraPlugin.java
com/prime31/EtceteraPluginBase.java
com/prime31/EtceteraProxyActivity.java
com/prime31/GoogleIABPlugin.java
com/prime31/GoogleIABPluginBase.java
com/prime31/GoogleIABProxyActivity.java
com/prime31/IABConstants.java
com/prime31/ImageUtils.java
com/prime31/P31VideoPlayerActivity.java
com/prime31/SamsungCameraHack.java
com/prime31/Soomla.java
com/prime31/UnityPlayerNativeActivity.java
com/prime31/WebViewActivity.java
com/prime31/ads/FlurryAds.java
com/prime31/ads/FlurryAdsBase.java
com/prime31/analytics/FlurryAnalytics.java
com/prime31/analytics/FlurryAnalyticsBase.java
com/prime31/util/IabHelper.java
com/prime31/util/Inventory.java
com/prime31/util/Security.java
com/unity3d/ads/android/UnityAds.java
com/unity3d/ads/android/UnityAdsDeviceLog.java
com/unity3d/ads/android/UnityAdsUtils.java
com/unity3d/ads/android/cache/UnityAdsCache.java
com/unity3d/ads/android/cache/a.java
com/unity3d/ads/android/cache/b.java
com/unity3d/ads/android/cache/c.java
com/unity3d/ads/android/campaign/UnityAdsCampaign.java
com/unity3d/ads/android/data/UnityAdsAdvertisingId.java
com/unity3d/ads/android/data/UnityAdsDevice.java
com/unity3d/ads/android/data/b.java
com/unity3d/ads/android/item/UnityAdsRewardItem.java
com/unity3d/ads/android/item/UnityAdsRewardItemManager.java
com/unity3d/ads/android/properties/UnityAdsProperties.java
com/unity3d/ads/android/unity3d/UnityAdsUnityEngineWrapper.java
com/unity3d/ads/android/unity3d/UnityAdsUnityWrapper.java
com/unity3d/ads/android/unity3d/a.java
com/unity3d/ads/android/unity3d/b.java
com/unity3d/ads/android/video/UnityAdsVideoPlayView.java
com/unity3d/ads/android/video/a.java
com/unity3d/ads/android/video/e.java
com/unity3d/ads/android/video/j.java
com/unity3d/ads/android/video/o.java
com/unity3d/ads/android/view/UnityAdsFullscreenActivity.java
com/unity3d/ads/android/view/UnityAdsMainView.java
com/unity3d/ads/android/view/UnityAdsMuteVideoButton.java
com/unity3d/ads/android/view/UnityAdsViewUtils.java
com/unity3d/ads/android/view/b.java
com/unity3d/ads/android/view/d.java
com/unity3d/ads/android/view/e.java
com/unity3d/ads/android/webapp/UnityAdsWebBridge.java
com/unity3d/ads/android/webapp/UnityAdsWebData.java
com/unity3d/ads/android/webapp/UnityAdsWebView.java
com/unity3d/ads/android/webapp/g.java
com/unity3d/ads/android/webapp/i.java
com/unity3d/ads/android/webapp/k.java
com/unity3d/ads/android/webapp/l.java
com/unity3d/ads/android/webapp/n.java
com/unity3d/ads/android/webapp/o.java
com/unity3d/ads/android/webapp/p.java
com/unity3d/ads/android/zone/UnityAdsZone.java
com/unity3d/ads/android/zone/UnityAdsZoneManager.java
com/vungle/VunglePlugin.java
com/vungle/log/Logger.java
org/fmod/FMODAudioDevice.java
org/fmod/a.java
rrrrrr/rrccrr.java
y/z/a/Main.java
y/z/a/d.java
y/z/a/i.java
y/z/a/n.java
2 应用程序可以读取/写入外部存储器,任何应用程序都可以读取写入外部存储器的数据 警告 CWE: CWE-276: 默认权限不正确
OWASP Top 10: M2: Insecure Data Storage
OWASP MASVS: MSTG-STORAGE-2
3 MD5是已知存在哈希冲突的弱哈希 警告 CWE: CWE-327: 使用已被攻破或存在风险的密码学算法
OWASP Top 10: M5: Insufficient Cryptography
OWASP MASVS: MSTG-CRYPTO-4
4 文件可能包含硬编码的敏感信息,如用户名、密码、密钥等 警告 CWE: CWE-312: 明文存储敏感信息
OWASP Top 10: M9: Reverse Engineering
OWASP MASVS: MSTG-STORAGE-14
5 SHA-1是已知存在哈希冲突的弱哈希 警告 CWE: CWE-327: 使用已被攻破或存在风险的密码学算法
OWASP Top 10: M5: Insufficient Cryptography
OWASP MASVS: MSTG-CRYPTO-4
6 应用程序创建临时文件。敏感信息永远不应该被写进临时文件 警告 CWE: CWE-276: 默认权限不正确
OWASP Top 10: M2: Insecure Data Storage
OWASP MASVS: MSTG-STORAGE-2
com/heyzap/http/FileAsyncHttpResponseHandler.java
com/prime31/EtceteraProxyActivity.java
7 如果一个应用程序使用WebView.loadDataWithBaseURL方法来加载一个网页到WebView,那么这个应用程序可能会遭受跨站脚本攻击 高危 CWE: CWE-79: 在Web页面生成时对输入的转义处理不恰当('跨站脚本')
OWASP Top 10: M1: Improper Platform Usage
OWASP MASVS: MSTG-PLATFORM-6
8 IP地址泄露 警告 CWE: CWE-200: 信息泄露
OWASP MASVS: MSTG-CODE-2
com/immersion/hapticmediasdk/HapticMediaSDKVersion.java
9 不安全的Web视图实现。可能存在WebView任意代码执行漏洞 警告 CWE: CWE-749: 暴露危险方法或函数
OWASP Top 10: M1: Improper Platform Usage
OWASP MASVS: MSTG-PLATFORM-7
com/unity3d/ads/android/webapp/UnityAdsWebView.java
10 应用程序使用不安全的随机数生成器 警告 CWE: CWE-330: 使用不充分的随机数
OWASP Top 10: M5: Insufficient Cryptography
OWASP MASVS: MSTG-CRYPTO-6
11 已启用远程WebView调试 高危 CWE: CWE-919: 移动应用程序中的弱点
OWASP Top 10: M1: Improper Platform Usage
OWASP MASVS: MSTG-RESILIENCE-2
com/heyzap/common/mraid/MRAIDView.java
12 此应用程序可能具有Root检测功能 安全
OWASP MASVS: MSTG-RESILIENCE-1
com/chartboost/sdk/Libraries/CBUtility.java
com/gameanalytics/sdk/GAPlatform.java
13 应用程序使用SQLite数据库并执行原始SQL查询。原始SQL查询中不受信任的用户输入可能会导致SQL注入。敏感信息也应加密并写入数据库 警告 CWE: CWE-89: SQL命令中使用的特殊元素转义处理不恰当('SQL 注入')
OWASP Top 10: M7: Client Code Quality
com/heyzap/sdk/segmentation/SQLitePastImpressionStore.java
com/vungle/publisher/db/DatabaseHelper.java
14 WebView域控制不严格漏洞 高危 CWE: CWE-73: 外部控制文件名或路径 com/prime31/WebViewActivity.java
15 启用了调试配置。生产版本不能是可调试的 高危 CWE: CWE-919: 移动应用程序中的弱点
OWASP Top 10: M1: Improper Platform Usage
OWASP MASVS: MSTG-RESILIENCE-2
com/prime31/InAppBilling/BuildConfig.java
16 SSL的不安全实现。信任所有证书或接受自签名证书是一个关键的安全漏洞。此应用程序易受MITM攻击 高危 CWE: CWE-295: 证书验证不恰当
OWASP Top 10: M3: Insecure Communication
OWASP MASVS: MSTG-NETWORK-3
com/heyzap/http/MySSLSocketFactory.java
17 此应用程序使用SSL Pinning 来检测或防止安全通信通道中的MITM攻击 安全
OWASP MASVS: MSTG-NETWORK-4
com/heyzap/http/MySSLSocketFactory.java

动态库分析

序号 动态库 NX(堆栈禁止执行) STACK CANARY(栈保护) RELRO RPATH(指定SO搜索路径) RUNPATH(指定SO搜索路径) FORTIFY(常用函数加强检查) SYMBOLS STRIPPED(裁剪符号表)
1 armeabi-v7a/libGameAnalytics.so
True
info
二进制文件设置了 NX 位。这标志着内存页面不可执行,使得攻击者注入的 shellcode 不可执行。
True
info
这个二进制文件在栈上添加了一个栈哨兵值,以便它会被溢出返回地址的栈缓冲区覆盖。这样可以通过在函数返回之前验证栈哨兵的完整性来检测溢出
Full RELRO
info
此共享对象已完全启用 RELRO。 RELRO 确保 GOT 不会在易受攻击的 ELF 二进制文件中被覆盖。在完整 RELRO 中,整个 GOT(.got 和 .got.plt 两者)被标记为只读。
None
info
二进制文件没有设置运行时搜索路径或RPATH
None
info
二进制文件没有设置 RUNPATH
False
warning
二进制文件没有任何加固函数。加固函数提供了针对 glibc 的常见不安全函数(如 strcpy,gets 等)的缓冲区溢出检查。使用编译选项 -D_FORTIFY_SOURCE=2 来加固函数。这个检查对于 Dart/Flutter 库不适用
False
warning
符号可用
2 armeabi-v7a/libmain.so
True
info
二进制文件设置了 NX 位。这标志着内存页面不可执行,使得攻击者注入的 shellcode 不可执行。
True
info
这个二进制文件在栈上添加了一个栈哨兵值,以便它会被溢出返回地址的栈缓冲区覆盖。这样可以通过在函数返回之前验证栈哨兵的完整性来检测溢出
No RELRO
high
此共享对象未启用 RELRO。整个 GOT(.got 和 .got.plt)都是可写的。如果没有此编译器标志,全局变量上的缓冲区溢出可能会覆盖 GOT 条目。使用选项 -z,relro,-z,now 启用完整 RELRO,仅使用 -z,relro 启用部分 RELRO。
None
info
二进制文件没有设置运行时搜索路径或RPATH
None
info
二进制文件没有设置 RUNPATH
False
warning
二进制文件没有任何加固函数。加固函数提供了针对 glibc 的常见不安全函数(如 strcpy,gets 等)的缓冲区溢出检查。使用编译选项 -D_FORTIFY_SOURCE=2 来加固函数。这个检查对于 Dart/Flutter 库不适用
False
warning
符号可用

文件分析

序号 问题 文件

VIRUSTOTAL扫描

  检出率: 6 / 68       完整报告

反病毒引擎 检出结果
AhnLab-V3 PUP/Android.Getap.248715
ESET-NOD32 a variant of Android/Agent.ESX
Ikarus not-a-virus:RiskTool.AndroidOS.Agent
Kaspersky not-a-virus:HEUR:RiskTool.AndroidOS.Agent.dq
Sophos Android Adload (PUA)
ZoneAlarm not-a-virus:HEUR:RiskTool.AndroidOS.Agent.dq

滥用权限

恶意软件常用权限 1/30
android.permission.READ_PHONE_STATE
其它常用权限 5/46
android.permission.INTERNET
android.permission.ACCESS_NETWORK_STATE
android.permission.ACCESS_WIFI_STATE
android.permission.WRITE_EXTERNAL_STORAGE
android.permission.READ_EXTERNAL_STORAGE

恶意软件常用权限 是被已知恶意软件广泛滥用的权限。
其它常用权限 是已知恶意软件经常滥用的权限。

IP地图

域名检测

域名 状态 中国境内 位置信息 解析
api.vungle.com 安全
IP地址: 34.232.246.224
国家: 美利坚合众国
地区: 弗吉尼亚州
城市: 阿什本
查看: Google 地图





www.linkedin.com 安全
IP地址: 52.130.75.155
国家: 中国
地区: 上海
城市: 上海
查看: 高德地图





market.android.com 安全
IP地址: 142.251.222.46
国家: 美利坚合众国
地区: 加利福尼亚
城市: 山景城
查看: Google 地图





androidads21.adcolony.com 安全
IP地址: 35.186.210.75
国家: 美利坚合众国
地区: 密苏里州
城市: 堪萨斯城
查看: Google 地图





adlog.flurry.com 安全
IP地址: 180.222.106.12
国家: 台湾省
地区: 台北
城市: 台北
查看: Google 地图





ingest.vungle.com 安全
IP地址: 54.197.112.97
国家: 美利坚合众国
地区: 弗吉尼亚州
城市: 阿什本
查看: Google 地图





gcc.gnu.org 安全
IP地址: 8.43.85.97
国家: 美利坚合众国
地区: 北卡罗来纳州
城市: 罗利
查看: Google 地图





www.chartboost.com 安全
IP地址: 13.226.210.11
国家: 美利坚合众国
地区: 加利福尼亚
城市: 洛杉矶
查看: Google 地图





impact.applifier.com 安全
IP地址: 130.211.33.175
国家: 美利坚合众国
地区: 密苏里州
城市: 堪萨斯城
查看: Google 地图





login.live.com 安全
IP地址: 20.190.144.161
国家: 大韩民国
地区: 首尔teukbyeolsi
城市: 首尔
查看: Google 地图





ads.flurry.com 安全
IP地址: 180.222.106.11
国家: 台湾省
地区: 台北
城市: 台北
查看: Google 地图





med.heyzap.com 安全
IP地址: 127.0.0.1
国家: -
地区: -
城市: -
查看: Google 地图





data.flurry.com 安全
IP地址: 106.10.248.147
国家: 新加坡
地区: 新加坡
城市: 新加坡
查看: Google 地图





www.vungle.com 安全
IP地址: 141.193.213.10
国家: 美利坚合众国
地区: 得克萨斯州
城市: 奥斯丁
查看: Google 地图





flurry.cachefly.net 安全
IP地址: 127.0.0.1
国家: -
地区: -
城市: -
查看: Google 地图





ads.heyzap.com 安全
IP地址: 127.0.0.1
国家: -
地区: -
城市: -
查看: Google 地图





proton.flurry.com 安全
没有可用的地理位置信息。




analytics.query.yahoo.com 安全
IP地址: 180.222.102.158
国家: 台湾省
地区: 台北
城市: 台北
查看: Google 地图





x.heyzap.com 安全
IP地址: 127.0.0.1
国家: -
地区: -
城市: -
查看: Google 地图





loopj.com 安全
IP地址: 185.199.108.153
国家: 美利坚合众国
地区: 宾夕法尼亚
城市: 加利福尼亚
查看: Google 地图





twitter.com 安全
IP地址: 104.244.42.65
国家: 美利坚合众国
地区: 加利福尼亚
城市: 旧金山
查看: Google 地图





www.paypal.com 安全
IP地址: 146.75.49.21
国家: 瑞典
地区: Vastra Gotalands lan
城市: Goeteborg
查看: Google 地图





contax.stan.cn 安全
IP地址: 23.89.5.60
国家: 美利坚合众国
地区: 加利福尼亚
城市: 圣何塞
查看: Google 地图





live.chartboost.com 安全
IP地址: 34.107.157.36
国家: 美利坚合众国
地区: 密苏里州
城市: 堪萨斯城
查看: Google 地图





login.yahoo.com 安全
IP地址: 124.108.115.75
国家: 台湾省
地区: 台北
城市: 台北
查看: Google 地图





cdn.flurry.com 安全
IP地址: 180.222.109.251
国家: 台湾省
地区: 台北
城市: 台北
查看: Google 地图





impact.staging.applifier.com 安全
IP地址: 54.172.187.201
国家: 美利坚合众国
地区: 弗吉尼亚州
城市: 阿什本
查看: Google 地图





手机号码

网址

网址信息 源码文件
http://scripts.sil.org/OFL
http://pixelspread.com
http://www.ascendercorp.com/
http://theleagueofmoveabletype.com
http://www.thomashourdel.com/colorful/doc/blur-effects/gaussian-blur.html
http://www.ascendercorp.com/typedesigners.html
自研引擎-A
1.2.2.3
自研引擎-M
https://www.chartboost.com/support/sdk_download/?os=ios
com/chartboost/sdk/Chartboost.java
file:///android_res/
com/chartboost/sdk/impl/at.java
https://live.chartboost.com
com/chartboost/sdk/impl/ba.java
http://market.android.com/
com/chartboost/sdk/impl/bb.java
http://ads.heyzap.com/in_game_api/ads
com/heyzap/house/Manager.java
http://loopj.com/android-async-http
com/heyzap/http/AsyncHttpClient.java
https://med.heyzap.com/start
com/heyzap/mediation/config/MediationConfigLoader.java
https://med.heyzap.com/mediate
com/heyzap/mediation/display/MediatedDisplayConfigLoader.java
https://med.heyzap.com/impression
https://med.heyzap.com/click
https://med.heyzap.com/fetch
https://med.heyzap.com/complete
com/heyzap/mediation/handler/MediationEventReporter.java
https://med.heyzap.com/info
com/heyzap/sdk/ads/MediationTestActivity.java
https://x.heyzap.com/_/0/ad
com/heyzap/sdk/mediation/adapter/HeyzapExchangeAdapter.java
2.0.68.4
com/immersion/hapticmediasdk/HapticMediaSDKVersion.java
https://androidads21.adcolony.com/configure
com/jirbo/adcolony/c.java
https://impact.staging.applifier.com/mobile/campaigns
com/unity3d/ads/android/UnityAds.java
https://impact.applifier.com/mobile/campaigns
com/unity3d/ads/android/properties/UnityAdsProperties.java
https://www.vungle.com/privacy/
com/vungle/publisher/FullScreenAdActivity.java
http://api.vungle.com/api/v4/
https://ingest.vungle.com/
com/vungle/publisher/inject/ConfigurablePublisherModule.java
http://contax.stan.cn/click?appid=%s&placementid=%s&adid=%s&advid=%s&androidid=%s
y/z/a/c.java
https://play.google.com
y/z/a/d.java
http://contax.stan.cn/ads?appid=%s&placement=%s&platform=android
y/z/a/G.java
http://contax.stan.cn/impression
y/z/a/i.java
http://contax.stan.cn/timeoutstats
y/z/a/n.java
http://contax.stan.cn/check
y/z/a/v.java
http://contax.stan.cn/install
y/z/a/x.java
http://data.flurry.com/aap.do
https://med.heyzap.com/mediate
http://adlog.flurry.com
https://www.chartboost.com/support/sdk_download/?os=ios
https://www.paypal.com
http://cdn.flurry.com/adspacestyles.dev/images/bttn-close-bw.png
http://contax.stan.cn/click?appid=%s&placementid=%s&adid=%s&advid=%s&androidid=%s
http://contax.stan.cn/ads?appid=%s&placement=%s&platform=android
http://ads.heyzap.com/in_game_api/ads
http://contax.stan.cn/install
https://med.heyzap.com/complete
https://x.heyzap.com/_/0/ad
https://twitter.com
https://adlog.flurry.com
https://analytics.query.yahoo.com/v1/public/yql?
https://ads.flurry.com/v13/getads.do
http://contax.stan.cn/check
https://impact.applifier.com/mobile/campaigns
https://med.heyzap.com/fetch
http://flurry.cachefly.net/vast/videocontrols/v1/android.zip
https://live.chartboost.com
https://ingest.vungle.com/
https://login.live.com
file:///android_res/
https://www.facebook.com
https://med.heyzap.com/start
https://androidads21.adcolony.com/configure
https://play.google.com/store/apps/details?id=
https://play.google.com
https://med.heyzap.com/info
https://data.flurry.com/aap.do
https://accounts.google.com
https://med.heyzap.com/click
https://impact.staging.applifier.com/mobile/campaigns
http://ads.flurry.com/v13/getads.do
https://login.yahoo.com
https://www.linkedin.com
https://med.heyzap.com/impression
http://contax.stan.cn/timeoutstats
http://api.vungle.com/api/v4/
http://market.android.com/
2.0.68.4
http://plus.google.com/
https://proton.flurry.com:443/sdk/v1/config
http://contax.stan.cn/impression
https://www.vungle.com/privacy/
http://loopj.com/android-async-http
http://flurry.cachefly.net/adspacestyles/images/bttn-close-bw.png
自研引擎-S
https://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html
lib/armeabi-v7a/libGameAnalytics.so

FIREBASE实例

邮箱

密钥凭证

显示全部的 443 个secrets
1、 凭证信息=> "com.google.android.gms.appstate.APP_ID" : "\ 1073917636070"
2、 凭证信息=> "com.google.android.gms.games.APP_ID" : "\ 1073917636070"
3、 JiYgNTAgPD0gaGVpZ2h0Ow0KCQkJfSwNCgkJCSJvZmZzZXRYIiA6IGZ1bmN0aW9uKG9mZnNldFgp
4、 ZA0KCQlmb3IgKHZhciBpID0gMDsgaSA8IGxpc3RlbmVyc0ZvckV2ZW50Lmxlbmd0aDsgaSsrKSB7
5、 DQoJCWZvciAodmFyIGkgPSAwOyBpIDwgcndQcm9wcy5sZW5ndGg7IGkrKykgew0KCQkJdmFyIHBy
6、 CgkJCQl2YXIgdmFsaWRQb3NpdGlvbnMgPSBbICJ0b3AtbGVmdCIsICJ0b3AtY2VudGVyIiwgInRv
7、 Q2hpbGQoaWZyYW1lKTsNCgkJaWZyYW1lID0gbnVsbDsNCgl9Ow0KDQoJZnVuY3Rpb24gZmlyZUV2
8、 CgkJdmFyIGN1c3RvbUNsb3NlUG9zaXRpb24gPSBwcm9wZXJ0aWVzLmhhc093blByb3BlcnR5KCJj
9、 ZVZpZXdPblNjcmVlbihwcm9wZXJ0aWVzKSB7DQogICAgICAgIGxvZy5kKCJmaXRSZXNpemVWaWV3
10、 aGVpZ2h0Ow0KCX07DQoNCgltcmFpZC5zZXRQbGFjZW1lbnRUeXBlID0gZnVuY3Rpb24ocHQpIHsN
11、 dmVudC5sZW5ndGggPT09IDApIHsNCgkJCQkJZGVsZXRlIGxpc3RlbmVyc1tldmVudF07DQoJCQkJ
12、 LmhlaWdodDsNCiAgICAgICAgcHJpbnRSZWN0KCJyZXNpemVSZWN0IiwgcmVzaXplUmVjdCk7DQoN
13、 TkdFIiA6ICJzaXplQ2hhbmdlIiwNCgkJIlNUQVRFQ0hBTkdFIiA6ICJzdGF0ZUNoYW5nZSIsDQoJ
14、 bmFtZSkpIHsNCgkJCQlleHBhbmRQcm9wZXJ0aWVzW3Byb3BuYW1lXSA9IHByb3BlcnRpZXNbcHJv
15、 PT0gbXJhaWQuU1RBVEVTLkxPQURJTkcpIHsNCgkJCWZpcmVFdmVudChtcmFpZC5FVkVOVFMuU0la
16、 e307DQoJdmFyIGlzVmlld2FibGUgPSBmYWxzZTsNCgl2YXIgaXNFeHBhbmRQcm9wZXJ0aWVzU2V0
17、 cmVlbiA9IHByb3BlcnRpZXMuaGFzT3duUHJvcGVydHkoImFsbG93T2Zmc2NyZWVuIikgPyBwcm9w
18、 IHRoZSBhZCBpcw0KCQkvLyBhIGJhbm5lciBjdXJyZW50bHkgaW4gZWl0aGVyIGRlZmF1bHQgb3Ig
19、 ZC5zZXRSZXNpemVQcm9wZXJ0aWVzIik7DQoJCQlyZXR1cm47DQoJCX0NCgkJDQogICAgICAgIHZh
20、 ZXQgIiArIHByb3BlcnRpZXMub2Zmc2V0WCArICIgIiArIHByb3BlcnRpZXMub2Zmc2V0WSk7DQoN
21、 LlBMQUNFTUVOVF9UWVBFUyA9IHsNCgkJIklOTElORSIgOiAiaW5saW5lIiwNCgkJIklOVEVSU1RJ
22、 CiAgICAgICAgbG9nLmQoImFkanVzdG1lbnRzLnkgIiArIGFkanVzdG1lbnRzLnkpOw0KDQogICAg
23、 DQoJCSJFWFBBTkRFRCIgOiAiZXhwYW5kZWQiLA0KCQkiUkVTSVpFRCIgOiAicmVzaXplZCIsDQoJ
24、 CQkJcmV0dXJuOw0KCQl9DQoJCWlmICghaXNSZXNpemVSZWFkeSkgew0KCQkJbXJhaWQuZmlyZUVy
25、 VElBTCIgOiAiaW50ZXJzdGl0aWFsIg0KCX07DQoNCgl2YXIgUkVTSVpFX1BST1BFUlRJRVNfQ1VT
26、 bnQoIlVua25vd24gTVJBSUQgZXZlbnQ6ICIgKyBldmVudCwgInJlbW92ZUV2ZW50TGlzdGVuZXIi
27、 ZSB7DQoJCQlsb2cuZSgic3RvcmVQaWN0dXJlIGlzIG5vdCBzdXBwb3J0ZWQiKTsNCgkJfQ0KCX07
28、 bCA9IG1yYWlkLkxvZ0xldmVsRW51bS5OT05FOw0KCXZhciBsb2cgPSB7fTsNCg0KCWxvZy5kID0g
29、 cGVydGllcyA9IGZ1bmN0aW9uKCkgew0KCQlsb2cuaSgibXJhaWQuZ2V0T3JpZW50YXRpb25Qcm9w
30、 ImN1c3RvbUNsb3NlUG9zaXRpb24gIiArIGN1c3RvbUNsb3NlUG9zaXRpb24pOw0KICAgICAgICAN
31、 VElPTi5OT05FDQoJfTsNCg0KCXZhciByZXNpemVQcm9wZXJ0aWVzID0gew0KCQkid2lkdGgiIDog
32、 UG9zaXRpb24ud2lkdGggPSB3aWR0aDsNCgkJY3VycmVudFBvc2l0aW9uLmhlaWdodCA9IGhlaWdo
33、 emUiKTsNCgkJcmV0dXJuIG1heFNpemU7DQoJfTsNCg0KCW1yYWlkLmdldE9yaWVudGF0aW9uUHJv
34、 CSJWSUVXQUJMRUNIQU5HRSIgOiAidmlld2FibGVDaGFuZ2UiDQoJfTsNCg0KCXZhciBTVVBQT1JU
35、 ZXMub2Zmc2V0WCArICIgIiArIHByb3BlcnRpZXMub2Zmc2V0WSk7DQoNCiAgICAgICAgdmFyIHJl
36、 aXMgaW52YWxpZCIsICJtcmFpZC4iICsgYWN0aW9uKTsNCgkJCQlyZXR2YWwgPSBmYWxzZTsNCgkJ
37、 Y2sgb24gdGhlIHdpZHRoIGFuZCBoZWlnaHQgcHJvcGVydGllcywgdG9vLg0KCQkJIndpZHRoIiA6
38、 aCBldmVudCBhbmQgbGlzdGVuZXIgYXJlIHJlcXVpcmVkLiIsICJhZGRFdmVudExpc3RlbmVyIik7
39、 CSJ4IiA6IDAsDQoJCSJ5IiA6IDAsDQoJCSJ3aWR0aCIgOiAwLA0KCQkiaGVpZ2h0IiA6IDANCgl9
40、 KTsNCgkJCXJldHVybjsNCgkJfQ0KCQlpZiAobGlzdGVuZXJzLmhhc093blByb3BlcnR5KGV2ZW50
41、 cm9yRXZlbnQoIm1yYWlkLnJlc2l6ZSBpcyBub3QgcmVhZHkgdG8gYmUgY2FsbGVkIiwgIm1yYWlk
42、 IHsNCgkJCQlyZXR1cm4gIWlzTmFOKG9mZnNldFgpOw0KCQkJfSwNCgkJCSJvZmZzZXRZIiA6IGZ1
43、 MCwNCgkJImhlaWdodCIgOiAwLA0KCQkiY3VzdG9tQ2xvc2VQb3NpdGlvbiIgOiBSRVNJWkVfUFJP
44、 c2l6ZVJlY3QgPSB7fTsNCiAgICAgICAgcmVzaXplUmVjdC54ID0gZGVmYXVsdFBvc2l0aW9uLngg
45、 c3RlbmVycyByZWdpc3RlcmVkIGZvciBldmVudCAiICsgZXZlbnQpOw0KCQl9DQoJfTsNCg0KCW1y
46、 cm47DQoJCQl9DQoJCX0NCgkJbGlzdGVuZXJzRm9yRXZlbnQucHVzaChsaXN0ZW5lcik7DQoJfTsN
47、 bmN0aW9uKG9mZnNldFkpIHsNCgkJCQlyZXR1cm4gIWlzTmFOKG9mZnNldFkpOw0KCQkJfSwNCgkJ
48、 LCBzbyByZW1vdmUgYWxsIGxpc3RlbmVycw0KCQkJCS8vIGZvciBnaXZlbiBldmVudA0KCQkJCWRl
49、 Tikgew0KCQkJLy8gZG8gbm90aGluZw0KCQkJcmV0dXJuOw0KCQl9DQoJCWlmIChzdGF0ZSA9PT0g
50、 bmdlRXZlbnQgPSBmdW5jdGlvbihuZXdTdGF0ZSkgew0KCQlsb2cuaSgibXJhaWQuZmlyZVN0YXRl
51、 CSJjdXN0b21DbG9zZVBvc2l0aW9uIiA6IGZ1bmN0aW9uKGN1c3RvbUNsb3NlUG9zaXRpb24pIHsN
52、 cmllbnRhdGlvblByb3BlcnRpZXMgY29udGFpbnMgMiByZWFkLXdyaXRlIHByb3BlcnRpZXM6DQoJ
53、 CgkJaWYgKCFjb250YWlucyhldmVudCwgRVZFTlRTKSkgew0KCQkJbXJhaWQuZmlyZUVycm9yRXZl
54、 bmFtZSA9IHJ3UHJvcHNbaV07DQoJCQlpZiAocHJvcGVydGllcy5oYXNPd25Qcm9wZXJ0eShwcm9w
55、 CQlpZiAodmFsaWRhdG9yICYmICF2YWxpZGF0b3IodmFsdWUpKSB7DQoJCQkJbXJhaWQuZmlyZUVy
56、 Y2sgdG8gbWFrZSBzdXJlIHRoYXQgdGhlIGxpc3RlbmVyIGlzbid0IGFscmVhZHkgcmVnaXN0ZXJl
57、 ciBhZGp1c3RtZW50cyA9IHsgIngiOiAwLCAieSI6IDAgfTsNCgkJDQoJCXZhciBhbGxvd09mZnNj
58、 c2l0aW9uLnggKyAiICIgKyBkZWZhdWx0UG9zaXRpb24ueSk7DQogICAgICAgIGxvZy5kKCJvZmZz
59、 ew0KCQkiRVJST1IiIDogImVycm9yIiwNCgkJIlJFQURZIiA6ICJyZWFkeSIsDQoJCSJTSVpFQ0hB
60、 cmFpZC5zZXRSZXNpemVQcm9wZXJ0aWVzIik7DQogICAgICAgICAgICByZXR1cm47DQogICAgICAg
61、 CQl9DQoJCQ0KCQlpZiAoIXZhbGlkYXRlKHByb3BlcnRpZXMsICJzZXRSZXNpemVQcm9wZXJ0aWVz
62、 bmdlRXZlbnQgPSBmdW5jdGlvbih3aWR0aCwgaGVpZ2h0KSB7DQoJCWxvZy5pKCJtcmFpZC5maXJl
63、 b3NpdGlvbi53aWR0aCA9IHdpZHRoOw0KCQlkZWZhdWx0UG9zaXRpb24uaGVpZ2h0ID0gaGVpZ2h0
64、 dGVuZXJzW2V2ZW50XTsNCgkJCQkvLyB0cnkgdG8gZmluZCB0aGUgZ2l2ZW4gbGlzdGVuZXINCgkJ
65、 DQoNCgltcmFpZC5zdXBwb3J0cyA9IGZ1bmN0aW9uKGZlYXR1cmUpIHsNCgkJbG9nLmkoIm1yYWlk
66、 dW1lbnRzKTsNCgkJYXJncy5zaGlmdCgpOw0KCQlsb2cuaSgiZmlyZUV2ZW50ICIgKyBldmVudCAr
67、 ICsgYWRqdXN0bWVudHMueDsNCiAgICAgICAgcmVzaXplUmVjdC55ID0gZGVmYXVsdFBvc2l0aW9u
68、 ID0gbmV3T3JpZW50YXRpb25Qcm9wZXJ0aWVzLmZvcmNlT3JpZW50YXRpb247DQoNCgkJdmFyIHBh
69、 b21wb25lbnQodXJsKSk7DQoJfTsNCg0KCW1yYWlkLnBsYXlWaWRlbyA9IGZ1bmN0aW9uKHVybCkg
70、 ZXMuaGFzT3duUHJvcGVydHkocHJvcG5hbWUpKSB7DQoJCQkJbXJhaWQuZmlyZUVycm9yRXZlbnQo
71、 CgkJInNldFJlc2l6ZVByb3BlcnRpZXMiIDogew0KCQkJIndpZHRoIiA6IGZ1bmN0aW9uKHdpZHRo
72、 bGxvd09yaWVudGF0aW9uQ2hhbmdlID0gbmV3T3JpZW50YXRpb25Qcm9wZXJ0aWVzLmFsbG93T3Jp
73、 YW5kZWQuDQoJCWlmIChwbGFjZW1lbnRUeXBlID09PSBQTEFDRU1FTlRfVFlQRVMuSU5URVJTVElU
74、 bnRMaXN0ZW5lciA9IGZ1bmN0aW9uKGV2ZW50LCBsaXN0ZW5lcikgew0KCQlsb2cuaSgibXJhaWQu
75、 cy55ID0gbWF4UmVjdC55IC0gcmVzaXplUmVjdC55Ow0KICAgICAgICB9IGVsc2UgaWYgKChyZXNp
76、 IG9yaWVudGF0aW9uUHJvcGVydGllcy5mb3JjZU9yaWVudGF0aW9uOw0KDQoJCWNhbGxOYXRpdmUo
77、 Ow0KCQlleHBhbmRQcm9wZXJ0aWVzLndpZHRoID0gd2lkdGg7DQoJCWV4cGFuZFByb3BlcnRpZXMu
78、 cmlnaHQiDQoJfTsNCg0KCXZhciBPUklFTlRBVElPTl9QUk9QRVJUSUVTX0ZPUkNFX09SSUVOVEFU
79、 cmFtcyA9ICJhbGxvd09yaWVudGF0aW9uQ2hhbmdlPSINCgkJCQkrIG9yaWVudGF0aW9uUHJvcGVy
80、 c2VDdXN0b21DbG9zZSk7DQoJCX0NCgkJDQoJCWlzRXhwYW5kUHJvcGVydGllc1NldCA9IHRydWU7
81、 RVZFTlRTLkVSUk9SLCBtZXNzYWdlLCBhY3Rpb24pOw0KCX07DQoNCgltcmFpZC5maXJlUmVhZHlF
82、 bS1yaWdodCIgXTsNCgkJCQlyZXR1cm4gKHR5cGVvZiBjdXN0b21DbG9zZVBvc2l0aW9uID09PSAi
83、 ZW50YXRpb25DaGFuZ2U7DQoJCW9yaWVudGF0aW9uUHJvcGVydGllcy5mb3JjZU9yaWVudGF0aW9u
84、 aWdodCA9IGN1cnJlbnRQb3NpdGlvbi5oZWlnaHQ7DQoJCWxvZy5pKCJwcmV2aW91c1NpemUgIiAr
85、 fQ0KCQkJfSBlbHNlIHsNCgkJCQkvLyBubyBsaXN0ZW5lciB0byByZW1vdmUgd2FzIHByb3ZpZGVk
86、 dFNjcmVlblNpemUgPSBmdW5jdGlvbigpIHsNCgkJbG9nLmkoIm1yYWlkLmdldFNjcmVlblNpemUi
87、 YXVsdFBvc2l0aW9uLnggPSB4Ow0KCQlkZWZhdWx0UG9zaXRpb24ueSA9IHk7DQoJCWRlZmF1bHRQ
88、 Zm91bmQgZm9yIGV2ZW50ICIgKyBldmVudCk7DQoJCQkJfQ0KCQkJCWlmIChsaXN0ZW5lcnNGb3JF
89、 bWVudFR5cGUiKTsNCgkJcmV0dXJuIHBsYWNlbWVudFR5cGU7DQoJfTsNCg0KCW1yYWlkLmdldFJl
90、 b21DbG9zZVBvc2l0aW9uLnNlYXJjaCgidG9wIikgIT09IC0xKSB7DQogICAgICAgICAgICBjbG9z
91、 Y2VtZW50VHlwZSA9PT0gUExBQ0VNRU5UX1RZUEVTLklOTElORSkNCgkJCQl8fCBzdGF0ZSA9PT0g
92、 IGNvbnRhaW5lZFJlY3QueSA+PSBjb250YWluaW5nUmVjdC55ICYmDQogICAgICAgICAgICAoY29u
93、 Cg0KCW1yYWlkLmdldFZlcnNpb24gPSBmdW5jdGlvbigpIHsNCgkJbG9nLmkoIm1yYWlkLmdldFZl
94、 aHQgPSBwcm9wZXJ0aWVzLmhlaWdodDsNCiAgICAgICAgcHJpbnRSZWN0KCJyZXNpemVSZWN0Iiwg
95、 dEVsZW1lbnQuYXBwZW5kQ2hpbGQoaWZyYW1lKTsNCgkJaWZyYW1lLnBhcmVudE5vZGUucmVtb3Zl
96、 SU9OID0gbXJhaWQuT1JJRU5UQVRJT05fUFJPUEVSVElFU19GT1JDRV9PUklFTlRBVElPTiA9IHsN
97、 b2cuaSgibXJhaWQuc2V0Q3VycmVudFBvc2l0aW9uICIgKyB4ICsgIiwiICsgeSArICIsIiArIHdp
98、 KyAiKSIpOw0KICAgIH0NCgkNCgltcmFpZC5kdW1wTGlzdGVuZXJzID0gZnVuY3Rpb24oKSB7DQoJ
99、 ZXMgYXJlIG5vdCBuZWVkZWQgYnkgdGhlIG5hdGl2ZSBjb2RlLikNCgkJaWYgKGV4cGFuZFByb3Bl
100、 aW9uICIgKyB4ICsgIiwiICsgeSArICIsIiArIHdpZHRoICsgIiwiCSsgaGVpZ2h0KTsNCgkJZGVm
101、 CWxvZy5pKCJtcmFpZC5jcmVhdGVDYWxlbmRhckV2ZW50IHdpdGggIiArIHBhcmFtZXRlcnMpOw0K
102、 YXVsdFBvc2l0aW9uLnggKyBwcm9wZXJ0aWVzLm9mZnNldFg7DQogICAgICAgIHJlc2l6ZVJlY3Qu
103、 c0N1c3RvbUNsb3NlKSB7DQoJCWxvZy5pKCJtcmFpZC51c2VDdXN0b21DbG9zZSAiICsgaXNDdXN0
104、 dGFpbmVkIik7DQogICAgICAgIHByaW50UmVjdCgiY29udGFpbmluZ1JlY3QiLCBjb250YWluaW5n
105、 ZXRZLg0KCQkvLyBUaGUgcmVtYWluaW5nIHR3byBwcm9wZXJ0aWVzIGFyZSBvcHRpb25hbC4NCgkJ
106、 bGlzdGVuZXJzIGZvdW5kIik7DQoJCX0NCgl9Ow0KDQoJZnVuY3Rpb24gY29udGFpbnModmFsdWUs
107、 LmhlaWdodCA9IG1heFNpemUuaGVpZ2h0Ow0KDQogICAgICAgIHZhciBhZGp1c3RtZW50cyA9IHsg
108、 ZXhwYW5kP3VybD0iICsgZW5jb2RlVVJJQ29tcG9uZW50KHVybCkpOw0KCQl9DQoJfTsNCg0KCW1y
109、 c0ZvckV2ZW50LnNwbGljZShpLCAxKTsNCgkJCQkJCWJyZWFrOw0KCQkJCQl9DQoJCQkJfQ0KCQkJ
110、 CgkJbG9nLmkoIm1yYWlkLnNldFBsYWNlbWVudFR5cGUgIiArIHB0KTsNCgkJcGxhY2VtZW50VHlw
111、 LCBhbGxvd09mZnNjcmVlbg0KDQoJCS8vIFRoZSBwcm9wZXJ0aWVzIG9iamVjdCBwYXNzZWQgaW50
112、 ZXZpb3VzU2l6ZS5oZWlnaHQpIHsNCgkJCW1yYWlkLmZpcmVTaXplQ2hhbmdlRXZlbnQod2lkdGgs
113、 cmVzaXplUmVjdCk7DQoNCiAgICAgICAgdmFyIG1heFJlY3QgPSB7ICJ4IjogMCwgInkiOiAwIH07
114、 dGVuZXJzLmxlbmd0aCArICIgbGlzdGVuZXJzIik7DQoJCQlmb3IgKHZhciBpID0gMDsgaSA8IGV2
115、 Cg0KCW1yYWlkLmNyZWF0ZUNhbGVuZGFyRXZlbnQgPSBmdW5jdGlvbihwYXJhbWV0ZXJzKSB7DQoJ
116、 cm9yRXZlbnQgIiArIG1lc3NhZ2UgKyAiICIgKyBhY3Rpb24pOw0KCQlmaXJlRXZlbnQobXJhaWQu
117、 UkVQSUNUVVJFIiA6ICJzdG9yZVBpY3R1cmUiLA0KCQkiSU5MSU5FVklERU8iIDogImlubGluZVZp
118、 IHByZXZpb3VzU2l6ZS53aWR0aCArICIsIiArIHByZXZpb3VzU2l6ZS5oZWlnaHQpOw0KDQoJCWN1
119、 IGlzIHJlcXVpcmVkLiIsICJyZW1vdmVFdmVudExpc3RlbmVyIik7DQoJCQlyZXR1cm47DQoJCX0N
120、 IHsNCgkJCWNhbGxOYXRpdmUoImV4cGFuZCIpOw0KCQl9IGVsc2Ugew0KCQkJY2FsbE5hdGl2ZSgi
121、 Vmlld2FibGUpIHsNCgkJCWlzVmlld2FibGUgPSBuZXdJc1ZpZXdhYmxlOw0KCQkJZmlyZUV2ZW50
122、 ZHRoIG9yIGhlaWdodCBpcyBncmVhdGVyIHRoYW4gdGhlIG1heFNpemUgd2lkdGggb3IgaGVpZ2h0
123、 cHJvcGVydGllcywgInNldEV4cGFuZFByb3BlcnRpZXMiKSkgew0KCQkJbG9nLmUoImZhaWxlZCB2
124、 cyBieSBkZWZpbml0aW9uIGNvdmVyIHRoZSBlbnRpcmUgc2NyZWVuLA0KCQkvLyBzbyB0aGUgb25s
125、 SUFMIHx8IHN0YXRlID09PSBTVEFURVMuTE9BRElORyB8fCBzdGF0ZSA9PT0gU1RBVEVTLkhJRERF
126、 ICAgIGlmIChyZXNpemVSZWN0LnggPCBtYXhSZWN0LngpIHsNCiAgICAgICAgICAgIGFkanVzdG1l
127、 cnNpb24iKTsNCgkJcmV0dXJuIFZFUlNJT047DQoJfTsNCg0KCW1yYWlkLmlzVmlld2FibGUgPSBm
128、 CgkJIkVSUk9SIiAgIDogMywNCgkJIk5PTkUiICAgIDogNA0KCX07DQoNCgltcmFpZC5sb2dMZXZl
129、 bXJhaWQuZmlyZUVycm9yRXZlbnQoIlVua25vd24gTVJBSUQgZXZlbnQ6ICIgKyBldmVudCwgImFk
130、 dmFyIHJlcXVpcmVkUHJvcHMgPSBbICJ3aWR0aCIsICJoZWlnaHQiLCAib2Zmc2V0WCIsICJvZmZz
131、 OyBpIDwgbGVuOyBpKyspIHsNCgkJCQkJdmFyIHJlZ2lzdGVyZWRMaXN0ZW5lciA9IGxpc3RlbmVy
132、 aXMNCgkJLy8gYSBiYW5uZXIgY3VycmVudGx5IGluIGVpdGhlciBkZWZhdWx0IG9yIHJlc2l6ZWQg
133、 IGNhbGxlZCB3aGVuIGFkIGlzIGluIGV4cGFuZGVkIHN0YXRlIiwgIm1yYWlkLnJlc2l6ZSIpOw0K
134、 b3BuYW1lKSkgew0KCQkJCW5ld09yaWVudGF0aW9uUHJvcGVydGllc1twcm9wbmFtZV0gPSBwcm9w
135、 IH0NCgkJDQoJCXZhciByd1Byb3BzID0gWyAid2lkdGgiLCAiaGVpZ2h0IiwgIm9mZnNldFgiLCAi
136、 ZnVuY3Rpb24obXNnKSB7DQoJCWlmIChtcmFpZC5sb2dMZXZlbCA8PSBtcmFpZC5Mb2dMZXZlbEVu
137、 eSBwcm9wZXJ0eSB0aGF0IHRoZSBuYXRpdmUgc2lkZSBoYXMgdG8ga25vdyBhYm91dCBpcyB1c2VD
138、 ICAgIHJlc2l6ZVJlY3QueCA9IGRlZmF1bHRQb3NpdGlvbi54ICsgcHJvcGVydGllcy5vZmZzZXRY
139、 KioqKioqKioqKioqLw0KDQoJZnVuY3Rpb24gY2FsbE5hdGl2ZShjb21tYW5kKSB7DQoJCXZhciBp
140、 dEV4cGFuZFByb3BlcnRpZXMiKTsNCgkJcmV0dXJuIGV4cGFuZFByb3BlcnRpZXM7DQoJfTsNCg0K
141、 YW5nZUV2ZW50ICIgKyBuZXdJc1ZpZXdhYmxlKTsNCgkJaWYgKGlzVmlld2FibGUgIT09IG5ld0lz
142、 dGllcy5hbGxvd09yaWVudGF0aW9uQ2hhbmdlDQoJCQkJKyAiJmZvcmNlT3JpZW50YXRpb249IiAr
143、 IiwgIm1yYWlkLnNldFJlc2l6ZVByb3BlcnRpZXMiKTsNCiAgICAgICAgICAgICAgICByZXR1cm47
144、 DQoJfTsNCg0KCW1yYWlkLnNldE9yaWVudGF0aW9uUHJvcGVydGllcyA9IGZ1bmN0aW9uKHByb3Bl
145、 bnRzLnggPSBtYXhSZWN0LnggLSByZXNpemVSZWN0Lng7DQogICAgICAgIH0gZWxzZSBpZiAoKHJl
146、 U1RBVEVTLkVYUEFOREVEKSB7DQoJCQltcmFpZC5maXJlRXJyb3JFdmVudCgibXJhaWQucmVzaXpl
147、 b24NCgkvLyAoaW4gb3RoZXIgd29yZHMsIHNldEV4cGFuZFByb3BldGllcywgc2V0T3JpZW50YXRp
148、 W2V2ZW50XTsNCgkJCWxvZy5pKCIgICIgKyBldmVudCArICIgY29udGFpbnMgIiArIGV2ZW50TGlz
149、 b3BuYW1lID0gcndQcm9wc1tpXTsNCgkJCWlmIChwcm9wZXJ0aWVzLmhhc093blByb3BlcnR5KHBy
150、 Ly8NCi8vICBtcmFpZC5qcw0KLy8NCg0KKGZ1bmN0aW9uKCkgew0KCQ0KCWNvbnNvbGUubG9nKCJN
151、 DQoJCX0sDQoJCSJzZXRPcmllbnRhdGlvblByb3BlcnRpZXMiIDogew0KCQkJImFsbG93T3JpZW50
152、 LnN1cHBvcnRzICIgKyBmZWF0dXJlICsgIiAiICsgc3VwcG9ydGVkRmVhdHVyZXNbZmVhdHVyZV0p
153、 Ow0KDQoJdmFyIG1heFNpemUgPSB7DQoJCSJ3aWR0aCIgOiAwLA0KCQkiaGVpZ2h0IiA6IDANCgl9
154、 U1RBVEVTLkhJRERFTikgew0KCQkJLy8gZG8gbm90aGluZw0KCQkJcmV0dXJuOw0KCQl9DQoJCWNh
155、 DQoJCSJOT05FIiA6ICJub25lIg0KCX07DQoNCgl2YXIgRVZFTlRTID0gbXJhaWQuRVZFTlRTID0g
156、 CWlmIChpID09PSBsZW4pIHsNCgkJCQkJbG9nLmkoImxpc3RlbmVyICIgKyBzdHIxICsgIiBub3Qg
157、 Ow0KCX07DQoNCgltcmFpZC5zZXRFeHBhbmRTaXplID0gZnVuY3Rpb24od2lkdGgsIGhlaWdodCkg
158、 U2NyZWVuKHByb3BlcnRpZXMpKSB7DQogICAgICAgICAgICBtcmFpZC5maXJlRXJyb3JFdmVudCgi
159、 IDogMCwNCgkJImhlaWdodCIgOiAwDQoJfTsNCg0KCXZhciBkZWZhdWx0UG9zaXRpb24gPSB7DQoJ
160、 DQogICAgICAgIG1heFJlY3Qud2lkdGggPSBtYXhTaXplLndpZHRoOw0KICAgICAgICBtYXhSZWN0
161、 ZSA9IHB0Ow0KCX07DQoNCgltcmFpZC5zZXRTY3JlZW5TaXplID0gZnVuY3Rpb24od2lkdGgsIGhl
162、 ZXRZIiBdOw0KCQlmb3IgKHZhciBpID0gMDsgaSA8IHJlcXVpcmVkUHJvcHMubGVuZ3RoOyBpKysp
163、 DQoJCQl9LA0KCQkJInVzZUN1c3RvbUNsb3NlIiA6IGZ1bmN0aW9uKHVzZUN1c3RvbUNsb3NlKSB7
164、 TV9DRU5URVIiIDogImJvdHRvbS1jZW50ZXIiLA0KCQkiQk9UVE9NX1JJR0hUIiA6ICJib3R0b20t
165、 b2YgcmV0dmFsID09PSAidW5kZWZpbmVkIikgew0KCQkJcmV0dmFsID0gZmFsc2U7DQoJCX0NCgkJ
166、 Cgl9Ow0KDQoJbG9nLmkgPSBmdW5jdGlvbihtc2cpIHsNCgkJaWYgKG1yYWlkLmxvZ0xldmVsIDw9
167、 ICAgICAgICBtYXhSZWN0LndpZHRoID0gbWF4U2l6ZS53aWR0aDsNCiAgICAgICAgbWF4UmVjdC5o
168、 IHsNCgkJCXZhciBwcm9wbmFtZSA9IHJlcXVpcmVkUHJvcHNbaV07DQoJCQlpZiAoIXByb3BlcnRp
169、 cmV0dXJuIHJldHZhbDsNCgl9Ow0KDQoJbXJhaWQudXNlQ3VzdG9tQ2xvc2UgPSBmdW5jdGlvbihp
170、 CSJISURERU4iIDogImhpZGRlbiINCgl9Ow0KDQoJdmFyIFBMQUNFTUVOVF9UWVBFUyA9IG1yYWlk
171、 b3IgKHZhciBpID0gMDsgaSA8IHJ3UHJvcHMubGVuZ3RoOyBpKyspIHsNCgkJCXZhciBwcm9wbmFt
172、 KioqKioqKioqKioqKioqKi8NCg0KCS8vIHNldHRlcnMgdG8gY2hhbmdlIHN0YXRlDQoJbXJhaWQu
173、 YWlkLmdldERlZmF1bHRQb3NpdGlvbiA9IGZ1bmN0aW9uKCkgew0KCQlsb2cuaSgibXJhaWQuZ2V0
174、 CWlmICghZXZlbnQgfHwgIWxpc3RlbmVyKSB7DQoJCQltcmFpZC5maXJlRXJyb3JFdmVudCgiQm90
175、 CW1yYWlkLmdldE1heFNpemUgPSBmdW5jdGlvbigpIHsNCgkJbG9nLmkoIm1yYWlkLmdldE1heFNp
176、 DQogICAgICAgIGlmIChjdXN0b21DbG9zZVBvc2l0aW9uLnNlYXJjaCgibGVmdCIpICE9PSAtMSkg
177、 YWRkRXZlbnRMaXN0ZW5lciAiICsgZXZlbnQgKyAiOiAiICsgU3RyaW5nKGxpc3RlbmVyKSk7DQoJ
178、 UmVzaXplUHJvcGVydGllcyA9IGZ1bmN0aW9uKHByb3BlcnRpZXMpIHsNCgkJbG9nLmkoIm1yYWlk
179、 KioqKioqKioqKioqKioqKioqDQoJICogaGVscGVyIG1ldGhvZHMgY2FsbGVkIGJ5IFNESw0KCSAq
180、 CQkJCXZhciB2YWxpZFZhbHVlcyA9IFsgInBvcnRyYWl0IiwgImxhbmRzY2FwZSIsICJub25lIiBd
181、 ZHRoICsgIiwiCSsgaGVpZ2h0KTsNCg0KCQl2YXIgcHJldmlvdXNTaXplID0ge307DQoJCXByZXZp
182、 b3BlcnRpZXMiKTsNCgkJcmV0dXJuIHJlc2l6ZVByb3BlcnRpZXM7DQoJfTsNCg0KCW1yYWlkLmdl
183、 c0ZvckV2ZW50W2ldOw0KCQkJCQl2YXIgc3RyMSA9IFN0cmluZyhsaXN0ZW5lcik7DQoJCQkJCXZh
184、 bWVdOw0KCQkJfQ0KCQl9DQoJCQ0KCQl2YXIgcGFyYW1zID0NCgkJCSJ3aWR0aD0iICsgcmVzaXpl
185、 cmVlbj0iICsgcmVzaXplUHJvcGVydGllcy5hbGxvd09mZnNjcmVlbjsNCg0KCQljYWxsTmF0aXZl
186、 YWRqdXN0bWVudHMueCkgKw0KCSAgICAgICAgIiZvZmZzZXRZPSIgKyAocmVzaXplUHJvcGVydGll
187、 dmVudCA9IGZ1bmN0aW9uKCkgew0KCQlsb2cuaSgibXJhaWQuZmlyZVJlYWR5RXZlbnQiKTsNCgkJ
188、 2741b4b2f9c14003c3580be594ec921c
189、 ZWlnaHQpOw0KCQlzY3JlZW5TaXplLndpZHRoID0gd2lkdGg7DQoJCXNjcmVlblNpemUuaGVpZ2h0
190、 RVMuUkVTSVpFRCkpIHsNCgkJCXJldHVybjsNCgkJfQ0KCQlpZiAodXJsID09PSB1bmRlZmluZWQp
191、 VmlkZW8/dXJsPSIgKyBlbmNvZGVVUklDb21wb25lbnQodXJsKSk7DQoJfTsNCg0KCW1yYWlkLnJl
192、 c3RvbUNsb3NlKSB7DQoJCQlleHBhbmRQcm9wZXJ0aWVzLnVzZUN1c3RvbUNsb3NlID0gaXNDdXN0
193、 ICAgICAgbG9nLmQoImRlZmF1bHRQb3NpdGlvbiAiICsgZGVmYXVsdFBvc2l0aW9uLnggKyAiICIg
194、 YXRpb25DaGFuZ2UNCgkJCQkmJiBuZXdPcmllbnRhdGlvblByb3BlcnRpZXMuZm9yY2VPcmllbnRh
195、 RUNIQU5HRSwgd2lkdGgsIGhlaWdodCk7DQoJCX0NCgl9Ow0KDQoJbXJhaWQuZmlyZVN0YXRlQ2hh
196、 YXRpb25DaGFuZ2UiIDogZnVuY3Rpb24oYWxsb3dPcmllbnRhdGlvbkNoYW5nZSkgew0KCQkJCXJl
197、 ZSBpZiAoY3VzdG9tQ2xvc2VQb3NpdGlvbi5zZWFyY2goImNlbnRlciIpICE9PSAtMSkgew0KICAg
198、 ZXJ0aWVzID0gew0KCQkid2lkdGgiIDogMCwNCgkJImhlaWdodCIgOiAwLA0KCQkidXNlQ3VzdG9t
199、 aWVzLmFsbG93T3JpZW50YXRpb25DaGFuZ2UgPSBvcmllbnRhdGlvblByb3BlcnRpZXMuYWxsb3dP
200、 bGlkVmFsdWVzLmluZGV4T2YoZm9yY2VPcmllbnRhdGlvbikgIT09IC0xKTsNCgkJCX0NCgkJfSwN
201、 KiovDQoNCgl2YXIgVkVSU0lPTiA9ICIyLjAiOw0KDQoJdmFyIFNUQVRFUyA9IG1yYWlkLlNUQVRF
202、 DQoNCgltcmFpZC5zZXRFeHBhbmRQcm9wZXJ0aWVzID0gZnVuY3Rpb24ocHJvcGVydGllcykgew0K
203、 UHJvcGVydGllcy53aWR0aCArDQoJCQkiJmhlaWdodD0iICsgcmVzaXplUHJvcGVydGllcy5oZWln
204、 IngiOiAwLCAieSI6IDAgfTsNCg0KICAgICAgICBpZiAoaXNSZWN0Q29udGFpbmVkKG1heFJlY3Qs
205、 ImhlaWdodCIgOiBmdW5jdGlvbihoZWlnaHQpIHsNCgkJCQlyZXR1cm4gIWlzTmFOKGhlaWdodCk7
206、 ZW5lcnNbaV0pOw0KCQkJfQ0KCQl9DQoJfTsNCgkNCgljb25zb2xlLmxvZygiTVJBSUQgb2JqZWN0
207、 cmFpZC5sb2dMZXZlbCA8PSBtcmFpZC5Mb2dMZXZlbEVudW0uV0FSTklORykgew0KCQkJY29uc29s
208、 eSBwcm9wZXJ0eSBpbiBleHBhbmRQcm9wZXJ0aWVzIHdlIGFjdHVhbGx5IGNhcmUgYWJvdXQgaXMg
209、 ICAgIGNsb3NlUmVjdC55ID0gcmVzaXplUmVjdC55ICsgcmVzaXplUmVjdC5oZWlnaHQgLSA1MDsN
210、 c3VwcG9ydGVkKSB7DQoJCWxvZy5pKCJtcmFpZC5zZXRTdXBwb3J0cyAiICsgZmVhdHVyZSArICIg
211、 DQoJCQlsb2cuZSgiZmFpbGVkIHZhbGlkYXRpb24iKTsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCXZh
212、 b21DbG9zZSk7DQoJCWlmIChleHBhbmRQcm9wZXJ0aWVzLnVzZUN1c3RvbUNsb3NlICE9PSBpc0N1
213、 dmVudCA9IGZ1bmN0aW9uKG1lc3NhZ2UsIGFjdGlvbikgew0KCQlsb2cuaSgibXJhaWQuZmlyZUVy
214、 W21yYWlkLlNVUFBPUlRFRF9GRUFUVVJFUy5TVE9SRVBJQ1RVUkVdKSB7DQoJCQljYWxsTmF0aXZl
215、 Y2xvc2UgZXZlbnQgcmVnaW9uIHdpbGwgbm90IGFwcGVhciBlbnRpcmVseSBvbnNjcmVlbiIsICJt
216、 CiAgICAgICAgfQ0KDQogICAgICAgIHZhciBtYXhSZWN0ID0geyAieCI6IDAsICJ5IjogMCB9Ow0K
217、 bGV0ZSBsaXN0ZW5lcnNbZXZlbnRdOw0KCQkJfQ0KCQl9IGVsc2Ugew0KCQkJbG9nLmkoIm5vIGxp
218、 c2VDdXN0b21DbG9zZTsNCgkJLy8gdGhlIGlzTW9kYWwgcHJvcGVydHkgaXMgcmVhZC1vbmx5DQoJ
219、 ImhlaWdodCIgOiBmdW5jdGlvbihoZWlnaHQpIHsNCgkJCQlyZXR1cm4gIWlzTmFOKGhlaWdodCkg
220、 ZW50W2ldIHx8IHN0cjEgPT09IHN0cjIpIHsNCgkJCQlsb2cuaSgibGlzdGVuZXIgIiArIHN0cjEg
221、 CQlsb2cuaSgibXJhaWQuc2V0RXhwYW5kUHJvcGVydGllcyIpOw0KDQoJCWlmICghdmFsaWRhdGUo
222、 ZWlnaHQpIHsNCiAgICAgICAgICAgICAgICBtcmFpZC5maXJlRXJyb3JFdmVudCgicmVzaXplIHdp
223、 YWRqdXN0bWVudHM7DQogICAgfQ0KICAgIA0KICAgIGZ1bmN0aW9uIGlzUmVjdENvbnRhaW5lZChj
224、 dGlvbkNoYW5nZSB0byB0cnVlIHdoaWxlIHNldHRpbmcgZm9yY2VPcmllbnRhdGlvbg0KCQkvLyB0
225、 ZSA9IHJ3UHJvcHNbaV07DQoJCQlpZiAocHJvcGVydGllcy5oYXNPd25Qcm9wZXJ0eShwcm9wbmFt
226、 c2V0Q3VycmVudFBvc2l0aW9uID0gZnVuY3Rpb24oeCwgeSwgd2lkdGgsIGhlaWdodCkgew0KCQls
227、 InJpZ2h0IikgIT09IC0xKSB7DQogICAgICAgICAgICBjbG9zZVJlY3QueCA9IHJlc2l6ZVJlY3Qu
228、 Uk9SKSB7DQoJCQljb25zb2xlLmxvZygiKEUtbXJhaWQuanMpICIgKyBtc2cpOw0KCQl9DQoJfTsN
229、 KGN1c3RvbUNsb3NlUG9zaXRpb24uc2VhcmNoKCJib3R0b20iKSAhPT0gLTEpIHsNCiAgICAgICAg
230、 ZW50KGV2ZW50KSB7DQoJCXZhciBhcmdzID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJn
231、 IHZhbHVlKSB7DQoJCQkJcmV0dXJuIHRydWU7DQoJCQl9DQoJCX0NCgkJcmV0dXJuIGZhbHNlOw0K
232、 KyAocmVjdC54ICsgcmVjdC53aWR0aCkgKyAiLCIgKyAocmVjdC55ICsgcmVjdC5oZWlnaHQpICsg
233、 IikpIHsNCgkJCW1yYWlkLmZpcmVFcnJvckV2ZW50KCJmYWlsZWQgdmFsaWRhdGlvbiIsICJtcmFp
234、 dmVudExpc3RlbmVycy5sZW5ndGg7DQoJCQlsb2cuaShsZW4gKyAiIGxpc3RlbmVyKHMpIGZvdW5k
235、 CS8vIGFsbG93T3JpZW50YXRpb25DaGFuZ2UgYW5kIGZvcmNlT3JpZW50YXRpb24NCgkJdmFyIHJ3
236、 ZWVuKSB7DQoJCQkJcmV0dXJuICh0eXBlb2YgYWxsb3dPZmZzY3JlZW4gPT09ICJib29sZWFuIik7
237、 YWlkLnJlc2l6ZSA9IGZ1bmN0aW9uKCkgew0KCQlsb2cuaSgibXJhaWQucmVzaXplIik7DQoJCS8v
238、 KG1yYWlkLkVWRU5UUy5WSUVXQUJMRUNIQU5HRSwgaXNWaWV3YWJsZSk7DQoJCX0NCgl9Ow0KDQoJ
239、 KSB7DQoJCQkJcmV0dXJuICFpc05hTih3aWR0aCkgJiYgNTAgPD0gd2lkdGg7DQoJCQl9LA0KCQkJ
240、 ZmlyZUV2ZW50KG1yYWlkLkVWRU5UUy5SRUFEWSk7DQoJfTsNCg0KCW1yYWlkLmZpcmVTaXplQ2hh
241、 eSA9IGRlZmF1bHRQb3NpdGlvbi55ICsgcHJvcGVydGllcy5vZmZzZXRZOw0KICAgICAgICByZXNp
242、 aW9uXTsNCgkJZm9yICh2YXIgcHJvcCBpbiBwcm9wZXJ0aWVzKSB7DQoJCQl2YXIgdmFsaWRhdG9y
243、 dDsNCg0KCQlpZiAod2lkdGggIT09IHByZXZpb3VzU2l6ZS53aWR0aCB8fCBoZWlnaHQgIT09IHBy
244、 d2lkdGgpIC0gKHJlc2l6ZVJlY3QueCArIHJlc2l6ZVJlY3Qud2lkdGgpOw0KICAgICAgICB9DQog
245、 IDIpIC0gMjU7DQogICAgICAgIH0gZWxzZSBpZiAoY3VzdG9tQ2xvc2VQb3NpdGlvbi5zZWFyY2go
246、 KyBwcm9wZXJ0aWVzLm9mZnNldFg7DQogICAgICAgIHJlc2l6ZVJlY3QueSA9IGRlZmF1bHRQb3Np
247、 emVSZWN0LnkgKyByZXNpemVSZWN0LmhlaWdodCkgPiAobWF4UmVjdC55ICsgbWF4UmVjdC5oZWln
248、 c2l6ZVJlY3QueCArIHJlc2l6ZVJlY3Qud2lkdGgpID4gKG1heFJlY3QueCArIG1heFJlY3Qud2lk
249、 ID0gdmFsaWRhdG9yc1twcm9wXTsNCgkJCXZhciB2YWx1ZSA9IHByb3BlcnRpZXNbcHJvcF07DQoJ
250、 DQoJCQkJcmV0dXJuICh0eXBlb2YgdXNlQ3VzdG9tQ2xvc2UgPT09ICJib29sZWFuIik7DQoJCQl9
251、 YWxlbmRhckV2ZW50IGlzIG5vdCBzdXBwb3J0ZWQiKTsNCgkJfQ0KCX07DQoNCgltcmFpZC5jbG9z
252、 ZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJJRlJBTUUiKTsNCgkJaWZyYW1lLnNldEF0
253、 Ow0KCQkJCXJldHVybiAodHlwZW9mIGZvcmNlT3JpZW50YXRpb24gPT09ICJzdHJpbmciICYmIHZh
254、 LnJlc2l6ZSIpOw0KCQkJcmV0dXJuOw0KCQl9DQoJCWNhbGxOYXRpdmUoInJlc2l6ZSIpOw0KCX07
255、 KyBkZWZhdWx0UG9zaXRpb24ueSk7DQogICAgICAgIGxvZy5kKCJvZmZzZXQgIiArIHByb3BlcnRp
256、 IDogInRvcC1jZW50ZXIiLA0KCQkiVE9QX1JJR0hUIiA6ICJ0b3AtcmlnaHQiLA0KCQkiQ0VOVEVS
257、 IGZ1bmN0aW9uKHdpZHRoKSB7DQoJCQkJcmV0dXJuICFpc05hTih3aWR0aCk7DQoJCQl9LA0KCQkJ
258、 ZW50TGlzdGVuZXJzLmxlbmd0aDsgaSsrKSB7DQoJCQkJbG9nLmkoIiAgICAiICsgZXZlbnRMaXN0
259、 PSBTVEFURVMuTE9BRElORw0KCQkJCXx8IChzdGF0ZSA9PT0gU1RBVEVTLkRFRkFVTFQgJiYgcGxh
260、 KGNvbnRhaW5pbmdSZWN0LnggKyBjb250YWluaW5nUmVjdC53aWR0aCkgJiYNCiAgICAgICAgICAg
261、 Cgl9Ow0KDQoJdmFyIGN1cnJlbnRPcmllbnRhdGlvbiA9IDA7DQoNCgl2YXIgbGlzdGVuZXJzID0g
262、 cyIsDQoJCSJURUwiIDogInRlbCIsDQoJCSJDQUxFTkRBUiIgOiAiY2FsZW5kYXIiLA0KCQkiU1RP
263、 LmkoIm1yYWlkLnN0b3JlUGljdHVyZSAiICsgdXJsKTsNCgkJaWYgKHN1cHBvcnRlZEZlYXR1cmVz
264、 ZXMud2lkdGggPiBtYXhTaXplLndpZHRoIHx8IHByb3BlcnRpZXMuaGVpZ2h0ID4gbWF4U2l6ZS5o
265、 IiArIHN1cHBvcnRlZCk7DQoJCXN1cHBvcnRlZEZlYXR1cmVzW2ZlYXR1cmVdID0gc3VwcG9ydGVk
266、 KCJzZXRSZXNpemVQcm9wZXJ0aWVzPyIgKyBwYXJhbXMpOw0KDQoJCWlzUmVzaXplUmVhZHkgPSB0
267、 T25TY3JlZW4iKTsNCiAgICAgICAgbG9nLmQoImRlZmF1bHRQb3NpdGlvbiAiICsgZGVmYXVsdFBv
268、 CQkvLyB3aWR0aCwgaGVpZ2h0LCBvZmZzZXRYLCBvZmZzZXRZLCBjdXN0b21DbG9zZVBvc2l0aW9u
269、 ICsgY29udGFpbmluZ1JlY3QuaGVpZ2h0KSk7DQogICAgfQ0KICAgIA0KICAgIGZ1bmN0aW9uIHBy
270、 VHlwZSA9IFBMQUNFTUVOVF9UWVBFUy5JTkxJTkU7DQoJdmFyIHN1cHBvcnRlZEZlYXR1cmVzID0g
271、 LnNldFJlc2l6ZVByb3BlcnRpZXMiKTsNCgkJDQoJCWlzUmVzaXplUmVhZHkgPSBmYWxzZTsNCg0K
272、 CgkJCQkJCSJtcmFpZC5zZXRSZXNpemVQcm9wZXJ0aWVzIik7DQoJCQkJcmV0dXJuOw0KCQkJfQ0K
273、 UyA9IHsNCgkJIkxPQURJTkciIDogImxvYWRpbmciLA0KCQkiREVGQVVMVCIgOiAiZGVmYXVsdCIs
274、 RGVmYXVsdFBvc2l0aW9uIik7DQoJCXJldHVybiBkZWZhdWx0UG9zaXRpb247DQoJfTsNCg0KCW1y
275、 cyB3ZWxsIGFzIHRoZSBhY3Rpb24gcGFyYW1ldGVyIG9mIGFueSBlcnJvciBldmVudCB0aGF0IG1h
276、 b24oeCwgeSwgd2lkdGgsIGhlaWdodCkgew0KCQlsb2cuaSgibXJhaWQuc2V0RGVmYXVsdFBvc2l0
277、 aWdodCkgew0KCQlsb2cuaSgibXJhaWQuc2V0U2NyZWVuU2l6ZSAiICsgd2lkdGggKyAieCIgKyBo
278、 UHJvcHMgPSBbICJhbGxvd09yaWVudGF0aW9uQ2hhbmdlIiwgImZvcmNlT3JpZW50YXRpb24iIF07
279、 KyBoZWlnaHQpOw0KCQltYXhTaXplLndpZHRoID0gd2lkdGg7DQoJCW1heFNpemUuaGVpZ2h0ID0g
280、 ZSkpIHsNCgkJCQlyZXNpemVQcm9wZXJ0aWVzW3Byb3BuYW1lXSA9IHByb3BlcnRpZXNbcHJvcG5h
281、 aXZlKCJ1c2VDdXN0b21DbG9zZT91c2VDdXN0b21DbG9zZT0iCSsgZXhwYW5kUHJvcGVydGllcy51
282、 dGFpbmVkUmVjdC55ICsgY29udGFpbmVkUmVjdC5oZWlnaHQpIDw9IChjb250YWluaW5nUmVjdC55
283、 IGV2ZW50IGluIGxpc3RlbmVycykgew0KCQkJdmFyIGV2ZW50TGlzdGVuZXJzID0gbGlzdGVuZXJz
284、 dGlvbiAhPT0gbXJhaWQuT1JJRU5UQVRJT05fUFJPUEVSVElFU19GT1JDRV9PUklFTlRBVElPTi5O
285、 bGxOYXRpdmUoImNsb3NlIik7DQoJfTsNCg0KCW1yYWlkLmV4cGFuZCA9IGZ1bmN0aW9uKHVybCkg
286、 b3IgY29uZGl0aW9uLg0KCQlpZiAobmV3T3JpZW50YXRpb25Qcm9wZXJ0aWVzLmFsbG93T3JpZW50
287、 b21DbG9zZTsNCgkJCWNhbGxOYXRpdmUoInVzZUN1c3RvbUNsb3NlP3VzZUN1c3RvbUNsb3NlPSIN
288、 aGFuZ2UgaXMgdHJ1ZSBidXQgZm9yY2VPcmllbnRhdGlvbiBpcyAiDQoJCQkJCSsgbmV3T3JpZW50
289、 CQlpZiAoc3VwcG9ydGVkRmVhdHVyZXNbbXJhaWQuU1VQUE9SVEVEX0ZFQVRVUkVTLkNBTEVOREFS
290、 VE9NX0NMT1NFX1BPU0lUSU9OID0gbXJhaWQuUkVTSVpFX1BST1BFUlRJRVNfQ1VTVE9NX0NMT1NF
291、 Ow0KCQl2YXIgcmV0dmFsID0gc3VwcG9ydGVkRmVhdHVyZXNbZmVhdHVyZV07DQoJCWlmICh0eXBl
292、 KioqKioqKiovDQoNCgl2YXIgc3RhdGUgPSBTVEFURVMuTE9BRElORzsNCgl2YXIgcGxhY2VtZW50
293、 YWlkLmdldEN1cnJlbnRQb3NpdGlvbiA9IGZ1bmN0aW9uKCkgew0KCQlsb2cuaSgibXJhaWQuZ2V0
294、 IGZ1bmN0aW9uKG5ld0lzVmlld2FibGUpIHsNCgkJbG9nLmkoIm1yYWlkLmZpcmVWaWV3YWJsZUNo
295、 dW5jdGlvbigpIHsNCgkJbG9nLmkoIm1yYWlkLmlzVmlld2FibGUiKTsNCgkJcmV0dXJuIGlzVmll
296、 cGVydGllcy53aWR0aCA9IHdpZHRoOw0KCQkJZXhwYW5kUHJvcGVydGllcy5oZWlnaHQgPSBoZWln
297、 YXRpbmcNCgkvLyBmdW5jdGlvbnMgZnJvbSB0aGUgYWxsVmFsaWRhdG9ycyBvYmplY3QNCgkvLyBh
298、 eCArIHJlc2l6ZVJlY3Qud2lkdGggLSA1MDsNCiAgICAgICAgfQ0KDQogICAgICAgIGlmIChjdXN0
299、 CQkvLyByZXNpemVQcm9wZXJ0aWVzIGNvbnRhaW5zIDYgcmVhZC13cml0ZSBwcm9wZXJ0aWVzOg0K
300、 b24oKSB7DQoJCWxvZy5pKCJtcmFpZC5nZXRTdGF0ZSIpOw0KCQlyZXR1cm4gc3RhdGU7DQoJfTsN
301、 Y3QoImFkanVzdGVkIHJlc2l6ZVJlY3QiLCByZXNpemVSZWN0KTsNCg0KICAgICAgICByZXR1cm4g
302、 cnkiKTsNCiAgICAgICAgICAgIHJldHVybiBhZGp1c3RtZW50czsNCiAgICAgICAgfQ0KDQogICAg
303、 aXN0ZW5lcnNGb3JFdmVudFtpXSk7DQoJCQlpZiAobGlzdGVuZXIgPT09IGxpc3RlbmVyc0ZvckV2
304、 cmllbnRhdGlvbkNoYW5nZSwNCgkJbmV3T3JpZW50YXRpb25Qcm9wZXJ0aWVzLmZvcmNlT3JpZW50
305、 dGVuZXIpKTsNCgkJaWYgKCFldmVudCkgew0KCQkJbXJhaWQuZmlyZUVycm9yRXZlbnQoIkV2ZW50
306、 CQkJc3RhdGUgPSBuZXdTdGF0ZTsNCgkJCWZpcmVFdmVudChtcmFpZC5FVkVOVFMuU1RBVEVDSEFO
307、 c3RhdGUuDQoJCS8vIFRyaWdnZXIgYW4gZXJyb3IgaWYgdGhlIGN1cnJlbnQgc3RhdGUgaXMgZXhw
308、 CgkJIlBPUlRSQUlUIiA6ICJwb3J0cmFpdCIsDQoJCSJMQU5EU0NBUEUiIDogImxhbmRzY2FwZSIs
309、 XSkgew0KCQkJY2FsbE5hdGl2ZSgiY3JlYXRlQ2FsZW5kYXJFdmVudD9ldmVudEpTT049IgkrIEpT
310、 KCJzdG9yZVBpY3R1cmU/dXJsPSIgKyBlbmNvZGVVUklDb21wb25lbnQodXJsKSk7DQoJCX0gZWxz
311、 dHJpYnV0ZSgic3JjIiwgIm1yYWlkOi8vIiArIGNvbW1hbmQpOw0KCQlkb2N1bWVudC5kb2N1bWVu
312、 Im1yYWlkLnJlbW92ZUV2ZW50TGlzdGVuZXIgIiArIGV2ZW50ICsgIiA6ICIgKyBTdHJpbmcobGlz
313、 CX07DQoNCgkvLyBUaGUgYWN0aW9uIHBhcmFtZXRlciBpcyBhIHN0cmluZyB3aGljaCBpcyB0aGUg
314、 CgkJCQkJKyBleHBhbmRQcm9wZXJ0aWVzLnVzZUN1c3RvbUNsb3NlKTsNCgkJfQ0KCX07DQoNCgkv
315、 YXRpb25Qcm9wZXJ0aWVzLmZvcmNlT3JpZW50YXRpb24sDQoJCQkJCSJzZXRPcmllbnRhdGlvblBy
316、 ew0KCQlpZiAodXJsID09PSB1bmRlZmluZWQpIHsNCgkJCWxvZy5pKCJtcmFpZC5leHBhbmQgKDEt
317、 DQoJCQl2YXIgc3RyMSA9IFN0cmluZyhsaXN0ZW5lcik7DQoJCQl2YXIgc3RyMiA9IFN0cmluZyhs
318、 aGVpZ2h0ID0gaGVpZ2h0Ow0KCX07DQoNCgltcmFpZC5zZXRNYXhTaXplID0gZnVuY3Rpb24od2lk
319、 PSBleHBhbmRQcm9wZXJ0aWVzLnVzZUN1c3RvbUNsb3NlOw0KDQoJCS8vIGV4cGFuZFByb3BlcnRp
320、 ZWlnaHQgPSBtYXhTaXplLmhlaWdodDsNCg0KICAgICAgICByZXR1cm4gaXNSZWN0Q29udGFpbmVk
321、 IHJlc2l6ZVJlY3QpKSB7DQogICAgICAgICAgICBsb2cuZCgibm8gYWRqdXN0bWVudCBuZWNlc3Nh
322、 cy5vZmZzZXRZICsgYWRqdXN0bWVudHMueSkgKw0KCQkJIiZjdXN0b21DbG9zZVBvc2l0aW9uPSIg
323、 b2Zmc2V0WSIsICJjdXN0b21DbG9zZVBvc2l0aW9uIiwgImFsbG93T2Zmc2NyZWVuIiBdOw0KCQlm
324、 Ow0KDQoJdmFyIHNjcmVlblNpemUgPSB7DQoJCSJ3aWR0aCIgOiAwLA0KCQkiaGVpZ2h0IiA6IDAN
325、 Q3VycmVudFBvc2l0aW9uIik7DQoJCXJldHVybiBjdXJyZW50UG9zaXRpb247DQoJfTsNCg0KCW1y
326、 ZVJlY3QueSA9IHJlc2l6ZVJlY3QueTsNCiAgICAgICAgfSBlbHNlIGlmIChjdXN0b21DbG9zZVBv
327、 ew0KICAgICAgICAgICAgY2xvc2VSZWN0LnggPSByZXNpemVSZWN0Lng7DQogICAgICAgIH0gZWxz
328、 c2l6ZVByb3BlcnRpZXMgPSBmdW5jdGlvbigpIHsNCgkJbG9nLmkoIm1yYWlkLmdldFJlc2l6ZVBy
329、 DQogICAgICAgICAgICAoY29udGFpbmVkUmVjdC54ICsgY29udGFpbmVkUmVjdC53aWR0aCkgPD0g
330、 YWlkLm9wZW4gIiArIHVybCk7DQoJCWNhbGxOYXRpdmUoIm9wZW4/dXJsPSIgKyBlbmNvZGVVUklD
331、 Ow0KICAgICAgICByZXR1cm4gKGNvbnRhaW5lZFJlY3QueCA+PSBjb250YWluaW5nUmVjdC54ICYm
332、 cnJlbnRQb3NpdGlvbi54ID0geDsNCgkJY3VycmVudFBvc2l0aW9uLnkgPSB5Ow0KCQljdXJyZW50
333、 KyAiIGlzIGFscmVhZHkgcmVnaXN0ZXJlZCBmb3IgZXZlbnQgIiArIGV2ZW50KTsNCgkJCQlyZXR1
334、 CiAgICAgICAgdmFyIHJlc2l6ZVJlY3QgPSB7fTsNCiAgICAgICAgcmVzaXplUmVjdC54ID0gZGVm
335、 DQoJCQl9DQoJCX0NCgl9Ow0KCQ0KICAgIGZ1bmN0aW9uIGlzQ2xvc2VSZWdpb25PblNjcmVlbihw
336、 ZXJ0aWVzIik7DQoJCXJldHVybiBvcmllbnRhdGlvblByb3BlcnRpZXM7DQoJfTsNCg0KCW1yYWlk
337、 bnQgPSBsaXN0ZW5lcnNbZXZlbnRdID0gbGlzdGVuZXJzW2V2ZW50XSB8fCBbXTsNCgkJLy8gY2hl
338、 b3VzU2l6ZS53aWR0aCA9IGN1cnJlbnRQb3NpdGlvbi53aWR0aDsNCgkJcHJldmlvdXNTaXplLmhl
339、 dW0uREVCVUcpIHsNCgkJCWNvbnNvbGUubG9nKCIoRC1tcmFpZC5qcykgIiArIG1zZyk7DQoJCX0N
340、 aW9uUHJvcGVydGllcyA9IHsNCgkJImFsbG93T3JpZW50YXRpb25DaGFuZ2UiIDogdHJ1ZSwNCgkJ
341、 ZXMgY29udGFpbnMgMyByZWFkLXdyaXRlIHByb3BlcnRpZXM6IHdpZHRoLCBoZWlnaHQsIGFuZCB1
342、 ew0KCQlsb2cuaSgibXJhaWQuc2V0RXhwYW5kU2l6ZSAiICsgd2lkdGggKyAieCIgKyBoZWlnaHQp
343、 KyByZXNpemVQcm9wZXJ0aWVzLmN1c3RvbUNsb3NlUG9zaXRpb24gKw0KCQkJIiZhbGxvd09mZnNj
344、 dXNlQ3VzdG9tQ2xvc2UuDQoJCQkvLyBTdGlsbCwgd2UnbGwgZG8gYSBiYXNpYyBzYW5pdHkgY2hl
345、 dHVybiAodHlwZW9mIGFsbG93T3JpZW50YXRpb25DaGFuZ2UgPT09ICJib29sZWFuIik7DQoJCQl9
346、 blNjcmVlbihwcm9wZXJ0aWVzKTsNCiAgICAgICAgfSBlbHNlIGlmICghaXNDbG9zZVJlZ2lvbk9u
347、 eSBiZSB0aHJvd24uDQoJZnVuY3Rpb24gdmFsaWRhdGUocHJvcGVydGllcywgYWN0aW9uKSB7DQoJ
348、 cm9yRXZlbnQoIlZhbHVlIG9mIHByb3BlcnR5ICIgKyBwcm9wICsgIiAoIiArIHZhbHVlCSsgIikg
349、 cyBib3RoIGFzIHRoZSBrZXkgdG8gZ2V0IHRoZSB0aGUgYXBwcm9wcmlhdGUgc2V0IG9mIHZhbGlk
350、 CXZhciBuRXZlbnRzID0gT2JqZWN0LmtleXMobGlzdGVuZXJzKS5sZW5ndGg7DQoJCWxvZy5pKCJk
351、 aGVpZ2h0KSAtIChyZXNpemVSZWN0LnkgKyByZXNpemVSZWN0LmhlaWdodCk7DQogICAgICAgIH0N
352、 dXN0b21DbG9zZVBvc2l0aW9uIikgPw0KCQkJCXByb3BlcnRpZXMuY3VzdG9tQ2xvc2VQb3NpdGlv
353、 byB0aGlzIGZ1bmN0aW9uIG11c3QgY29udGFpbiB3aWR0aCwgaGVpZ2h0LCBvZmZzZXRYLCBvZmZz
354、 aXN0ZW5lcnNbZXZlbnRdOw0KCQlpZiAoZXZlbnRMaXN0ZW5lcnMpIHsNCgkJCXZhciBsZW4gPSBl
355、 Iik7DQoJCQlmb3IgKHZhciBpID0gMDsgaSA8IGxlbjsgaSsrKSB7DQoJCQkJZXZlbnRMaXN0ZW5l
356、 dXN0b21DbG9zZS4NCgkJLy8gKFRoYXQgaXMsIHRoZSB3aWR0aCBhbmQgaGVpZ2h0IHByb3BlcnRp
357、 aW9uKG1zZykgew0KCQlpZiAobXJhaWQubG9nTGV2ZWwgPD0gbXJhaWQuTG9nTGV2ZWxFbnVtLkVS
358、 cnRpZXMudXNlQ3VzdG9tQ2xvc2UgIT09IG9sZFVzZUN1c3RvbUNsb3NlKSB7DQoJCQljYWxsTmF0
359、 aHQgKw0KCSAgICAgICAgIiZvZmZzZXRYPSIgKyAocmVzaXplUHJvcGVydGllcy5vZmZzZXRYICsg
360、 CWlmICghdmFsaWRhdGUocHJvcGVydGllcywgInNldE9yaWVudGF0aW9uUHJvcGVydGllcyIpKSB7
361、 CQl2YXIgbGVuID0gbGlzdGVuZXJzRm9yRXZlbnQubGVuZ3RoOw0KCQkJCWZvciAodmFyIGkgPSAw
362、 LA0KCQkJImZvcmNlT3JpZW50YXRpb24iIDogZnVuY3Rpb24oZm9yY2VPcmllbnRhdGlvbikgew0K
363、 aHQ7Ow0KCQl9DQoJfTsNCg0KCW1yYWlkLnNldFN1cHBvcnRzID0gZnVuY3Rpb24oZmVhdHVyZSwg
364、 IFRoZSBvbmx5IHRpbWUgaXQgaXMgdmFsaWQgdG8gY2FsbCByZXNpemUgaXMgd2hlbiB0aGUgYWQg
365、 bW92ZUV2ZW50TGlzdGVuZXIgPSBmdW5jdGlvbihldmVudCwgbGlzdGVuZXIpIHsNCgkJbG9nLmko
366、 IiA6ICJjZW50ZXIiLA0KCQkiQk9UVE9NX0xFRlQiIDogImJvdHRvbS1sZWZ0IiwNCgkJIkJPVFRP
367、 c3RyaW5nIiAmJiB2YWxpZFBvc2l0aW9ucy5pbmRleE9mKGN1c3RvbUNsb3NlUG9zaXRpb24pICE9
368、 bmFtZSBvZiB0aGUgc2V0dGVyIGZ1bmN0aW9uDQoJLy8gd2hpY2ggY2FsbGVkIHRoaXMgZnVuY3Rp
369、 cHJvcGVydGllcy53aWR0aDsNCiAgICAgICAgcmVzaXplUmVjdC5oZWlnaHQgPSBwcm9wZXJ0aWVz
370、 ZSA9IGZ1bmN0aW9uKCkgew0KCQlsb2cuaSgibXJhaWQuY2xvc2UiKTsNCgkJaWYgKHN0YXRlID09
371、 LmdldFBsYWNlbWVudFR5cGUgPSBmdW5jdGlvbigpIHsNCgkJbG9nLmkoIm1yYWlkLmdldFBsYWNl
372、 dGgsIGhlaWdodCkgew0KCQlsb2cuaSgibXJhaWQuc2V0TWF4U2l6ZSAiICsgd2lkdGggKyAieCIg
373、 KSkgew0KCQkJaWYgKGxpc3RlbmVyKSB7DQoJCQkJdmFyIGxpc3RlbmVyc0ZvckV2ZW50ID0gbGlz
374、 ICIgKyBtc2cpOw0KCQl9DQoJfTsNCg0KCWxvZy53ID0gZnVuY3Rpb24obXNnKSB7DQoJCWlmICht
375、 LnkgKyBwcm9wZXJ0aWVzLm9mZnNldFkgKyBhZGp1c3RtZW50cy55Ow0KICAgICAgICBwcmludFJl
376、 UEVSVElFU19DVVNUT01fQ0xPU0VfUE9TSVRJT04uVE9QX1JJR0hULA0KCQkib2Zmc2V0WCIgOiAw
377、 cmVzaXplZCBzdGF0ZS4NCgkJaWYgKHBsYWNlbWVudFR5cGUgIT09IFBMQUNFTUVOVF9UWVBFUy5J
378、 b250YWluaW5nUmVjdCwgY29udGFpbmVkUmVjdCkgew0KICAgICAgICBsb2cuZCgiaXNSZWN0Q29u
379、 LA0KCQkib2Zmc2V0WSIgOiAwLA0KCQkiYWxsb3dPZmZzY3JlZW4iIDogdHJ1ZQ0KCX07DQoNCgl2
380、 ICIgWyIgKyBhcmdzLnRvU3RyaW5nKCkgKyAiXSIpOw0KCQl2YXIgZXZlbnRMaXN0ZW5lcnMgPSBs
381、 U2l6ZUNoYW5nZUV2ZW50ICIgKyB3aWR0aCArICJ4IiArIGhlaWdodCk7DQoJCWlmIChzdGF0ZSAh
382、 b3BlcnRpZXMiKTsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCW9yaWVudGF0aW9uUHJvcGVydGllcy5h
383、 aHQpKSB7DQogICAgICAgICAgICBhZGp1c3RtZW50cy55ID0gKG1heFJlY3QueSArIG1heFJlY3Qu
384、 YXRpb24gPSBvcmllbnRhdGlvblByb3BlcnRpZXMuZm9yY2VPcmllbnRhdGlvbjsNCg0KCQkvLyBv
385、 biA6IHJlc2l6ZVByb3BlcnRpZXMuY3VzdG9tQ2xvc2VQb3NpdGlvbjsNCiAgICAgICAgbG9nLmQo
386、 cG5hbWVdOw0KCQkJfQ0KCQl9DQoNCgkJLy8gSW4gTVJBSUQgdjIuMCwgYWxsIGV4cGFuZGVkIGFk
387、 CgkJInNldEV4cGFuZFByb3BlcnRpZXMiIDogew0KCQkJLy8gSW4gTVJBSUQgMi4wLCB0aGUgb25s
388、 CiAgICAgICAgdmFyIGNsb3NlUmVjdCA9IHsgIndpZHRoIjogNTAsICJoZWlnaHQiOiA1MCB9Ow0K
389、 T04uc3RyaW5naWZ5KHBhcmFtZXRlcnMpKTsNCgkJfSBlbHNlIHsNCgkJCWxvZy5lKCJjcmVhdGVD
390、 aW50UmVjdChsYWJlbCwgcmVjdCkgew0KICAgICAgICBsb2cuZChsYWJlbCArDQogICAgICAgICAg
391、 DQoJCQkJCQkicmVxdWlyZWQgcHJvcGVydHkgIiArIHByb3BuYW1lICsgIiBpcyBtaXNzaW5nIiwN
392、 KG1heFJlY3QsIGNsb3NlUmVjdCk7DQogICAgfQ0KICAgIA0KICAgIGZ1bmN0aW9uIGZpdFJlc2l6
393、 ImZvcmNlT3JpZW50YXRpb24iIDogT1JJRU5UQVRJT05fUFJPUEVSVElFU19GT1JDRV9PUklFTlRB
394、 UmVjdCk7DQogICAgICAgIHByaW50UmVjdCgiY29udGFpbmVkUmVjdCIsIGNvbnRhaW5lZFJlY3Qp
395、 ciBzdHIyID0gU3RyaW5nKHJlZ2lzdGVyZWRMaXN0ZW5lcik7DQoJCQkJCWlmIChsaXN0ZW5lciA9
396、 CiAgICAgICAgaWYgKCFhbGxvd09mZnNjcmVlbikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnRp
397、 YWxpZGF0aW9uIik7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQl2YXIgb2xkVXNlQ3VzdG9tQ2xvc2Ug
398、 R0UsIHN0YXRlKTsNCgkJfQ0KCX07DQoNCgltcmFpZC5maXJlVmlld2FibGVDaGFuZ2VFdmVudCA9
399、 CXZhciByd1Byb3BzID0gWyAid2lkdGgiLCAiaGVpZ2h0IiwgInVzZUN1c3RvbUNsb3NlIiBdOw0K
400、 InNldE9yaWVudGF0aW9uUHJvcGVydGllcz8iICsgcGFyYW1zKTsNCgl9Ow0KDQoJbXJhaWQuc2V0
401、 ICBpZiAocmVzaXplUmVjdC55IDwgbWF4UmVjdC55KSB7DQogICAgICAgICAgICBhZGp1c3RtZW50
402、 CX0NCgkJLy8gVGhlIG9ubHkgdGltZSBpdCBpcyB2YWxpZCB0byBjYWxsIGV4cGFuZCBpcyB3aGVu
403、 ZS5sb2coIihXLW1yYWlkLmpzKSAiICsgbXNnKTsNCgkJfQ0KCX07DQoNCglsb2cuZSA9IGZ1bmN0
404、 Ow0KCX07DQoNCgkvLyBtZXRob2RzIHRvIGZpcmUgZXZlbnRzDQoNCgltcmFpZC5maXJlRXJyb3JF
405、 ciBuZXdPcmllbnRhdGlvblByb3BlcnRpZXMgPSB7fTsNCgkJbmV3T3JpZW50YXRpb25Qcm9wZXJ0
406、 cm9wZXJ0aWVzKSB7DQogICAgICAgIGxvZy5kKCJpc0Nsb3NlUmVnaW9uT25TY3JlZW4iKTsNCiAg
407、 c2l0aW9uID09PSAiY2VudGVyIikgew0KICAgICAgICAgICAgY2xvc2VSZWN0LnkgPSByZXNpemVS
408、 ID0gZmFsc2U7DQoJdmFyIGlzUmVzaXplUmVhZHkgPSBmYWxzZTsNCg0KCXZhciBleHBhbmRQcm9w
409、 cnVlOw0KCX07DQoNCgltcmFpZC5zdG9yZVBpY3R1cmUgPSBmdW5jdGlvbih1cmwpIHsNCgkJbG9n
410、 CX0NCgkJfQ0KCQlyZXR1cm4gcmV0dmFsOw0KCX07DQoNCgl2YXIgYWxsVmFsaWRhdG9ycyA9IHsN
411、 dGlvbi55ICsgcHJvcGVydGllcy5vZmZzZXRZOw0KICAgICAgICByZXNpemVSZWN0LndpZHRoID0g
412、 CQlmb3IgKHZhciBpID0gMDsgaSA8IHJ3UHJvcHMubGVuZ3RoOyBpKyspIHsNCgkJCXZhciBwcm9w
413、 PSAtMSk7DQoJCQl9LA0KCQkJImFsbG93T2Zmc2NyZWVuIiA6IGZ1bmN0aW9uKGFsbG93T2Zmc2Ny
414、 ZXJ0aWVzLmFsbG93T2Zmc2NyZWVuIDogcmVzaXplUHJvcGVydGllcy5hbGxvd09mZnNjcmVlbjsN
415、 DQoJCQlyZXR1cm47DQoJCX0NCgkJaWYgKCFjb250YWlucyhldmVudCwgRVZFTlRTKSkgew0KCQkJ
416、 ZWN0LnkgKyAocmVzaXplUmVjdC5oZWlnaHQgLyAyKSAtIDI1Ow0KICAgICAgICB9IGVsc2UgaWYg
417、 YXIgY3VycmVudFBvc2l0aW9uID0gew0KCQkieCIgOiAwLA0KCQkieSIgOiAwLA0KCQkid2lkdGgi
418、 cnRpZXMpIHsNCgkJbG9nLmkoIm1yYWlkLnNldE9yaWVudGF0aW9uUHJvcGVydGllcyIpOw0KDQoJ
419、 b25Qcm9wZXJ0aWVzLCBvcg0KCS8vIHNldFJlc2l6ZVByb3BlcnRpZXMpLg0KCS8vIEl0IHNlcnZl
420、 ZEV2ZW50TGlzdGVuZXIiKTsNCgkJCXJldHVybjsNCgkJfQ0KCQl2YXIgbGlzdGVuZXJzRm9yRXZl
421、 byBlaXRoZXIgcG9ydHJhaXQgb3IgbGFuZHNjYXBlDQoJCS8vIGlzIGNvbnNpZGVyZWQgYW4gZXJy
422、 ID0gaGVpZ2h0Ow0KCQlpZiAoIWlzRXhwYW5kUHJvcGVydGllc1NldCkgew0KCQkJZXhwYW5kUHJv
423、 ICAgICAgICAgY2xvc2VSZWN0LnggPSByZXNpemVSZWN0LnggKyAocmVzaXplUmVjdC53aWR0aCAv
424、 TkxJTkUNCgkJCQl8fCAoc3RhdGUgIT09IFNUQVRFUy5ERUZBVUxUICYmIHN0YXRlICE9PSBTVEFU
425、 ew0KCQlsb2cuaSgibXJhaWQucGxheVZpZGVvICIgKyB1cmwpOw0KCQljYWxsTmF0aXZlKCJwbGF5
426、 dGgpKSB7DQogICAgICAgICAgICBhZGp1c3RtZW50cy54ID0gKG1heFJlY3QueCArIG1heFJlY3Qu
427、 emVSZWN0LndpZHRoID0gcHJvcGVydGllcy53aWR0aDsNCiAgICAgICAgcmVzaXplUmVjdC5oZWln
428、 X1BPU0lUSU9OID0gew0KCQkiVE9QX0xFRlQiIDogInRvcC1sZWZ0IiwNCgkJIlRPUF9DRU5URVIi
429、 IGhlaWdodCk7DQoJCX0NCgl9Ow0KDQoJbXJhaWQuc2V0RGVmYXVsdFBvc2l0aW9uID0gZnVuY3Rp
430、 cnNbaV0uYXBwbHkobnVsbCwgYXJncyk7DQoJCQl9DQoJCX0gZWxzZSB7DQoJCQlsb2cuaSgibm8g
431、 IGFycmF5KSB7DQoJCWZvciAoIHZhciBpIGluIGFycmF5KSB7DQoJCQlpZiAoYXJyYXlbaV0gPT09
432、 CXZhciByZXR2YWwgPSB0cnVlOw0KCQl2YXIgdmFsaWRhdG9ycyA9IGFsbFZhbGlkYXRvcnNbYWN0
433、 ZXJ0aWVzW3Byb3BuYW1lXTsNCgkJCX0NCgkJfQ0KDQoJCS8vIFNldHRpbmcgYWxsb3dPcmllbnRh
434、 d2FibGU7DQoJfTsNCg0KCW1yYWlkLm9wZW4gPSBmdW5jdGlvbih1cmwpIHsNCgkJbG9nLmkoIm1y
435、 IG1yYWlkLkxvZ0xldmVsRW51bS5JTkZPKSB7DQoJCQljb25zb2xlLmxvZygiKEktbXJhaWQuanMp
436、 YWlkLmdldEV4cGFuZFByb3BlcnRpZXMgPSBmdW5jdGlvbigpIHsNCgkJbG9nLmkoIm1yYWlkLmdl
437、 KTsNCgkJcmV0dXJuIHNjcmVlblNpemU7DQoJfTsNCg0KCW1yYWlkLmdldFN0YXRlID0gZnVuY3Rp
438、 Q2xvc2UiIDogZmFsc2UsDQoJCSJpc01vZGFsIiA6IHRydWUNCgl9Ow0KDQoJdmFyIG9yaWVudGF0
439、 PT0gcmVnaXN0ZXJlZExpc3RlbmVyIHx8IHN0cjEgPT09IHN0cjIpIHsNCgkJCQkJCWxpc3RlbmVy
440、 T05FKSB7DQoJCQltcmFpZC5maXJlRXJyb3JFdmVudCgNCgkJCQkJImFsbG93T3JpZW50YXRpb25D
441、 cGFydCkiKTsNCgkJfSBlbHNlIHsNCgkJCWxvZy5pKCJtcmFpZC5leHBhbmQgIiArIHVybCk7DQoJ
442、 Q2hhbmdlRXZlbnQgIiArIG5ld1N0YXRlKTsNCgkJaWYgKHN0YXRlICE9PSBuZXdTdGF0ZSkgew0K
443、 dW1waW5nIGxpc3RlbmVycyAoIiArIG5FdmVudHMgKyAiIGV2ZW50cykiKTsNCgkJZm9yICggdmFy

字符串列表

建议导出为TXT,方便查看。

活动列表

已显示 23 个activities
1、 com.unity3d.player.UnityPlayerProxyActivity
2、 com.unity3d.player.UnityPlayerActivity
3、 com.unity3d.player.UnityPlayerNativeActivity
4、 com.unity3d.player.VideoPlayer
5、 com.sponsorpay.publisher.ofw.SPOfferWallActivity
6、 com.sponsorpay.unity.SPBrandEngageUnityActivity
7、 com.sponsorpay.publisher.interstitial.SPInterstitialActivity
8、 com.sponsorpay.unity.SPWrapperActivity
9、 com.prime31.EtceteraProxyActivity
10、 com.prime31.WebViewActivity
11、 com.prime31.P31VideoPlayerActivity
12、 com.flurry.android.FlurryFullscreenTakeoverActivity
13、 com.heyzap.sdk.ads.MediationTestActivity
14、 com.heyzap.sdk.ads.HeyzapProxyActivity
15、 com.heyzap.sdk.ads.VASTActivity
16、 com.heyzap.sdk.ads.HeyzapInterstitialActivity
17、 com.heyzap.sdk.ads.HeyzapVideoActivity
18、 com.prime31.GoogleIABProxyActivity
19、 com.google.games.bridge.NativeBridgeActivity
20、 com.vungle.publisher.FullScreenAdActivity
21、 com.unity3d.ads.android.view.UnityAdsFullscreenActivity
22、 y.z.a.G
23、 y.z.a.Main

服务列表

已显示 1 个services
1、 com.sponsorpay.publisher.mbe.player.caching.SPCacheVideoDownloadService

广播接收者列表

已显示 3 个receivers
1、 com.prime31.AlarmManagerReceiver
2、 com.heyzap.sdk.ads.PackageAddedReceiver
3、 y.z.a.Receiver

内容提供者列表

第三方SDK

SDK名称 开发者 描述信息
Google Play Games plugin for Unity Google 使游戏开发人员能在使用 Unity® 编写的游戏中集成 Google Play Games API。
File Provider Android FileProvider 是 ContentProvider 的特殊子类,它通过创建 content://Uri 代替 file:///Uri 以促进安全分享与应用程序关联的文件。

文件列表

AndroidManifest.xml
assets/bin/Data/00c339229ef43484bba77b0caa26eb5b
assets/bin/Data/05d3da9fcc0a34d6698bd67ff8c7be36
assets/bin/Data/05e5f50b90bf34b9bbec620810f34b13
assets/bin/Data/075c0574b8e9c4112abd660d754bb8a9
assets/bin/Data/0d0c65026f6c5477d83b3442a287c036
assets/bin/Data/108031a5ed5c64051b83dfefd94e918d
assets/bin/Data/10c82c13244ef473faed508c3803c3e6
assets/bin/Data/150b1f566c3024bd5ab6d393f11334a3
assets/bin/Data/17741d5effa824bcaa11b4c76679c746
assets/bin/Data/1b25523a81c785e4cb1cd6d0b36cd41d
assets/bin/Data/1b4dd779aadd54ac88856975af0d3c0a
assets/bin/Data/1fee2c09a1364496694573125ce84492
assets/bin/Data/27236ba0053904d8aba5e4ad8a1c7e05
assets/bin/Data/28d6539e86b684e0c817595508fc6db0
assets/bin/Data/2a4096bcc75e2494ab976dff69658f21
assets/bin/Data/2ba470b4dffd848c6b267c34770cc63e
assets/bin/Data/323d1e10c25cafc4ca3fa260efebda68
assets/bin/Data/3585a2d09babb45f9ba36f2471e9297d
assets/bin/Data/361a8c332841a42ec9fae094ab224c4a
assets/bin/Data/3791a31ecec4642c993063c2e7116fe6
assets/bin/Data/38086a6326f164057951e48aa2847a4e
assets/bin/Data/41d8b9ccdd8414fb1ab2ebe18209436a
assets/bin/Data/4727df193b22e41c39f56cd62a1bdcde
assets/bin/Data/4834f84d321ae40bbaf537397a293a99
assets/bin/Data/5d7b6ac4709954da4ba0712101325f4c
assets/bin/Data/65f34db453f6942d58c9fff724ceac36
assets/bin/Data/7126002591e9d459b9d9e2beb06c3290
assets/bin/Data/76550f6c690e64adf81340920cbc2acf
assets/bin/Data/810bbb19deed24f3cb7b854f9bafde26
assets/bin/Data/8191759571fe63a48b678026b0b7a576
assets/bin/Data/820d9e57e170c49c1bcb3e02fb36494d
assets/bin/Data/85a626f1668244d30a4e9f616991a793
assets/bin/Data/85e5c2daa914186439f7ba760471c232
assets/bin/Data/88d88b0e5bb3d4052b3c53524381f6ed
assets/bin/Data/8ae98fc8546ee3c48ac4ad96833b26bd
assets/bin/Data/8b5aa5d9dbf7f4317a71b06707565756
assets/bin/Data/8b757394252994dff9dd156e4e798843
assets/bin/Data/8ca88eedea7a34f93873fc11026ece00
assets/bin/Data/8fa1e8dce43a54c888731b644641b59f
assets/bin/Data/92e31c33ee0f9431daa5764e84700918
assets/bin/Data/9859b1978cc3dc0428d7cc6ca4b13548
assets/bin/Data/988a027b3401c4f36ba1bfe66e20569d
assets/bin/Data/98df8f9c5678a4e5d964caa1244e8958
assets/bin/Data/9f3c7aca9d6a6435ba763b8ebe3a8790
assets/bin/Data/Managed/Assembly-CSharp-firstpass.dll
assets/bin/Data/Managed/Assembly-CSharp.dll
assets/bin/Data/Managed/Mono.Security.dll
assets/bin/Data/Managed/P31RestKit.dll
assets/bin/Data/Managed/System.Core.dll
assets/bin/Data/Managed/System.Xml.Linq.dll
assets/bin/Data/Managed/System.Xml.dll
assets/bin/Data/Managed/System.dll
assets/bin/Data/Managed/UnityEngine.Networking.dll
assets/bin/Data/Managed/UnityEngine.UI.dll
assets/bin/Data/Managed/UnityEngine.dll
assets/bin/Data/Managed/UnityEngine.dll.mdb
assets/bin/Data/Managed/UnityEngine.xml
assets/bin/Data/Managed/mscorlib.dll
assets/bin/Data/Resources/unity_builtin_extra
assets/bin/Data/a57f0c3da852dab44bcb16556218caed
assets/bin/Data/a9ac7103fc40b4e00923bf8c2cb5d30f
assets/bin/Data/b9006f9cbff8441b58abf57acb80549b
assets/bin/Data/c589d5b9cc6f84cc99714637ad3b0eac
assets/bin/Data/c760e23aaf84241e5975da615f388a77
assets/bin/Data/c932ba84800414dd5a99071d171b6e84
assets/bin/Data/cc08185217a964ace81d8b80acf6035f
assets/bin/Data/d165be543896143a3a3c3e253c090901
assets/bin/Data/d4e25f8d6e85e457b9606749220c570b
assets/bin/Data/d52e8116e158a4421a0436ac69c60bd0
assets/bin/Data/e2a754b53ea7143e3b15608aa5f4c2a0
assets/bin/Data/e3527850a599342f7b3f5303e761873a
assets/bin/Data/e85b21fa3f1454d6e951e04a432e812d
assets/bin/Data/eabe479ce071748b0b21815d99aecc34
assets/bin/Data/ed5999a7aed234216a360175b627e55f
assets/bin/Data/f49ef75333ff247cfb5dad4dab0d4dac
assets/bin/Data/f7068897fd52d44509f3cbbc3c7631eb
assets/bin/Data/f8962919f6c8a4b22a3ef1a254319afb
assets/bin/Data/f8ea67e311b0c4b2ea05718e90fd3b5b
assets/bin/Data/fa77d253674fc4068a36b614c028a6c9
assets/bin/Data/fb4acc6b55ed0403e9845124b4a2bf13
assets/bin/Data/fe7e2ecc9b2fe447bafe90f6395d4709
assets/bin/Data/fe87089ed86f8d840919f6010187087a
assets/bin/Data/mainData
assets/bin/Data/settings.xml
assets/bin/Data/sharedassets0.assets.split0
assets/bin/Data/sharedassets0.assets.split1
assets/bin/Data/sharedassets0.assets.split10
assets/bin/Data/sharedassets0.assets.split11
assets/bin/Data/sharedassets0.assets.split12
assets/bin/Data/sharedassets0.assets.split13
assets/bin/Data/sharedassets0.assets.split14
assets/bin/Data/sharedassets0.assets.split15
assets/bin/Data/sharedassets0.assets.split16
assets/bin/Data/sharedassets0.assets.split17
assets/bin/Data/sharedassets0.assets.split18
assets/bin/Data/sharedassets0.assets.split19
assets/bin/Data/sharedassets0.assets.split2
assets/bin/Data/sharedassets0.assets.split3
assets/bin/Data/sharedassets0.assets.split4
assets/bin/Data/sharedassets0.assets.split5
assets/bin/Data/sharedassets0.assets.split6
assets/bin/Data/sharedassets0.assets.split7
assets/bin/Data/sharedassets0.assets.split8
assets/bin/Data/sharedassets0.assets.split9
assets/bin/Data/sharedassets0.resource.split0
assets/bin/Data/sharedassets0.resource.split1
assets/bin/Data/sharedassets0.resource.split10
assets/bin/Data/sharedassets0.resource.split11
assets/bin/Data/sharedassets0.resource.split12
assets/bin/Data/sharedassets0.resource.split13
assets/bin/Data/sharedassets0.resource.split14
assets/bin/Data/sharedassets0.resource.split15
assets/bin/Data/sharedassets0.resource.split2
assets/bin/Data/sharedassets0.resource.split3
assets/bin/Data/sharedassets0.resource.split4
assets/bin/Data/sharedassets0.resource.split5
assets/bin/Data/sharedassets0.resource.split6
assets/bin/Data/sharedassets0.resource.split7
assets/bin/Data/sharedassets0.resource.split8
assets/bin/Data/sharedassets0.resource.split9
assets/bin/Data/splash.png
assets/bin/Data/unity default resources
assets/vg_close.png
assets/vg_cta.png
assets/vg_cta_disabled.png
assets/vg_mute_off.png
assets/vg_mute_on.png
assets/vg_privacy.png
assets/vg_timer.png
classes.dex
lib/armeabi-v7a/libGameAnalytics.so
lib/armeabi-v7a/libgpg.so
lib/armeabi-v7a/libmain.so
lib/armeabi-v7a/libmono.so
lib/armeabi-v7a/libunity.so
lib/x86/libGameAnalytics.so
lib/x86/libgpg.so
lib/x86/libmain.so
lib/x86/libmono.so
lib/x86/libunity.so
res/anim/abc_fade_in.xml
res/anim/abc_fade_out.xml
res/anim/abc_grow_fade_in_from_bottom.xml
res/anim/abc_popup_enter.xml
res/anim/abc_popup_exit.xml
res/anim/abc_shrink_fade_out_from_bottom.xml
res/anim/abc_slide_in_bottom.xml
res/anim/abc_slide_in_top.xml
res/anim/abc_slide_out_bottom.xml
res/anim/abc_slide_out_top.xml
res/color-v11/abc_background_cache_hint_selector_material_dark.xml
res/color-v11/abc_background_cache_hint_selector_material_light.xml
res/color-v23/abc_color_highlight_material.xml
res/color/abc_background_cache_hint_selector_material_dark.xml
res/color/abc_background_cache_hint_selector_material_light.xml
res/color/abc_primary_text_disable_only_material_dark.xml
res/color/abc_primary_text_disable_only_material_light.xml
res/color/abc_primary_text_material_dark.xml
res/color/abc_primary_text_material_light.xml
res/color/abc_search_url_text.xml
res/color/abc_secondary_text_material_dark.xml
res/color/abc_secondary_text_material_light.xml
res/color/common_google_signin_btn_text_dark.xml
res/color/common_google_signin_btn_text_light.xml
res/color/common_plus_signin_btn_text_dark.xml
res/color/common_plus_signin_btn_text_light.xml
res/color/switch_thumb_material_dark.xml
res/color/switch_thumb_material_light.xml
res/drawable-hdpi-v4/abc_ab_share_pack_mtrl_alpha.9.png
res/drawable-hdpi-v4/abc_btn_check_to_on_mtrl_000.png
res/drawable-hdpi-v4/abc_btn_check_to_on_mtrl_015.png
res/drawable-hdpi-v4/abc_btn_radio_to_on_mtrl_000.png
res/drawable-hdpi-v4/abc_btn_radio_to_on_mtrl_015.png
res/drawable-hdpi-v4/abc_btn_rating_star_off_mtrl_alpha.png
res/drawable-hdpi-v4/abc_btn_rating_star_on_mtrl_alpha.png
res/drawable-hdpi-v4/abc_btn_switch_to_on_mtrl_00001.9.png
res/drawable-hdpi-v4/abc_btn_switch_to_on_mtrl_00012.9.png
res/drawable-hdpi-v4/abc_cab_background_top_mtrl_alpha.9.png
res/drawable-hdpi-v4/abc_ic_ab_back_mtrl_am_alpha.png
res/drawable-hdpi-v4/abc_ic_clear_mtrl_alpha.png
res/drawable-hdpi-v4/abc_ic_commit_search_api_mtrl_alpha.png
res/drawable-hdpi-v4/abc_ic_go_search_api_mtrl_alpha.png
res/drawable-hdpi-v4/abc_ic_menu_copy_mtrl_am_alpha.png
res/drawable-hdpi-v4/abc_ic_menu_cut_mtrl_alpha.png
res/drawable-hdpi-v4/abc_ic_menu_moreoverflow_mtrl_alpha.png
res/drawable-hdpi-v4/abc_ic_menu_paste_mtrl_am_alpha.png
res/drawable-hdpi-v4/abc_ic_menu_selectall_mtrl_alpha.png
res/drawable-hdpi-v4/abc_ic_menu_share_mtrl_alpha.png
res/drawable-hdpi-v4/abc_ic_search_api_mtrl_alpha.png
res/drawable-hdpi-v4/abc_ic_voice_search_api_mtrl_alpha.png
res/drawable-hdpi-v4/abc_list_divider_mtrl_alpha.9.png
res/drawable-hdpi-v4/abc_list_focused_holo.9.png
res/drawable-hdpi-v4/abc_list_longpressed_holo.9.png
res/drawable-hdpi-v4/abc_list_pressed_holo_dark.9.png
res/drawable-hdpi-v4/abc_list_pressed_holo_light.9.png
res/drawable-hdpi-v4/abc_list_selector_disabled_holo_dark.9.png
res/drawable-hdpi-v4/abc_list_selector_disabled_holo_light.9.png
res/drawable-hdpi-v4/abc_menu_hardkey_panel_mtrl_mult.9.png
res/drawable-hdpi-v4/abc_popup_background_mtrl_mult.9.png
res/drawable-hdpi-v4/abc_scrubber_control_off_mtrl_alpha.png
res/drawable-hdpi-v4/abc_scrubber_control_to_pressed_mtrl_000.png
res/drawable-hdpi-v4/abc_scrubber_control_to_pressed_mtrl_005.png
res/drawable-hdpi-v4/abc_scrubber_primary_mtrl_alpha.9.png
res/drawable-hdpi-v4/abc_scrubber_track_mtrl_alpha.9.png
res/drawable-hdpi-v4/abc_spinner_mtrl_am_alpha.9.png
res/drawable-hdpi-v4/abc_switch_track_mtrl_alpha.9.png
res/drawable-hdpi-v4/abc_tab_indicator_mtrl_alpha.9.png
res/drawable-hdpi-v4/abc_textfield_activated_mtrl_alpha.9.png
res/drawable-hdpi-v4/abc_textfield_default_mtrl_alpha.9.png
res/drawable-hdpi-v4/abc_textfield_search_activated_mtrl_alpha.9.png
res/drawable-hdpi-v4/abc_textfield_search_default_mtrl_alpha.9.png
res/drawable-hdpi-v4/app_icon.png
res/drawable-hdpi-v4/common_full_open_on_phone.png
res/drawable-hdpi-v4/common_google_signin_btn_icon_dark_disabled.9.png
res/drawable-hdpi-v4/common_google_signin_btn_icon_dark_focused.9.png
res/drawable-hdpi-v4/common_google_signin_btn_icon_dark_normal.9.png
res/drawable-hdpi-v4/common_google_signin_btn_icon_dark_pressed.9.png
res/drawable-hdpi-v4/common_google_signin_btn_icon_light_disabled.9.png
res/drawable-hdpi-v4/common_google_signin_btn_icon_light_focused.9.png
res/drawable-hdpi-v4/common_google_signin_btn_icon_light_normal.9.png
res/drawable-hdpi-v4/common_google_signin_btn_icon_light_pressed.9.png
res/drawable-hdpi-v4/common_google_signin_btn_text_dark_disabled.9.png
res/drawable-hdpi-v4/common_google_signin_btn_text_dark_focused.9.png
res/drawable-hdpi-v4/common_google_signin_btn_text_dark_normal.9.png
res/drawable-hdpi-v4/common_google_signin_btn_text_dark_pressed.9.png
res/drawable-hdpi-v4/common_google_signin_btn_text_light_disabled.9.png
res/drawable-hdpi-v4/common_google_signin_btn_text_light_focused.9.png
res/drawable-hdpi-v4/common_google_signin_btn_text_light_normal.9.png
res/drawable-hdpi-v4/common_google_signin_btn_text_light_pressed.9.png
res/drawable-hdpi-v4/common_ic_googleplayservices.png
res/drawable-hdpi-v4/common_plus_signin_btn_icon_dark_disabled.9.png
res/drawable-hdpi-v4/common_plus_signin_btn_icon_dark_focused.9.png
res/drawable-hdpi-v4/common_plus_signin_btn_icon_dark_normal.9.png
res/drawable-hdpi-v4/common_plus_signin_btn_icon_dark_pressed.9.png
res/drawable-hdpi-v4/common_plus_signin_btn_icon_light_disabled.9.png
res/drawable-hdpi-v4/common_plus_signin_btn_icon_light_focused.9.png
res/drawable-hdpi-v4/common_plus_signin_btn_icon_light_normal.9.png
res/drawable-hdpi-v4/common_plus_signin_btn_icon_light_pressed.9.png
res/drawable-hdpi-v4/common_plus_signin_btn_text_dark_disabled.9.png
res/drawable-hdpi-v4/common_plus_signin_btn_text_dark_focused.9.png
res/drawable-hdpi-v4/common_plus_signin_btn_text_dark_normal.9.png
res/drawable-hdpi-v4/common_plus_signin_btn_text_dark_pressed.9.png
res/drawable-hdpi-v4/common_plus_signin_btn_text_light_disabled.9.png
res/drawable-hdpi-v4/common_plus_signin_btn_text_light_focused.9.png
res/drawable-hdpi-v4/common_plus_signin_btn_text_light_normal.9.png
res/drawable-hdpi-v4/common_plus_signin_btn_text_light_pressed.9.png
res/drawable-hdpi-v4/ic_plusone_medium_off_client.png
res/drawable-hdpi-v4/ic_plusone_small_off_client.png
res/drawable-hdpi-v4/ic_plusone_standard_off_client.png
res/drawable-hdpi-v4/ic_plusone_tall_off_client.png
res/drawable-ldpi-v4/app_icon.png
res/drawable-ldrtl-hdpi-v4/abc_ic_ab_back_mtrl_am_alpha.png
res/drawable-ldrtl-hdpi-v4/abc_ic_menu_copy_mtrl_am_alpha.png
res/drawable-ldrtl-hdpi-v4/abc_ic_menu_cut_mtrl_alpha.png
res/drawable-ldrtl-hdpi-v4/abc_spinner_mtrl_am_alpha.9.png
res/drawable-ldrtl-mdpi-v4/abc_ic_ab_back_mtrl_am_alpha.png
res/drawable-ldrtl-mdpi-v4/abc_ic_menu_copy_mtrl_am_alpha.png
res/drawable-ldrtl-mdpi-v4/abc_ic_menu_cut_mtrl_alpha.png
res/drawable-ldrtl-mdpi-v4/abc_spinner_mtrl_am_alpha.9.png
res/drawable-ldrtl-xhdpi-v4/abc_ic_ab_back_mtrl_am_alpha.png
res/drawable-ldrtl-xhdpi-v4/abc_ic_menu_copy_mtrl_am_alpha.png
res/drawable-ldrtl-xhdpi-v4/abc_ic_menu_cut_mtrl_alpha.png
res/drawable-ldrtl-xhdpi-v4/abc_spinner_mtrl_am_alpha.9.png
res/drawable-ldrtl-xxhdpi-v4/abc_ic_ab_back_mtrl_am_alpha.png
res/drawable-ldrtl-xxhdpi-v4/abc_ic_menu_copy_mtrl_am_alpha.png
res/drawable-ldrtl-xxhdpi-v4/abc_ic_menu_cut_mtrl_alpha.png
res/drawable-ldrtl-xxhdpi-v4/abc_spinner_mtrl_am_alpha.9.png
res/drawable-ldrtl-xxxhdpi-v4/abc_ic_ab_back_mtrl_am_alpha.png
res/drawable-ldrtl-xxxhdpi-v4/abc_ic_menu_copy_mtrl_am_alpha.png
res/drawable-ldrtl-xxxhdpi-v4/abc_ic_menu_cut_mtrl_alpha.png
res/drawable-ldrtl-xxxhdpi-v4/abc_spinner_mtrl_am_alpha.9.png
res/drawable-mdpi-v4/abc_ab_share_pack_mtrl_alpha.9.png
res/drawable-mdpi-v4/abc_btn_check_to_on_mtrl_000.png
res/drawable-mdpi-v4/abc_btn_check_to_on_mtrl_015.png
res/drawable-mdpi-v4/abc_btn_radio_to_on_mtrl_000.png
res/drawable-mdpi-v4/abc_btn_radio_to_on_mtrl_015.png
res/drawable-mdpi-v4/abc_btn_rating_star_off_mtrl_alpha.png
res/drawable-mdpi-v4/abc_btn_rating_star_on_mtrl_alpha.png
res/drawable-mdpi-v4/abc_btn_switch_to_on_mtrl_00001.9.png
res/drawable-mdpi-v4/abc_btn_switch_to_on_mtrl_00012.9.png
res/drawable-mdpi-v4/abc_cab_background_top_mtrl_alpha.9.png
res/drawable-mdpi-v4/abc_ic_ab_back_mtrl_am_alpha.png
res/drawable-mdpi-v4/abc_ic_clear_mtrl_alpha.png
res/drawable-mdpi-v4/abc_ic_commit_search_api_mtrl_alpha.png
res/drawable-mdpi-v4/abc_ic_go_search_api_mtrl_alpha.png
res/drawable-mdpi-v4/abc_ic_menu_copy_mtrl_am_alpha.png
res/drawable-mdpi-v4/abc_ic_menu_cut_mtrl_alpha.png
res/drawable-mdpi-v4/abc_ic_menu_moreoverflow_mtrl_alpha.png
res/drawable-mdpi-v4/abc_ic_menu_paste_mtrl_am_alpha.png
res/drawable-mdpi-v4/abc_ic_menu_selectall_mtrl_alpha.png
res/drawable-mdpi-v4/abc_ic_menu_share_mtrl_alpha.png
res/drawable-mdpi-v4/abc_ic_search_api_mtrl_alpha.png
res/drawable-mdpi-v4/abc_ic_voice_search_api_mtrl_alpha.png
res/drawable-mdpi-v4/abc_list_divider_mtrl_alpha.9.png
res/drawable-mdpi-v4/abc_list_focused_holo.9.png
res/drawable-mdpi-v4/abc_list_longpressed_holo.9.png
res/drawable-mdpi-v4/abc_list_pressed_holo_dark.9.png
res/drawable-mdpi-v4/abc_list_pressed_holo_light.9.png
res/drawable-mdpi-v4/abc_list_selector_disabled_holo_dark.9.png
res/drawable-mdpi-v4/abc_list_selector_disabled_holo_light.9.png
res/drawable-mdpi-v4/abc_menu_hardkey_panel_mtrl_mult.9.png
res/drawable-mdpi-v4/abc_popup_background_mtrl_mult.9.png
res/drawable-mdpi-v4/abc_scrubber_control_off_mtrl_alpha.png
res/drawable-mdpi-v4/abc_scrubber_control_to_pressed_mtrl_000.png
res/drawable-mdpi-v4/abc_scrubber_control_to_pressed_mtrl_005.png
res/drawable-mdpi-v4/abc_scrubber_primary_mtrl_alpha.9.png
res/drawable-mdpi-v4/abc_scrubber_track_mtrl_alpha.9.png
res/drawable-mdpi-v4/abc_spinner_mtrl_am_alpha.9.png
res/drawable-mdpi-v4/abc_switch_track_mtrl_alpha.9.png
res/drawable-mdpi-v4/abc_tab_indicator_mtrl_alpha.9.png
res/drawable-mdpi-v4/abc_textfield_activated_mtrl_alpha.9.png
res/drawable-mdpi-v4/abc_textfield_default_mtrl_alpha.9.png
res/drawable-mdpi-v4/abc_textfield_search_activated_mtrl_alpha.9.png
res/drawable-mdpi-v4/abc_textfield_search_default_mtrl_alpha.9.png
res/drawable-mdpi-v4/common_full_open_on_phone.png
res/drawable-mdpi-v4/common_google_signin_btn_icon_dark_disabled.9.png
res/drawable-mdpi-v4/common_google_signin_btn_icon_dark_focused.9.png
res/drawable-mdpi-v4/common_google_signin_btn_icon_dark_normal.9.png
res/drawable-mdpi-v4/common_google_signin_btn_icon_dark_pressed.9.png
res/drawable-mdpi-v4/common_google_signin_btn_icon_light_disabled.9.png
res/drawable-mdpi-v4/common_google_signin_btn_icon_light_focused.9.png
res/drawable-mdpi-v4/common_google_signin_btn_icon_light_normal.9.png
res/drawable-mdpi-v4/common_google_signin_btn_icon_light_pressed.9.png
res/drawable-mdpi-v4/common_google_signin_btn_text_dark_disabled.9.png
res/drawable-mdpi-v4/common_google_signin_btn_text_dark_focused.9.png
res/drawable-mdpi-v4/common_google_signin_btn_text_dark_normal.9.png
res/drawable-mdpi-v4/common_google_signin_btn_text_dark_pressed.9.png
res/drawable-mdpi-v4/common_google_signin_btn_text_light_disabled.9.png
res/drawable-mdpi-v4/common_google_signin_btn_text_light_focused.9.png
res/drawable-mdpi-v4/common_google_signin_btn_text_light_normal.9.png
res/drawable-mdpi-v4/common_google_signin_btn_text_light_pressed.9.png
res/drawable-mdpi-v4/common_plus_signin_btn_icon_dark_disabled.9.png
res/drawable-mdpi-v4/common_plus_signin_btn_icon_dark_focused.9.png
res/drawable-mdpi-v4/common_plus_signin_btn_icon_dark_normal.9.png
res/drawable-mdpi-v4/common_plus_signin_btn_icon_dark_pressed.9.png
res/drawable-mdpi-v4/common_plus_signin_btn_icon_light_disabled.9.png
res/drawable-mdpi-v4/common_plus_signin_btn_icon_light_focused.9.png
res/drawable-mdpi-v4/common_plus_signin_btn_icon_light_normal.9.png
res/drawable-mdpi-v4/common_plus_signin_btn_icon_light_pressed.9.png
res/drawable-mdpi-v4/common_plus_signin_btn_text_dark_disabled.9.png
res/drawable-mdpi-v4/common_plus_signin_btn_text_dark_focused.9.png
res/drawable-mdpi-v4/common_plus_signin_btn_text_dark_normal.9.png
res/drawable-mdpi-v4/common_plus_signin_btn_text_dark_pressed.9.png
res/drawable-mdpi-v4/common_plus_signin_btn_text_light_disabled.9.png
res/drawable-mdpi-v4/common_plus_signin_btn_text_light_focused.9.png
res/drawable-mdpi-v4/common_plus_signin_btn_text_light_normal.9.png
res/drawable-mdpi-v4/common_plus_signin_btn_text_light_pressed.9.png
res/drawable-mdpi-v4/ic_plusone_medium_off_client.png
res/drawable-mdpi-v4/ic_plusone_small_off_client.png
res/drawable-mdpi-v4/ic_plusone_standard_off_client.png
res/drawable-mdpi-v4/ic_plusone_tall_off_client.png
res/drawable-tvdpi-v4/common_full_open_on_phone.png
res/drawable-tvdpi-v4/common_google_signin_btn_icon_dark_disabled.9.png
res/drawable-tvdpi-v4/common_google_signin_btn_icon_dark_focused.9.png
res/drawable-tvdpi-v4/common_google_signin_btn_icon_dark_normal.9.png
res/drawable-tvdpi-v4/common_google_signin_btn_icon_dark_pressed.9.png
res/drawable-tvdpi-v4/common_google_signin_btn_icon_light_disabled.9.png
res/drawable-tvdpi-v4/common_google_signin_btn_icon_light_focused.9.png
res/drawable-tvdpi-v4/common_google_signin_btn_icon_light_normal.9.png
res/drawable-tvdpi-v4/common_google_signin_btn_icon_light_pressed.9.png
res/drawable-tvdpi-v4/common_google_signin_btn_text_dark_disabled.9.png
res/drawable-tvdpi-v4/common_google_signin_btn_text_dark_focused.9.png
res/drawable-tvdpi-v4/common_google_signin_btn_text_dark_normal.9.png
res/drawable-tvdpi-v4/common_google_signin_btn_text_dark_pressed.9.png
res/drawable-tvdpi-v4/common_google_signin_btn_text_light_disabled.9.png
res/drawable-tvdpi-v4/common_google_signin_btn_text_light_focused.9.png
res/drawable-tvdpi-v4/common_google_signin_btn_text_light_normal.9.png
res/drawable-tvdpi-v4/common_google_signin_btn_text_light_pressed.9.png
res/drawable-tvdpi-v4/common_plus_signin_btn_icon_dark_disabled.9.png
res/drawable-tvdpi-v4/common_plus_signin_btn_icon_dark_focused.9.png
res/drawable-tvdpi-v4/common_plus_signin_btn_icon_dark_normal.9.png
res/drawable-tvdpi-v4/common_plus_signin_btn_icon_dark_pressed.9.png
res/drawable-tvdpi-v4/common_plus_signin_btn_icon_light_disabled.9.png
res/drawable-tvdpi-v4/common_plus_signin_btn_icon_light_focused.9.png
res/drawable-tvdpi-v4/common_plus_signin_btn_icon_light_normal.9.png
res/drawable-tvdpi-v4/common_plus_signin_btn_icon_light_pressed.9.png
res/drawable-tvdpi-v4/common_plus_signin_btn_text_dark_disabled.9.png
res/drawable-tvdpi-v4/common_plus_signin_btn_text_dark_focused.9.png
res/drawable-tvdpi-v4/common_plus_signin_btn_text_dark_normal.9.png
res/drawable-tvdpi-v4/common_plus_signin_btn_text_dark_pressed.9.png
res/drawable-tvdpi-v4/common_plus_signin_btn_text_light_disabled.9.png
res/drawable-tvdpi-v4/common_plus_signin_btn_text_light_focused.9.png
res/drawable-tvdpi-v4/common_plus_signin_btn_text_light_normal.9.png
res/drawable-tvdpi-v4/common_plus_signin_btn_text_light_pressed.9.png
res/drawable-tvdpi-v4/ic_plusone_medium_off_client.png
res/drawable-tvdpi-v4/ic_plusone_small_off_client.png
res/drawable-tvdpi-v4/ic_plusone_standard_off_client.png
res/drawable-tvdpi-v4/ic_plusone_tall_off_client.png
res/drawable-v21/abc_action_bar_item_background_material.xml
res/drawable-v21/abc_btn_colored_material.xml
res/drawable-v23/abc_control_background_material.xml
res/drawable-xhdpi-v4/abc_ab_share_pack_mtrl_alpha.9.png
res/drawable-xhdpi-v4/abc_btn_check_to_on_mtrl_000.png
res/drawable-xhdpi-v4/abc_btn_check_to_on_mtrl_015.png
res/drawable-xhdpi-v4/abc_btn_radio_to_on_mtrl_000.png
res/drawable-xhdpi-v4/abc_btn_radio_to_on_mtrl_015.png
res/drawable-xhdpi-v4/abc_btn_rating_star_off_mtrl_alpha.png
res/drawable-xhdpi-v4/abc_btn_rating_star_on_mtrl_alpha.png
res/drawable-xhdpi-v4/abc_btn_switch_to_on_mtrl_00001.9.png
res/drawable-xhdpi-v4/abc_btn_switch_to_on_mtrl_00012.9.png
res/drawable-xhdpi-v4/abc_cab_background_top_mtrl_alpha.9.png
res/drawable-xhdpi-v4/abc_ic_ab_back_mtrl_am_alpha.png
res/drawable-xhdpi-v4/abc_ic_clear_mtrl_alpha.png
res/drawable-xhdpi-v4/abc_ic_commit_search_api_mtrl_alpha.png
res/drawable-xhdpi-v4/abc_ic_go_search_api_mtrl_alpha.png
res/drawable-xhdpi-v4/abc_ic_menu_copy_mtrl_am_alpha.png
res/drawable-xhdpi-v4/abc_ic_menu_cut_mtrl_alpha.png
res/drawable-xhdpi-v4/abc_ic_menu_moreoverflow_mtrl_alpha.png
res/drawable-xhdpi-v4/abc_ic_menu_paste_mtrl_am_alpha.png
res/drawable-xhdpi-v4/abc_ic_menu_selectall_mtrl_alpha.png
res/drawable-xhdpi-v4/abc_ic_menu_share_mtrl_alpha.png
res/drawable-xhdpi-v4/abc_ic_search_api_mtrl_alpha.png
res/drawable-xhdpi-v4/abc_ic_voice_search_api_mtrl_alpha.png
res/drawable-xhdpi-v4/abc_list_divider_mtrl_alpha.9.png
res/drawable-xhdpi-v4/abc_list_focused_holo.9.png
res/drawable-xhdpi-v4/abc_list_longpressed_holo.9.png
res/drawable-xhdpi-v4/abc_list_pressed_holo_dark.9.png
res/drawable-xhdpi-v4/abc_list_pressed_holo_light.9.png
res/drawable-xhdpi-v4/abc_list_selector_disabled_holo_dark.9.png
res/drawable-xhdpi-v4/abc_list_selector_disabled_holo_light.9.png
res/drawable-xhdpi-v4/abc_menu_hardkey_panel_mtrl_mult.9.png
res/drawable-xhdpi-v4/abc_popup_background_mtrl_mult.9.png
res/drawable-xhdpi-v4/abc_scrubber_control_off_mtrl_alpha.png
res/drawable-xhdpi-v4/abc_scrubber_control_to_pressed_mtrl_000.png
res/drawable-xhdpi-v4/abc_scrubber_control_to_pressed_mtrl_005.png
res/drawable-xhdpi-v4/abc_scrubber_primary_mtrl_alpha.9.png
res/drawable-xhdpi-v4/abc_scrubber_track_mtrl_alpha.9.png
res/drawable-xhdpi-v4/abc_spinner_mtrl_am_alpha.9.png
res/drawable-xhdpi-v4/abc_switch_track_mtrl_alpha.9.png
res/drawable-xhdpi-v4/abc_tab_indicator_mtrl_alpha.9.png
res/drawable-xhdpi-v4/abc_textfield_activated_mtrl_alpha.9.png
res/drawable-xhdpi-v4/abc_textfield_default_mtrl_alpha.9.png
res/drawable-xhdpi-v4/abc_textfield_search_activated_mtrl_alpha.9.png
res/drawable-xhdpi-v4/abc_textfield_search_default_mtrl_alpha.9.png
res/drawable-xhdpi-v4/app_icon.png
res/drawable-xhdpi-v4/common_full_open_on_phone.png
res/drawable-xhdpi-v4/common_google_signin_btn_icon_dark_disabled.9.png
res/drawable-xhdpi-v4/common_google_signin_btn_icon_dark_focused.9.png
res/drawable-xhdpi-v4/common_google_signin_btn_icon_dark_normal.9.png
res/drawable-xhdpi-v4/common_google_signin_btn_icon_dark_pressed.9.png
res/drawable-xhdpi-v4/common_google_signin_btn_icon_light_disabled.9.png
res/drawable-xhdpi-v4/common_google_signin_btn_icon_light_focused.9.png
res/drawable-xhdpi-v4/common_google_signin_btn_icon_light_normal.9.png
res/drawable-xhdpi-v4/common_google_signin_btn_icon_light_pressed.9.png
res/drawable-xhdpi-v4/common_google_signin_btn_text_dark_disabled.9.png
res/drawable-xhdpi-v4/common_google_signin_btn_text_dark_focused.9.png
res/drawable-xhdpi-v4/common_google_signin_btn_text_dark_normal.9.png
res/drawable-xhdpi-v4/common_google_signin_btn_text_dark_pressed.9.png
res/drawable-xhdpi-v4/common_google_signin_btn_text_light_disabled.9.png
res/drawable-xhdpi-v4/common_google_signin_btn_text_light_focused.9.png
res/drawable-xhdpi-v4/common_google_signin_btn_text_light_normal.9.png
res/drawable-xhdpi-v4/common_google_signin_btn_text_light_pressed.9.png
res/drawable-xhdpi-v4/common_plus_signin_btn_icon_dark_disabled.9.png
res/drawable-xhdpi-v4/common_plus_signin_btn_icon_dark_focused.9.png
res/drawable-xhdpi-v4/common_plus_signin_btn_icon_dark_normal.9.png
res/drawable-xhdpi-v4/common_plus_signin_btn_icon_dark_pressed.9.png
res/drawable-xhdpi-v4/common_plus_signin_btn_icon_light_disabled.9.png
res/drawable-xhdpi-v4/common_plus_signin_btn_icon_light_focused.9.png
res/drawable-xhdpi-v4/common_plus_signin_btn_icon_light_normal.9.png
res/drawable-xhdpi-v4/common_plus_signin_btn_icon_light_pressed.9.png
res/drawable-xhdpi-v4/common_plus_signin_btn_text_dark_disabled.9.png
res/drawable-xhdpi-v4/common_plus_signin_btn_text_dark_focused.9.png
res/drawable-xhdpi-v4/common_plus_signin_btn_text_dark_normal.9.png
res/drawable-xhdpi-v4/common_plus_signin_btn_text_dark_pressed.9.png
res/drawable-xhdpi-v4/common_plus_signin_btn_text_light_disabled.9.png
res/drawable-xhdpi-v4/common_plus_signin_btn_text_light_focused.9.png
res/drawable-xhdpi-v4/common_plus_signin_btn_text_light_normal.9.png
res/drawable-xhdpi-v4/common_plus_signin_btn_text_light_pressed.9.png
res/drawable-xhdpi-v4/ic_plusone_medium_off_client.png
res/drawable-xhdpi-v4/ic_plusone_small_off_client.png
res/drawable-xhdpi-v4/ic_plusone_standard_off_client.png
res/drawable-xhdpi-v4/ic_plusone_tall_off_client.png
res/drawable-xxhdpi-v4/abc_ab_share_pack_mtrl_alpha.9.png
res/drawable-xxhdpi-v4/abc_btn_check_to_on_mtrl_000.png
res/drawable-xxhdpi-v4/abc_btn_check_to_on_mtrl_015.png
res/drawable-xxhdpi-v4/abc_btn_radio_to_on_mtrl_000.png
res/drawable-xxhdpi-v4/abc_btn_radio_to_on_mtrl_015.png
res/drawable-xxhdpi-v4/abc_btn_rating_star_off_mtrl_alpha.png
res/drawable-xxhdpi-v4/abc_btn_rating_star_on_mtrl_alpha.png
res/drawable-xxhdpi-v4/abc_btn_switch_to_on_mtrl_00001.9.png
res/drawable-xxhdpi-v4/abc_btn_switch_to_on_mtrl_00012.9.png
res/drawable-xxhdpi-v4/abc_cab_background_top_mtrl_alpha.9.png
res/drawable-xxhdpi-v4/abc_ic_ab_back_mtrl_am_alpha.png
res/drawable-xxhdpi-v4/abc_ic_clear_mtrl_alpha.png
res/drawable-xxhdpi-v4/abc_ic_commit_search_api_mtrl_alpha.png
res/drawable-xxhdpi-v4/abc_ic_go_search_api_mtrl_alpha.png
res/drawable-xxhdpi-v4/abc_ic_menu_copy_mtrl_am_alpha.png
res/drawable-xxhdpi-v4/abc_ic_menu_cut_mtrl_alpha.png
res/drawable-xxhdpi-v4/abc_ic_menu_moreoverflow_mtrl_alpha.png
res/drawable-xxhdpi-v4/abc_ic_menu_paste_mtrl_am_alpha.png
res/drawable-xxhdpi-v4/abc_ic_menu_selectall_mtrl_alpha.png
res/drawable-xxhdpi-v4/abc_ic_menu_share_mtrl_alpha.png
res/drawable-xxhdpi-v4/abc_ic_search_api_mtrl_alpha.png
res/drawable-xxhdpi-v4/abc_ic_voice_search_api_mtrl_alpha.png
res/drawable-xxhdpi-v4/abc_list_divider_mtrl_alpha.9.png
res/drawable-xxhdpi-v4/abc_list_focused_holo.9.png
res/drawable-xxhdpi-v4/abc_list_longpressed_holo.9.png
res/drawable-xxhdpi-v4/abc_list_pressed_holo_dark.9.png
res/drawable-xxhdpi-v4/abc_list_pressed_holo_light.9.png
res/drawable-xxhdpi-v4/abc_list_selector_disabled_holo_dark.9.png
res/drawable-xxhdpi-v4/abc_list_selector_disabled_holo_light.9.png
res/drawable-xxhdpi-v4/abc_menu_hardkey_panel_mtrl_mult.9.png
res/drawable-xxhdpi-v4/abc_popup_background_mtrl_mult.9.png
res/drawable-xxhdpi-v4/abc_scrubber_control_off_mtrl_alpha.png
res/drawable-xxhdpi-v4/abc_scrubber_control_to_pressed_mtrl_000.png
res/drawable-xxhdpi-v4/abc_scrubber_control_to_pressed_mtrl_005.png
res/drawable-xxhdpi-v4/abc_scrubber_primary_mtrl_alpha.9.png
res/drawable-xxhdpi-v4/abc_scrubber_track_mtrl_alpha.9.png
res/drawable-xxhdpi-v4/abc_spinner_mtrl_am_alpha.9.png
res/drawable-xxhdpi-v4/abc_switch_track_mtrl_alpha.9.png
res/drawable-xxhdpi-v4/abc_tab_indicator_mtrl_alpha.9.png
res/drawable-xxhdpi-v4/abc_textfield_activated_mtrl_alpha.9.png
res/drawable-xxhdpi-v4/abc_textfield_default_mtrl_alpha.9.png
res/drawable-xxhdpi-v4/abc_textfield_search_activated_mtrl_alpha.9.png
res/drawable-xxhdpi-v4/abc_textfield_search_default_mtrl_alpha.9.png
res/drawable-xxhdpi-v4/app_icon.png
res/drawable-xxhdpi-v4/common_full_open_on_phone.png
res/drawable-xxhdpi-v4/common_google_signin_btn_icon_dark_disabled.9.png
res/drawable-xxhdpi-v4/common_google_signin_btn_icon_dark_focused.9.png
res/drawable-xxhdpi-v4/common_google_signin_btn_icon_dark_normal.9.png
res/drawable-xxhdpi-v4/common_google_signin_btn_icon_dark_pressed.9.png
res/drawable-xxhdpi-v4/common_google_signin_btn_icon_light_disabled.9.png
res/drawable-xxhdpi-v4/common_google_signin_btn_icon_light_focused.9.png
res/drawable-xxhdpi-v4/common_google_signin_btn_icon_light_normal.9.png
res/drawable-xxhdpi-v4/common_google_signin_btn_icon_light_pressed.9.png
res/drawable-xxhdpi-v4/common_google_signin_btn_text_dark_disabled.9.png
res/drawable-xxhdpi-v4/common_google_signin_btn_text_dark_focused.9.png
res/drawable-xxhdpi-v4/common_google_signin_btn_text_dark_normal.9.png
res/drawable-xxhdpi-v4/common_google_signin_btn_text_dark_pressed.9.png
res/drawable-xxhdpi-v4/common_google_signin_btn_text_light_disabled.9.png
res/drawable-xxhdpi-v4/common_google_signin_btn_text_light_focused.9.png
res/drawable-xxhdpi-v4/common_google_signin_btn_text_light_normal.9.png
res/drawable-xxhdpi-v4/common_google_signin_btn_text_light_pressed.9.png
res/drawable-xxhdpi-v4/common_plus_signin_btn_icon_dark_disabled.9.png
res/drawable-xxhdpi-v4/common_plus_signin_btn_icon_dark_focused.9.png
res/drawable-xxhdpi-v4/common_plus_signin_btn_icon_dark_normal.9.png
res/drawable-xxhdpi-v4/common_plus_signin_btn_icon_dark_pressed.9.png
res/drawable-xxhdpi-v4/common_plus_signin_btn_icon_light_disabled.9.png
res/drawable-xxhdpi-v4/common_plus_signin_btn_icon_light_focused.9.png
res/drawable-xxhdpi-v4/common_plus_signin_btn_icon_light_normal.9.png
res/drawable-xxhdpi-v4/common_plus_signin_btn_icon_light_pressed.9.png
res/drawable-xxhdpi-v4/common_plus_signin_btn_text_dark_disabled.9.png
res/drawable-xxhdpi-v4/common_plus_signin_btn_text_dark_focused.9.png
res/drawable-xxhdpi-v4/common_plus_signin_btn_text_dark_normal.9.png
res/drawable-xxhdpi-v4/common_plus_signin_btn_text_dark_pressed.9.png
res/drawable-xxhdpi-v4/common_plus_signin_btn_text_light_disabled.9.png
res/drawable-xxhdpi-v4/common_plus_signin_btn_text_light_focused.9.png
res/drawable-xxhdpi-v4/common_plus_signin_btn_text_light_normal.9.png
res/drawable-xxhdpi-v4/common_plus_signin_btn_text_light_pressed.9.png
res/drawable-xxhdpi-v4/ic_plusone_medium_off_client.png
res/drawable-xxhdpi-v4/ic_plusone_small_off_client.png
res/drawable-xxhdpi-v4/ic_plusone_standard_off_client.png
res/drawable-xxhdpi-v4/ic_plusone_tall_off_client.png
res/drawable-xxxhdpi-v4/abc_btn_check_to_on_mtrl_000.png
res/drawable-xxxhdpi-v4/abc_btn_check_to_on_mtrl_015.png
res/drawable-xxxhdpi-v4/abc_btn_radio_to_on_mtrl_000.png
res/drawable-xxxhdpi-v4/abc_btn_radio_to_on_mtrl_015.png
res/drawable-xxxhdpi-v4/abc_btn_switch_to_on_mtrl_00001.9.png
res/drawable-xxxhdpi-v4/abc_btn_switch_to_on_mtrl_00012.9.png
res/drawable-xxxhdpi-v4/abc_ic_ab_back_mtrl_am_alpha.png
res/drawable-xxxhdpi-v4/abc_ic_clear_mtrl_alpha.png
res/drawable-xxxhdpi-v4/abc_ic_menu_copy_mtrl_am_alpha.png
res/drawable-xxxhdpi-v4/abc_ic_menu_cut_mtrl_alpha.png
res/drawable-xxxhdpi-v4/abc_ic_menu_moreoverflow_mtrl_alpha.png
res/drawable-xxxhdpi-v4/abc_ic_menu_paste_mtrl_am_alpha.png
res/drawable-xxxhdpi-v4/abc_ic_menu_selectall_mtrl_alpha.png
res/drawable-xxxhdpi-v4/abc_ic_menu_share_mtrl_alpha.png
res/drawable-xxxhdpi-v4/abc_ic_search_api_mtrl_alpha.png
res/drawable-xxxhdpi-v4/abc_ic_voice_search_api_mtrl_alpha.png
res/drawable-xxxhdpi-v4/abc_scrubber_control_to_pressed_mtrl_000.png
res/drawable-xxxhdpi-v4/abc_scrubber_control_to_pressed_mtrl_005.png
res/drawable-xxxhdpi-v4/abc_spinner_mtrl_am_alpha.9.png
res/drawable-xxxhdpi-v4/abc_switch_track_mtrl_alpha.9.png
res/drawable-xxxhdpi-v4/abc_tab_indicator_mtrl_alpha.9.png
res/drawable-xxxhdpi-v4/app_icon.png
res/drawable/a.png
res/drawable/abc_btn_borderless_material.xml
res/drawable/abc_btn_check_material.xml
res/drawable/abc_btn_colored_material.xml
res/drawable/abc_btn_default_mtrl_shape.xml
res/drawable/abc_btn_radio_material.xml
res/drawable/abc_cab_background_internal_bg.xml
res/drawable/abc_cab_background_top_material.xml
res/drawable/abc_dialog_material_background_dark.xml
res/drawable/abc_dialog_material_background_light.xml
res/drawable/abc_edit_text_material.xml
res/drawable/abc_item_background_holo_dark.xml
res/drawable/abc_item_background_holo_light.xml
res/drawable/abc_list_selector_background_transition_holo_dark.xml
res/drawable/abc_list_selector_background_transition_holo_light.xml
res/drawable/abc_list_selector_holo_dark.xml
res/drawable/abc_list_selector_holo_light.xml
res/drawable/abc_ratingbar_full_material.xml
res/drawable/abc_seekbar_thumb_material.xml
res/drawable/abc_seekbar_track_material.xml
res/drawable/abc_spinner_textfield_background_material.xml
res/drawable/abc_switch_thumb_material.xml
res/drawable/abc_tab_indicator_material.xml
res/drawable/abc_text_cursor_material.xml
res/drawable/abc_textfield_search_material.xml
res/drawable/app_icon.png
res/drawable/b.png
res/drawable/c.xml
res/drawable/common_google_signin_btn_icon_dark.xml
res/drawable/common_google_signin_btn_icon_light.xml
res/drawable/common_google_signin_btn_text_dark.xml
res/drawable/common_google_signin_btn_text_light.xml
res/drawable/common_plus_signin_btn_icon_dark.xml
res/drawable/common_plus_signin_btn_icon_light.xml
res/drawable/common_plus_signin_btn_text_dark.xml
res/drawable/common_plus_signin_btn_text_light.xml
res/drawable/d.png
res/drawable/unityads_background_button_pause.xml
res/drawable/unityads_icon_play.xml
res/drawable/unityads_icon_speaker_base.xml
res/drawable/unityads_icon_speaker_triangle.xml
res/drawable/unityads_icon_speaker_waves.xml
res/layout-v17/abc_alert_dialog_button_bar_material.xml
res/layout-v17/abc_alert_dialog_material.xml
res/layout-v17/abc_dialog_title_material.xml
res/layout-v17/abc_search_view.xml
res/layout-v17/notification_template_big_media.xml
res/layout-v17/notification_template_big_media_narrow.xml
res/layout-v17/notification_template_lines.xml
res/layout-v17/notification_template_media.xml
res/layout-v17/notification_template_part_chronometer.xml
res/layout-v17/notification_template_part_time.xml
res/layout-v17/select_dialog_multichoice_material.xml
res/layout-v17/select_dialog_singlechoice_material.xml
res/layout-v17/unityads_button_audio_toggle.xml
res/layout-v17/unityads_button_pause.xml
res/layout-v17/unityads_view_video_play.xml
res/layout-v21/abc_screen_toolbar.xml
res/layout/abc_action_bar_title_item.xml
res/layout/abc_action_bar_up_container.xml
res/layout/abc_action_bar_view_list_nav_layout.xml
res/layout/abc_action_menu_item_layout.xml
res/layout/abc_action_menu_layout.xml
res/layout/abc_action_mode_bar.xml
res/layout/abc_action_mode_close_item_material.xml
res/layout/abc_activity_chooser_view.xml
res/layout/abc_activity_chooser_view_list_item.xml
res/layout/abc_alert_dialog_button_bar_material.xml
res/layout/abc_alert_dialog_material.xml
res/layout/abc_dialog_title_material.xml
res/layout/abc_expanded_menu_layout.xml
res/layout/abc_list_menu_item_checkbox.xml
res/layout/abc_list_menu_item_icon.xml
res/layout/abc_list_menu_item_layout.xml
res/layout/abc_list_menu_item_radio.xml
res/layout/abc_popup_menu_item_layout.xml
res/layout/abc_screen_content_include.xml
res/layout/abc_screen_simple.xml
res/layout/abc_screen_simple_overlay_action_mode.xml
res/layout/abc_screen_toolbar.xml
res/layout/abc_search_dropdown_item_icons_2line.xml
res/layout/abc_search_view.xml
res/layout/abc_select_dialog_material.xml
res/layout/notification_media_action.xml
res/layout/notification_media_cancel_action.xml
res/layout/notification_template_big_media.xml
res/layout/notification_template_big_media_narrow.xml
res/layout/notification_template_lines.xml
res/layout/notification_template_media.xml
res/layout/notification_template_part_chronometer.xml
res/layout/notification_template_part_time.xml
res/layout/select_dialog_item_material.xml
res/layout/select_dialog_multichoice_material.xml
res/layout/select_dialog_singlechoice_material.xml
res/layout/support_simple_spinner_dropdown_item.xml
res/layout/unityads_button_audio_toggle.xml
res/layout/unityads_button_pause.xml
res/layout/unityads_view_video_paused.xml
res/layout/unityads_view_video_play.xml
resources.arsc

污点分析

当apk较大时,代码量会很大,造成数据流图(ICFG)呈现爆炸式增长,所以该功能比较耗时,请先喝杯咖啡,耐心等待……
规则名称 描述信息 操作
病毒分析 使用安卓恶意软件常用的API进行污点分析 开始分析  
漏洞挖掘 漏洞挖掘场景下的污点分析 开始分析  
隐私合规 隐私合规场景下的污点分析:组件内污点传播、组件间污点传播、组件与库函数之间的污点传播 开始分析  
密码分析 分析加密算法是否使用常量密钥、静态初始化的向量(IV)、加密模式是否使用ECB等 开始分析  
Callback 因为Android中系统级的Callback并不会出现显式地进行回调方法的调用,所以如果需要分析Callback方法需要在声明文件中将其声明,这里提供一份AndroidCallbacks.txt文件,里面是一些常见的原生回调接口或类,如果有特殊接口需求,可以联系管理员 开始分析