0

高危漏洞

6

中危漏洞

4

低危漏洞

7

警告

文件名 数字化诊断服务.apk
上传者 13243457919
文件大小 23.195029258728MB
MD5 5d5ad62c92e1bb7f31c9b75a8cbced1d
包名 uni.UNIF7C0F1C
Main Activity io.dcloud.PandoraEntry
Min SDK 19
Target SDK 26

权限列表

# 名称 说明 提示
0 android.permission.CALL_PHONE 允许应用程序在您不介入的情况下拨打电话。恶意应用程序可借此在您的话费单上产生意外通话费。请注意,此权限不允许应用程序拨打紧急呼救电话。 警告
1 android.permission.ACCESS_COARSE_LOCATION 访问大概的位置源(例如蜂窝网络数据库)以确定手机的大概位置(如果可以)。恶意应用程序可借此确定您所处的大概位置。 注意
2 android.permission.ACCESS_COARSE_LOCATION 访问大概的位置源(例如蜂窝网络数据库)以确定手机的大概位置(如果可以)。恶意应用程序可借此确定您所处的大概位置。 注意
3 android.permission.ACCESS_FINE_LOCATION 访问精准的位置源,例如手机上的全球定位系统(如果有)。恶意应用程序可能会借此确定您所处的位置,并可能消耗额外的电池电量。 注意
4 android.permission.ACCESS_FINE_LOCATION 访问精准的位置源,例如手机上的全球定位系统(如果有)。恶意应用程序可能会借此确定您所处的位置,并可能消耗额外的电池电量。 注意
5 android.permission.INSTALL_PACKAGES 允许应用程序安装全新的或更新的Android包。恶意应用程序可能会借此添加其具有任意权限的新应用程序。 注意
6 android.permission.READ_CONTACTS 允许应用程序读取您手机上存储的所有联系人(地址)数据。恶意应用程序可借此将您的数据发送给其他人。 注意
7 android.permission.READ_PHONE_STATE 允许应用程序访问设备的手机功能。有此权限的应用程序可确定此手机的号码和序列号,是否正在通话,以及对方的号码等。 注意
8 android.permission.RECORD_AUDIO 允许应用程序访问录音路径。 注意
9 android.permission.WRITE_CONTACTS 允许应用程序修改您手机上存储的联系人(地址)数据。恶意应用程序可借此清除或修改您的联系人数据。 注意
10 android.permission.WRITE_SETTINGS 允许应用程序修改系统设置方面的数据。恶意应用程序可借此破坏您的系统配置。 注意
11 android.permission.ACCESS_NETWORK_STATE 允许应用程序查看所有网络的状态。 提示
12 android.permission.ACCESS_WIFI_STATE 允许应用程序查看有关WLAN状态的信息。 提示
13 android.permission.CAMERA 允许应用程序使用相机拍照,这样应用程序可随时收集进入相机镜头的图像。 提示
14 android.permission.CHANGE_NETWORK_STATE 允许应用程序更改网络连接的状态。 提示
15 android.permission.CHANGE_WIFI_STATE 允许应用程序连接到WLAN接入点以及与WLAN接入点断开连接,并对配置的WLAN网络进行更改。 提示
16 android.permission.FLASHLIGHT 允许应用程序控制闪光灯。 提示
17 android.permission.GET_ACCOUNTS 允许应用程序获取手机已知的帐户列表。 提示
18 android.permission.INTERNET 允许程序访问网络. 提示
19 android.permission.MODIFY_AUDIO_SETTINGS 允许应用程序修改整个系统的音频设置,如音量和路由。 提示
20 android.permission.MOUNT_UNMOUNT_FILESYSTEMS 允许应用程序装载和卸载可移动存储器的文件系统。 提示
21 android.permission.READ_LOGS 允许应用程序从系统的各日志文件中读取信息。这样应用程序可以发现您的手机使用情况,但这些信息不应包含任何个人信息或保密信息。 提示
22 android.permission.VIBRATE 允许应用程序控制振动器。 提示
23 android.permission.WAKE_LOCK 允许应用程序防止手机进入休眠状态。 提示
24 android.permission.WRITE_EXTERNAL_STORAGE 允许应用程序写入SD卡。 提示

四大组件

组件名称

io.dcloud.PandoraEntry
io.dcloud.PandoraEntryActivity
com.dmcbig.mediapicker.PickerActivity
com.dmcbig.mediapicker.PreviewActivity
io.dcloud.imagepick.CustomGalleryActivity
io.dcloud.feature.nativeObj.photoview.PhotoActivity
io.dcloud.WebAppActivity
io.dcloud.ProcessMediator
io.dcloud.WebviewActivity

io.dcloud.common.adapter.io.MiniServerService

com.taobao.weex.WXGlobalEventReceiver
io.dcloud.common.adapter.io.PushReceiver
io.dcloud.common.adapter.io.DownloadReceiver

io.dcloud.common.util.DCloud_FileProvider

第三方库

# 库名 介绍
0 com.alibaba.fastjson Fast JSON Processor https://github.com/alibaba/fastjson/wiki
1 pl.droidsonroids.gif Views and Drawable for displaying animated GIFs on Android
2 com.facebook.cache.common An image management library by FaceBook.
3 com.bumptech.glide An image loading and caching library for Android focused on smooth scrolling
4 uk.co.senab.photoview Implementation of ImageView for Android that supports zooming, by various touch gestures.
5 com.facebook.imagepipeline An image management library by FaceBook.
6 android.support.multidex DEPRECATED

静态扫描发现风险点

风险等级 风险名称

中危

检测到3处证书弱校验漏洞。

位置: classes.dex
io.dcloud.common.adapter.util.DCloudTrustManager;
com.nostra13.dcloudimageloader.core.download.BaseImageDownloader$1;
io.dcloud.a.m$b$3;

当移动App客户端使用https或ssl/tls进行通信时,如果不校验证书的可信性,将存在中间人攻击漏洞,可导致信息泄露,传输数据被篡改,甚至通过中间人劫持将原有信息替换成恶意链接或恶意代码程序,以达到远程控制等攻击意图。建议:
对SSL证书进行强校验,包括签名CA是否合法、证书是否是自签名、主机域名是否匹配、证书是否过期等。

参考案例:
www.wooyun.org/bugs/wooyun-2014-079358

参考资料:
http://drops.wooyun.org/tips/3296
http://wolfeye.baidu.com/blog/webview-ignore-ssl-error/
https://jaq.alibaba.com/blog.htm?id=60

中危

检测到3处中间人攻击漏洞。

位置: classes.dex
io.dcloud.feature.weex.adapter.URLConnHttpAdapter;->getHostnameVerifier(Z)Lorg.apache.http.conn.ssl.X509HostnameVerifier;
io.dcloud.feature.weex.adapter.DCWXHttpAdapter;->getHostnameVerifier(Z)Lorg.apache.http.conn.ssl.X509HostnameVerifier;
io.dcloud.common.adapter.util.DCloudTrustManager;->getHostnameVerifier(Z)Lorg.apache.http.conn.ssl.X509HostnameVerifier;

setHostnameVerifier方法设置ALLOW_ALL_HOSTNAME_VERIFIER,直接接受任意域名,可能造成中间人攻击漏洞。建议:
对SSL证书进行强校验,包括签名CA是否合法、证书是否是自签名、主机域名是否匹配、证书是否过期等。

参考案例:
http://www.wooyun.org/bugs/wooyun-2010-042710
http://www.wooyun.org/bugs/wooyun-2010-052339
http://www.wooyun.org/bugs/wooyun-2016-0190773

参考资料:
http://wolfeye.baidu.com/blog/webview-ignore-ssl-error/
https://jaq.alibaba.com/blog.htm?id=60

中危

该app需要移除大部分日志打印代码。
经扫描该包仍存在大量打日志代码,共发现202处打日志代码.(此处扫描的日志打印代码,是指调用android.util.Log.* 打印的.)
详情如下:

位置: classes.dex
com.bumptech.glide.load.resource.gif.ByteBufferGifDecoder;->decode(Ljava/nio/ByteBuffer; I I Lcom/bumptech/glide/gifdecoder/GifHeaderParser; Lcom/bumptech/glide/load/Options;)Lcom/bumptech/glide/load/resource/gif/GifDrawableResource;==>android.util.Log;->v(Ljava/lang/String; Ljava/lang/String;)I
com.facebook.soloader.UnpackingSoSource;->regenerate(B Lcom/facebook/soloader/UnpackingSoSource$DsoManifest; Lcom/facebook/soloader/UnpackingSoSource$InputDsoIterator;)V==>android.util.Log;->v(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.load.resource.bitmap.Downsampler;->calculateScaling(Lcom/bumptech/glide/load/ImageHeaderParser$ImageType; Ljava/io/InputStream; Lcom/bumptech/glide/load/resource/bitmap/Downsampler$DecodeCallbacks; Lcom/bumptech/glide/load/engine/bitmap_recycle/BitmapPool; Lcom/bumptech/glide/load/resource/bitmap/DownsampleStrategy; I I I I I Landroid/graphics/BitmapFactory$Options;)V==>android.util.Log;->v(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.feature.pdr.b;->b(Ljava/lang/String; Ljava/lang/String;)V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.taobao.weex.utils.BoxShadowUtil;->setNormalBoxShadow(Landroid/view/View; Ljava/util/List; F [F)V==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.invocation.a;->a(Lio/dcloud/common/DHInterface/IWebview; Ljava/lang/String; [Ljava/lang/String;)Ljava/lang/String;==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.request.target.ViewTarget$SizeDeterminer;->getTargetDimen(I I I)I==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.facebook.soloader.ApplicationSoSource;->checkAndMaybeUpdate()Z==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.load.resource.bitmap.TransformationUtils;->centerInside(Lcom/bumptech/glide/load/engine/bitmap_recycle/BitmapPool; Landroid/graphics/Bitmap; I I)Landroid/graphics/Bitmap;==>android.util.Log;->v(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.request.SingleRequest;->logV(Ljava/lang/String;)V==>android.util.Log;->v(Ljava/lang/String; Ljava/lang/String;)I
com.facebook.imagepipeline.memory.NativeMemoryChunk;->finalize()V==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.manager.RequestTracker;->runRequest(Lcom/bumptech/glide/request/Request;)V==>android.util.Log;->v(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.common.adapter.util.Logger;->i(Ljava/lang/String; Ljava/lang/String;)V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.taobao.weex.performance.WXInstanceApm;->arriveInteraction(Lcom/taobao/weex/ui/component/WXComponent;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.facebook.soloader.SoLoader;->doLoadLibraryBySoName(Ljava/lang/String; I Landroid/os/StrictMode$ThreadPolicy;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.manager.DefaultConnectivityMonitorFactory;->build(Landroid/content/Context; Lcom/bumptech/glide/manager/ConnectivityMonitor$ConnectivityListener;)Lcom/bumptech/glide/manager/ConnectivityMonitor;==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.common.util.ADUtils;->openDeepLink(Landroid/content/Context; Ljava/lang/String;)Z==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.feature.barcode2.camera.CameraConfigurationManager;->findBestPreviewSizeValue0(Ljava/lang/CharSequence; Landroid/graphics/Point;)Landroid/graphics/Point;==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.load.engine.cache.MemorySizeCalculator;->(Lcom/bumptech/glide/load/engine/cache/MemorySizeCalculator$Builder;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
uk.co.senab.photoview.log.LoggerDefault;->e(Ljava/lang/String; Ljava/lang/String;)I==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.load.data.HttpUrlFetcher;->getStreamForSuccessfulRequest(Ljava/net/HttpURLConnection;)Ljava/io/InputStream;==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.load.engine.Engine;->logWithTimeAndKey(Ljava/lang/String; J Lcom/bumptech/glide/load/Key;)V==>android.util.Log;->v(Ljava/lang/String; Ljava/lang/String;)I
uk.co.senab.photoview.log.LoggerDefault;->i(Ljava/lang/String; Ljava/lang/String;)I==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.alibaba.android.bindingx.core.LogProxy;->w(Ljava/lang/String;)V==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.request.target.CustomViewTarget$SizeDeterminer;->getTargetDimen(I I I)I==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.facebook.soloader.SoLoader;->loadLibraryBySoName(Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; I Landroid/os/StrictMode$ThreadPolicy;)Z==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.b;->onRuntimePreCreate(Landroid/os/Bundle;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.WebAppActivity;->onCreate(Landroid/os/Bundle;)V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.feature.nativeObj.photoview.subscaleview.decoder.SkiaPooledImageRegionDecoder;->debug(Ljava/lang/String;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.taobao.weex.utils.WXLogUtils;->writeConsoleLog(Ljava/lang/String; Ljava/lang/String;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.js.geolocation.system.a;->a(I Ljava/lang/String; I)V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.common.util.LoadAppUtils;->parsePackage(Ljava/lang/String; I)Ljava/lang/Object;==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.load.data.HttpUrlFetcher;->loadData(Lcom/bumptech/glide/Priority; Lcom/bumptech/glide/load/data/DataFetcher$DataCallback;)V==>android.util.Log;->v(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.feature.ui.c;->a(Lio/dcloud/feature/ui/b; Lio/dcloud/feature/ui/c;)V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.load.resource.bitmap.DefaultImageHeaderParser;->parseExifSegment(Lcom/bumptech/glide/load/resource/bitmap/DefaultImageHeaderParser$Reader; [B I)I==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.load.engine.bitmap_recycle.LruBitmapPool;->trimToSize(J)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.common.util.LoadAppUtils;->getApkFileLable(Landroid/content/Context; Ljava/lang/String;)Ljava/lang/String;==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
uk.co.senab.photoview.log.LoggerDefault;->d(Ljava/lang/String; Ljava/lang/String;)I==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
uk.co.senab.photoview.log.LoggerDefault;->v(Ljava/lang/String; Ljava/lang/String;)I==>android.util.Log;->v(Ljava/lang/String; Ljava/lang/String;)I
com.facebook.soloader.DirectorySoSource;->loadDependencies(Ljava/io/File; I Landroid/os/StrictMode$ThreadPolicy;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.net.JsDownload;->checkSpecialFile(Ljava/lang/String;)V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.common.util.AppConsoleLogUtil;->DCLog(Ljava/lang/String; Ljava/lang/String;)V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.feature.weex.adapter.widget.refresh.DCWeexBaseRefreshLayout;->onInterceptTouchEvent(Landroid/view/MotionEvent;)Z==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.common.util.ADUtils;->dwApp(Landroid/content/Context; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; J Z Z Ljava/lang/String;)V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.common.adapter.ui.AdaWebview;->setPreloadJsFile(Ljava/lang/String; Z)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.load.engine.SourceGenerator;->cacheData(Ljava/lang/Object;)V==>android.util.Log;->v(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.feature.barcode2.camera.FlashlightManager;->()V==>android.util.Log;->v(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.load.engine.bitmap_recycle.LruArrayPool;->getForKey(Lcom/bumptech/glide/load/engine/bitmap_recycle/LruArrayPool$Key; Ljava/lang/Class;)Ljava/lang/Object;==>android.util.Log;->v(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.common.adapter.util.Logger;->es(Ljava/lang/String; Ljava/lang/String;)V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.nineoldandroids.animation.PropertyValuesHolder;->setupValue(Ljava/lang/Object; Lio/dcloud/nineoldandroids/animation/Keyframe;)V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.feature.nativeObj.richtext.span.AHrefSpan;->onClick(Landroid/view/View; Lio/dcloud/common/DHInterface/IWebview;)V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.facebook.soloader.SoLoader$1;->load(Ljava/lang/String; I)V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.load.resource.bitmap.BitmapEncoder;->encode(Lcom/bumptech/glide/load/engine/Resource; Ljava/io/File; Lcom/bumptech/glide/load/Options;)Z==>android.util.Log;->v(Ljava/lang/String; Ljava/lang/String;)I
com.taobao.weex.utils.Trace;->endSection()V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.common.core.ui.b;->a(Lio/dcloud/common/core/ui/b; I)V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.bun.miitmdid.core.Utils;->getFileListame(Ljava/lang/String;)V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.manager.RequestManagerRetriever;->handleMessage(Landroid/os/Message;)Z==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.load.engine.bitmap_recycle.LruBitmapPool;->trimToSize(J)V==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.manager.DefaultConnectivityMonitor$1;->onReceive(Landroid/content/Context; Landroid/content/Intent;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.taobao.weex.ui.action.ActionReloadPage;->executeAction()V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.feature.nativeObj.photoview.subscaleview.SubsamplingScaleImageView;->debug(Ljava/lang/String; [Ljava/lang/Object;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.facebook.soloader.ApplicationSoSource;->(Landroid/content/Context; I)V==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.load.engine.bitmap_recycle.LruBitmapPool;->clearMemory()V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.load.engine.bitmap_recycle.LruBitmapPool;->getDirtyOrNull(I I Landroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;==>android.util.Log;->v(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.load.engine.cache.DiskLruCacheWrapper;->get(Lcom/bumptech/glide/load/Key;)Ljava/io/File;==>android.util.Log;->v(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.feature.nativeObj.richtext.span.ImgSpan;->onClick(Landroid/view/View; Lio/dcloud/common/DHInterface/IWebview;)V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.common.adapter.util.DownloadUtil;->queryDownloadStatus(Landroid/content/Context;)V==>android.util.Log;->v(Ljava/lang/String; Ljava/lang/String;)I
com.facebook.soloader.DirectorySoSource;->loadLibraryFrom(Ljava/lang/String; I Ljava/io/File; Landroid/os/StrictMode$ThreadPolicy;)I==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.feature.ad.dcloud.SplashADView$1;->onError(I Ljava/lang/String;)V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.dmcbig.mediapicker.data.VideoLoader;->onLoadFinished(Landroid/content/Loader; Ljava/lang/Object;)V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.taobao.weex.bridge.NativeInvokeHelper$1;->onInvokeSuccess()V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.taobao.weex.ui.component.DCWXInput;->setType(Ljava/lang/String;)V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.feature.barcode2.camera.AutoFocusCallback;->onAutoFocus(Z Landroid/hardware/Camera;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.Glide;->getAnnotationGeneratedGlideModules()Lcom/bumptech/glide/GeneratedAppGlideModule;==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.invocation.c;->a(Ljava/lang/Object; Ljava/lang/Class; I Lio/dcloud/invocation/c$a;)Ljava/lang/Object;==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.WebAppActivity;->a(Landroid/content/Context;)Ljava/lang/Object;==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.facebook.soloader.UnpackingSoSource;->prepare(I)V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.common.a.a;->processEvent(Lio/dcloud/common/DHInterface/IMgr$MgrType; I Ljava/lang/Object;)Ljava/lang/Object;==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.nineoldandroids.animation.PropertyValuesHolder$IntPropertyValuesHolder;->setAnimatedValue(Ljava/lang/Object;)V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.load.resource.gif.ByteBufferGifDecoder;->getSampleSize(Lcom/bumptech/glide/gifdecoder/GifHeader; I I)I==>android.util.Log;->v(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.util.pool.FactoryPools$FactoryPool;->acquire()Ljava/lang/Object;==>android.util.Log;->v(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.feature.nativeObj.photoview.subscaleview.SubsamplingScaleImageView;->getExifOrientation(Landroid/content/Context; Ljava/lang/String;)I==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.feature.pdr.RuntimeFeatureImpl;->b(Ljava/lang/String; Lio/dcloud/common/DHInterface/IApp;)V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.feature.barcode2.camera.PreviewCallback;->onPreviewFrame([B Landroid/hardware/Camera;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.feature.ui.c;->a(Lio/dcloud/feature/ui/c; Ljava/lang/String;)V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.gifdecoder.StandardGifDecoder;->getNextFrame()Landroid/graphics/Bitmap;==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.facebook.soloader.ApkSoSource$ApkUnpacker;->shouldExtract(Ljava/util/zip/ZipEntry; Ljava/lang/String;)Z==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.taobao.weex.bridge.NativeInvokeHelper;->invoke(Ljava/lang/Object; Lcom/taobao/weex/bridge/Invoker; Lcom/alibaba/fastjson/JSONArray;)Ljava/lang/Object;==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.load.engine.bitmap_recycle.LruBitmapPool;->dumpUnchecked()V==>android.util.Log;->v(Ljava/lang/String; Ljava/lang/String;)I
com.facebook.soloader.UnpackingSoSource;->deleteUnmentionedFiles([Lcom/facebook/soloader/UnpackingSoSource$Dso;)V==>android.util.Log;->v(Ljava/lang/String; Ljava/lang/String;)I
com.facebook.soloader.SoLoader;->doLoadLibraryBySoName(Ljava/lang/String; I Landroid/os/StrictMode$ThreadPolicy;)V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.bun.miitmdid.core.MdidSdkHelper;->logd(Z Ljava/lang/String;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.taobao.weex.utils.tools.TimeCalculator;->println()V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.WebAppActivity;->onResume()V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.feature.weex.adapter.URLConnHttpAdapter;->sendRequest(Lcom/taobao/weex/common/WXRequest; Lcom/taobao/weex/adapter/IWXHttpAdapter$OnHttpListener;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.feature.pdr.b;->c(Ljava/lang/String; Ljava/lang/String;)V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.feature.barcode2.decoding.CaptureActivityHandler;->handleMessage(Landroid/os/Message;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.taobao.weex.bridge.WXBridge;->callNative(Ljava/lang/String; [B Ljava/lang/String;)I==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.nineoldandroids.animation.PropertyValuesHolder;->getPropertyFunction(Ljava/lang/Class; Ljava/lang/String; Ljava/lang/Class;)Ljava/lang/reflect/Method;==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.common.a.d;->a(Ljava/io/InputStream; Ljava/lang/String; Lorg/json/JSONObject;)Z==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.taobao.weex.utils.BoxShadowUtil;->setInsetBoxShadow(Landroid/view/View; Ljava/util/List; F [F)V==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.WebAppActivity;->onCreate(Landroid/os/Bundle;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.common.util.ADUtils;->openBrowser(Landroid/content/Context; Ljava/lang/String;)V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.load.resource.bitmap.DrawableToBitmapConverter;->drawToBitmap(Lcom/bumptech/glide/load/engine/bitmap_recycle/BitmapPool; Landroid/graphics/drawable/Drawable; I I)Landroid/graphics/Bitmap;==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.common.adapter.util.Logger;->privacyLog(Ljava/lang/String; Ljava/lang/String;)V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.taobao.weex.bridge.WXBridge;->setLogType(F Z)V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.common.adapter.ui.webview.WebJsEvent;->hideCustomView()V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.facebook.soloader.SoLoader;->prependSoSource(Lcom/facebook/soloader/SoSource;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.load.engine.bitmap_recycle.LruBitmapPool;->getDirtyOrNull(I I Landroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.feature.ad.AdSplashUtil;->reorderList(Ljava/util/List; Ljava/lang/String; Lorg/json/JSONObject; Lorg/json/JSONObject; Z)Ljava/util/List;==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.common.util.BaseInfo;->parseControl(Lio/dcloud/common/DHInterface/ICore; Lio/dcloud/common/DHInterface/ICore$ICoreStatusListener;)[Ljava/lang/String;==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.common.adapter.util.Logger;->d(Ljava/lang/String; Ljava/lang/String;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.load.resource.bitmap.DefaultImageHeaderParser;->getOrientation(Lcom/bumptech/glide/load/resource/bitmap/DefaultImageHeaderParser$Reader; Lcom/bumptech/glide/load/engine/bitmap_recycle/ArrayPool;)I==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.facebook.soloader.UnpackingSoSource;->extractDso(Lcom/facebook/soloader/UnpackingSoSource$InputDso; [B)V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.facebook.soloader.SoLoader;->areSoSourcesAbisSupported()Z==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.facebook.imagepipeline.memory.BufferMemoryChunk;->copy(I Lcom/facebook/imagepipeline/memory/MemoryChunk; I I)V==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.facebook.soloader.SoLoader;->makeLdLibraryPath()Ljava/lang/String;==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
uk.co.senab.photoview.log.LoggerDefault;->w(Ljava/lang/String; Ljava/lang/String;)I==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.common.adapter.ui.webview.WebLoadEvent;->printOpenLog(Landroid/webkit/WebView; Ljava/lang/String;)V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.Glide;->initializeGlide(Landroid/content/Context; Lcom/bumptech/glide/GlideBuilder;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.feature.weex.adapter.widget.refresh.DCWeexBaseRefreshLayout;->onTouchEvent(Landroid/view/MotionEvent;)Z==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.feature.pdr.RuntimeFeatureImpl;->a(Ljava/lang/String; Lio/dcloud/common/DHInterface/IApp;)V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.js.geolocation.system.a;->a(Landroid/location/Location; I)V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.facebook.soloader.UnpackingSoSource$1;->run()V==>android.util.Log;->v(Ljava/lang/String; Ljava/lang/String;)I
com.facebook.soloader.SoLoader;->initSoSources(Landroid/content/Context; I Lcom/facebook/soloader/SoFileLoader;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.request.SingleRequest;->onResourceReady(Lcom/bumptech/glide/load/engine/Resource; Ljava/lang/Object; Lcom/bumptech/glide/load/DataSource;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.load.engine.bitmap_recycle.LruBitmapPool;->put(Landroid/graphics/Bitmap;)V==>android.util.Log;->v(Ljava/lang/String; Ljava/lang/String;)I
com.facebook.soloader.UnpackingSoSource;->prepare(I)V==>android.util.Log;->v(Ljava/lang/String; Ljava/lang/String;)I
com.taobao.weex.performance.WXAnalyzerDataTransfer;->transferPerformance(Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/lang/Object;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.b;->onCreate(Landroid/os/Bundle;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.feature.pdr.b;->a(Ljava/lang/String; Ljava/lang/String;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.module.ManifestParser;->parse()Ljava/util/List;==>android.util.Log;->v(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.feature.barcode2.camera.CameraConfigurationManager;->setZoom(Landroid/hardware/Camera$Parameters;)V==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.load.engine.prefill.BitmapPreFillRunner;->allocate()Z==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.alibaba.android.bindingx.core.LogProxy;->d(Ljava/lang/String;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.common.adapter.util.Logger;->d(Ljava/lang/String; [Ljava/lang/Object;)V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.common.adapter.util.DownloadUtil;->queryDownloadStatus(Landroid/content/Context;)V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.feature.ui.e;->a(Lio/dcloud/common/DHInterface/IWebview; Lio/dcloud/common/DHInterface/IApp; Ljava/lang/String;)V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.request.target.CustomViewTarget$SizeDeterminer$SizeDeterminerLayoutListener;->onPreDraw()Z==>android.util.Log;->v(Ljava/lang/String; Ljava/lang/String;)I
com.taobao.weex.utils.Trace;->beginSection(Ljava/lang/String;)V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.feature.nativeObj.richtext.dom.ImgDomElement$AsycLoader;->onComplete(Landroid/graphics/Bitmap;)V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.common.util.ADUtils;->openStreamApp(Landroid/content/Context; Ljava/lang/String; Lorg/json/JSONObject; I Ljava/lang/String;)V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.common.c.a$b$a;->engineSetSeed([B)V==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.load.resource.bitmap.TransformationUtils;->fitCenter(Lcom/bumptech/glide/load/engine/bitmap_recycle/BitmapPool; Landroid/graphics/Bitmap; I I)Landroid/graphics/Bitmap;==>android.util.Log;->v(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.nineoldandroids.animation.PropertyValuesHolder;->setupSetterAndGetter(Ljava/lang/Object;)V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.WebAppActivity;->a()V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.common.adapter.util.Logger;->d(Ljava/lang/String; Ljava/lang/String;)V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.common.util.CreateShortResultReceiver;->onReceive(Landroid/content/Context; Landroid/content/Intent;)V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.common.adapter.util.DownloadUtil;->onReceive(Landroid/content/Context; Landroid/content/Intent;)V==>android.util.Log;->v(Ljava/lang/String; Ljava/lang/String;)I
com.dcloud.android.downloader.core.thread.DownloadThread;->executeDownload()V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.dmcbig.mediapicker.PreviewActivity;->setBarStatus()V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.WebAppActivity;->onDestroy()V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.taobao.weex.base.SystemMessageHandler;->(J)V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.load.resource.bitmap.Downsampler;->calculateScaling(Lcom/bumptech/glide/load/ImageHeaderParser$ImageType; Ljava/io/InputStream; Lcom/bumptech/glide/load/resource/bitmap/Downsampler$DecodeCallbacks; Lcom/bumptech/glide/load/engine/bitmap_recycle/BitmapPool; Lcom/bumptech/glide/load/resource/bitmap/DownsampleStrategy; I I I I I Landroid/graphics/BitmapFactory$Options;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.common.adapter.ui.webview.WebJsEvent;->showCustomView(Landroid/view/View; Landroid/webkit/WebChromeClient$CustomViewCallback;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.dcloud.android.downloader.core.DownloadResponseImpl;->onStatusChanged(Lcom/dcloud/android/downloader/domain/DownloadInfo;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.common.util.ADUtils;->openUrl(Landroid/content/Context; Ljava/lang/String;)V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.feature.barcode2.camera.CameraConfigurationManager;->setSharpness(Landroid/hardware/Camera$Parameters;)V==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.common.a.a;->a(Landroid/app/Activity; Ljava/lang/String; Ljava/lang/String; Lio/dcloud/common/a/d; Lio/dcloud/common/a/d; Lio/dcloud/common/a/d; Z)V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.request.target.ViewTarget$SizeDeterminer$SizeDeterminerLayoutListener;->onPreDraw()Z==>android.util.Log;->v(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.load.resource.bitmap.DefaultImageHeaderParser;->parseExifSegment(Lcom/bumptech/glide/load/resource/bitmap/DefaultImageHeaderParser$RandomAccessReader;)I==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.feature.ui.nativeui.NativeUIFeatureImpl;->a(Lio/dcloud/common/DHInterface/IApp;)V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.taobao.weex.bridge.WXBridgeManager;->commitJscCrashAlarmMonitor(Ljava/lang/String; Lcom/taobao/weex/common/WXErrorCode; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/util/Map;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.facebook.soloader.UnpackingSoSource;->refreshLocked(Lcom/facebook/soloader/FileLocker; I [B)Z==>android.util.Log;->v(Ljava/lang/String; Ljava/lang/String;)I
com.taobao.weex.ui.SimpleComponentHolder$ClazzComponentCreator;->getComponentConstructor(Ljava/lang/Boolean;)Ljava/lang/reflect/Constructor;==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.EntryProxy;->clearData()V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.Glide;->getPhotoCacheDir(Landroid/content/Context; Ljava/lang/String;)Ljava/io/File;==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.feature.ui.e;->a(Lio/dcloud/feature/ui/a; Lio/dcloud/common/DHInterface/IWebview; Lorg/json/JSONArray; Lio/dcloud/common/DHInterface/IApp; Ljava/lang/String; Z)Lio/dcloud/feature/ui/c;==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.feature.pdr.b;->f(Ljava/lang/String; Ljava/lang/String;)V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.alibaba.android.bindingx.core.LogProxy;->e(Ljava/lang/String;)V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.load.resource.bitmap.DefaultImageHeaderParser;->moveToExifSegmentAndGetLength(Lcom/bumptech/glide/load/resource/bitmap/DefaultImageHeaderParser$Reader;)I==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.common.adapter.ui.webview.WebLoadEvent;->printResourceLog(Landroid/webkit/WebView; Lio/dcloud/common/DHInterface/IApp; Ljava/lang/String; Ljava/lang/String;)V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.taobao.weex.ui.module.ConsoleLogModule;->switchLogLevel(Ljava/lang/String; Lcom/taobao/weex/bridge/JSCallback;)V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.alibaba.android.bindingx.core.LogProxy;->v(Ljava/lang/String;)V==>android.util.Log;->v(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.load.resource.bitmap.HardwareConfigState;->isFdSizeBelowHardwareLimit()Z==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.taobao.weex.bridge.WXBridge;->createInstanceContext(Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; [Lcom/taobao/weex/bridge/WXJSObject;)I==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.load.resource.bitmap.Downsampler;->logDecode(I I Ljava/lang/String; Landroid/graphics/BitmapFactory$Options; Landroid/graphics/Bitmap; I I J)V==>android.util.Log;->v(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.load.engine.bitmap_recycle.LruBitmapPool;->trimMemory(I)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.feature.barcode2.camera.CameraConfigurationManager;->initFromCameraParameters(Landroid/hardware/Camera;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.dcloud.android.v4.widget.SwipeRefreshLayout;->parentInvalidate()V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.alibaba.android.bindingx.core.LogProxy;->i(Ljava/lang/String;)V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.net.UploadNetWork;->initUploadData()V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.feature.barcode2.camera.CameraConfigurationManager;->setDesiredCameraParameters(Landroid/hardware/Camera;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.nineoldandroids.animation.PropertyValuesHolder$FloatPropertyValuesHolder;->setAnimatedValue(Ljava/lang/Object;)V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.load.resource.bitmap.Downsampler;->decodeFromWrappedStreams(Ljava/io/InputStream; Landroid/graphics/BitmapFactory$Options; Lcom/bumptech/glide/load/resource/bitmap/DownsampleStrategy; Lcom/bumptech/glide/load/DecodeFormat; Z I I Z Lcom/bumptech/glide/load/resource/bitmap/Downsampler$DecodeCallbacks;)Landroid/graphics/Bitmap;==>android.util.Log;->v(Ljava/lang/String; Ljava/lang/String;)I
com.taobao.weex.ui.action.GraphicActionAddElement;->(Lcom/taobao/weex/WXSDKInstance; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; I Ljava/util/Map; Ljava/util/Map; Ljava/util/Set; [F [F [F)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.load.engine.DecodeJob;->logWithTimeAndKey(Ljava/lang/String; J Ljava/lang/String;)V==>android.util.Log;->v(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.common.adapter.ui.AdaWebview;->appendPreloadJsFile(Ljava/lang/String;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.feature.b;->b()Ljava/util/HashMap;==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.common.util.CreateShortResultReceiver$1;->run()V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.facebook.imagepipeline.memory.NativeMemoryChunk;->copy(I Lcom/facebook/imagepipeline/memory/MemoryChunk; I I)V==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.common.adapter.util.Logger;->e(Ljava/lang/String; Ljava/lang/String;)V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.module.ManifestParser;->parse()Ljava/util/List;==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.js.geolocation.a;->a(Ljava/lang/String;)Lio/dcloud/js/geolocation/GeoManagerBase;==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.taobao.weex.utils.tools.LogDetail;->println()V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.taobao.weex.ui.component.AbstractEditComponent;->setType(Ljava/lang/String;)V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.load.engine.cache.DiskLruCacheWrapper;->put(Lcom/bumptech/glide/load/Key; Lcom/bumptech/glide/load/engine/cache/DiskCache$Writer;)V==>android.util.Log;->v(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.nineoldandroids.animation.PropertyValuesHolder;->setAnimatedValue(Ljava/lang/Object;)V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.taobao.weex.bridge.WXBridgeManager;->callReportCrashReloadPage(Ljava/lang/String; Ljava/lang/String;)I==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.load.engine.bitmap_recycle.LruArrayPool;->evictToSize(I)V==>android.util.Log;->v(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.common.adapter.util.Logger;->d(Ljava/lang/String; [Ljava/lang/Object;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
io.dcloud.feature.barcode2.camera.CameraConfigurationManager;->findBestPreviewSizeValue(Ljava/lang/CharSequence; Landroid/graphics/Point;)Landroid/graphics/Point;==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I

中危

检测到7个WebView远程执行漏洞。

位置: classes.dex
io.dcloud.common.adapter.ui.ReceiveJSValue;->addJavascriptInterface(Lio.dcloud.common.adapter.ui.AdaWebview;)V
io.dcloud.common.adapter.ui.AdaWebview;->addJsInterface(Ljava.lang.String; Lio.dcloud.common.DHInterface.IJsInterface;)V
io.dcloud.common.adapter.ui.AdaWebview;->addJsInterface(Ljava.lang.String; Ljava.lang.Object;)V
io.dcloud.common.adapter.ui.AdaWebview;->addJsInterface(Ljava.lang.String; Ljava.lang.String;)V
com.taobao.weex.ui.view.WXWebView;->initWebView(Landroid.webkit.WebView;)V
io.dcloud.common.adapter.ui.webview.SysWebView;->addJavascriptInterface(Ljava.lang.Object; Ljava.lang.String;)V
io.dcloud.feature.weex.adapter.webview.DCWXWebView;->initWebView(Landroid.webkit.WebView;)V

Android API < 17之前版本存在远程代码执行安全漏洞,该漏洞源于程序没有正确限制使用addJavaScriptInterface方法,攻击者可以通过Java反射利用该漏洞执行任意Java对象的方法,导致远程代码执行安全漏洞。
(1)API等于高于17的Android系统。出于安全考虑,为了防止Java层的函数被随意调用,Google在4.2版本之后,规定允许被调用的函数必须以@JavascriptInterface进行注解。
(2)API等于高于17的Android系统。建议不要使用addJavascriptInterface接口,以免带来不必要的安全隐患,如果一定要使用该接口,建议使用证书校验。
(3)使用removeJavascriptInterface移除Android系统内部的默认内置接口:searchBoxJavaBridge_、accessibility、accessibilityTraversal。

参考案例:
www.wooyun.org/bugs/wooyun-2015-0140708
www.wooyun.org/bugs/wooyun-2016-0188252
http://drops.wooyun.org/papers/548

参考资料:
http://jaq.alibaba.com/blog.htm?id=48
http://blog.nsfocus.net/android-webview-remote-code-execution-vulnerability-analysis
https://developer.android.com/reference/android/webkit/WebView.html

中危

检测到74条敏感明文信息,建议移除。

位置: classes.dex
'data:%s;base64,%s' used in: Lio/dcloud/js/file/FileFeatureImpl;->execute(Lio/dcloud/common/DHInterface/IWebview; Ljava/lang/String; [Ljava/lang/String;)Ljava/lang/String;
'data:image' used in: Lcom/bumptech/glide/load/model/DataUrlLoader$StreamFactory$1;->decode(Ljava/lang/String;)Ljava/io/InputStream;
'data:image' used in: Lcom/bumptech/glide/load/model/DataUrlLoader;->handles(Ljava/lang/Object;)Z
'data:image/' used in: Lio/dcloud/feature/nativeObj/NativeBitmap;->getExtFromBase64(Ljava/lang/String;)V
'data:image/' used in: Lio/dcloud/feature/nativeObj/NativeBitmap;->toBase64Data()Ljava/lang/String;
'data:text/html,' used in: Lio/dcloud/common/adapter/ui/AdaWebview;->hadClearHistory(Ljava/lang/String;)Z
'data:text/html,chromewebdata' used in: Lio/dcloud/common/adapter/ui/webview/WebLoadEvent;->onPageFinished(Landroid/webkit/WebView; Ljava/lang/String;)V
'file:///' used in: Lio/dcloud/feature/nativeObj/photoview/subscaleview/ImageSource;->(Landroid/net/Uri;)V
'file:///' used in: Lio/dcloud/feature/nativeObj/photoview/subscaleview/ImageSource;->uri(Ljava/lang/String;)Lio/dcloud/feature/nativeObj/photoview/subscaleview/ImageSource;
'file:///' used in: Lio/dcloud/common/adapter/ui/webview/WebJsEvent$11;->onExecute(Lio/dcloud/common/DHInterface/ISysEventListener$SysEventType; Ljava/lang/Object;)Z
'file:///' used in: Lio/dcloud/common/a/d;->convert2WebviewFullPath(Ljava/lang/String; Ljava/lang/String;)Ljava/lang/String;
'file:///' used in: Lio/dcloud/feature/weex/adapter/webview/DCWXWebView$DCWXChromeClient;->onResult(I I Landroid/content/Intent;)V
'file:///' used in: Lio/dcloud/feature/nativeObj/photoview/subscaleview/SubsamplingScaleImageView;->getExifOrientation(Landroid/content/Context; Ljava/lang/String;)I
'file:///' used in: Lio/dcloud/common/adapter/ui/webview/WebLoadEvent;->shouldInterceptRequest(Landroid/webkit/WebView; Ljava/lang/String;)Landroid/webkit/WebResourceResponse;
'file:///android_asset' used in: Lio/dcloud/feature/nativeObj/photoview/PhotoActivity$2;->displayImage(Landroid/content/Context; Ljava/lang/String; Landroid/view/View; I)V
'file:///android_asset/' used in: Lio/dcloud/feature/nativeObj/photoview/subscaleview/decoder/SkiaImageDecoder;->decode(Landroid/content/Context; Landroid/net/Uri;)Landroid/graphics/Bitmap;
'file:///android_asset/' used in: Lio/dcloud/feature/internal/sdk/SDK;->createWebview(Landroid/app/Activity; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Lio/dcloud/common/DHInterface/IWebviewStateListener; Lio/dcloud/common/DHInterface/IDCloudWebviewClientListener;)Lio/dcloud/common/DHInterface/IWebview;
'file:///android_asset/' used in: Lio/dcloud/common/adapter/util/DeviceInfo;->updatePath()V
'file:///android_asset/' used in: Lio/dcloud/feature/nativeObj/photoview/subscaleview/decoder/SkiaPooledImageRegionDecoder;->initialiseDecoder()V
'file:///android_asset/' used in: Lio/dcloud/feature/nativeObj/photoview/PhotoActivity$2;->displayImage(Landroid/content/Context; Ljava/lang/String; Landroid/view/View; I)V
'file:///android_asset/' used in: Lio/dcloud/common/adapter/util/PlatformUtil;->getResInputStream(Ljava/lang/String;)Ljava/io/InputStream;
'file:///android_asset/' used in: Lio/dcloud/feature/nativeObj/TitleNView;->getIconPath(Ljava/lang/String;)Ljava/lang/String;
'file:///android_asset/' used in: Lio/dcloud/feature/nativeObj/photoview/subscaleview/SubsamplingScaleImageView;->getExifOrientation(Landroid/content/Context; Ljava/lang/String;)I
'file:///android_asset/' used in: Lio/dcloud/feature/internal/sdk/SDK;->createWebview(Landroid/app/Activity; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Lio/dcloud/common/DHInterface/IWebviewStateListener;)Lio/dcloud/common/DHInterface/IWebview;
'file:///android_asset/' used in: Lio/dcloud/feature/nativeObj/photoview/subscaleview/decoder/SkiaImageRegionDecoder;->init(Landroid/content/Context; Landroid/net/Uri;)Landroid/graphics/Point;
'file:///android_asset/' used in: Lio/dcloud/feature/weex/adapter/webview/WXDCWeb;->loadUrl(Ljava/lang/String;)V
'file:///android_asset/' used in: Lcom/dcloud/android/widget/TabView;->setSelectedStyle()V
'file:///android_asset/' used in: Lio/dcloud/common/a/d;->convert2AbsFullPath(Ljava/lang/String; Ljava/lang/String;)Ljava/lang/String;
'file:///android_asset/' used in: Lcom/dcloud/android/widget/TabView;->setCommonItemStyle(I Lcom/alibaba/fastjson/JSONObject;)V
'file:///android_asset/' used in: Lcom/bumptech/glide/load/model/AssetUriLoader;->()V
'file:///android_asset/' used in: Lio/dcloud/feature/nativeObj/photoview/subscaleview/ImageSource;->asset(Ljava/lang/String;)Lio/dcloud/feature/nativeObj/photoview/subscaleview/ImageSource;
'file:///android_asset/' used in: Lcom/dcloud/android/widget/TabView;->getIconPath(Ljava/lang/String;)Ljava/lang/String;
'file:///android_asset/' used in: Lcom/dcloud/android/widget/TabView$BackGroundDrawable;->setBackgroundImage(Ljava/lang/String;)V
'file:///android_asset/data/dcloud_error.html' used in: Lio/dcloud/common/a/d;->(Lio/dcloud/common/a/a; Ljava/lang/String; B)V
'file:///android_asset/data/dcloud_error.html' used in: Lio/dcloud/common/a/d;->a(Ljava/io/InputStream; Ljava/lang/String; Lorg/json/JSONObject;)Z
'http://ask.dcloud.net.cn/article/282' used in: Lio/dcloud/common/constant/DOMException;->toString(Ljava/lang/String;)Ljava/lang/String;
'http://ask.dcloud.net.cn/article/283' used in: Lio/dcloud/feature/b;->a(Lio/dcloud/common/DHInterface/IWebview; Ljava/lang/String;)V
'http://ask.dcloud.net.cn/article/35058' used in: Lio/dcloud/feature/audio/AudioRecorderMgr$1;->onGranted(Ljava/lang/String;)V
'http://ask.dcloud.net.cn/article/35627' used in: Lio/dcloud/common/a/a$5;->onClick(Landroid/content/DialogInterface; I)V
'http://localhost' used in: Lio/dcloud/common/util/PdrUtil;->isNetPath(Ljava/lang/String;)Z
'http://localhost' used in: Lio/dcloud/common/a/d;->convert2AbsFullPath(Ljava/lang/String; Ljava/lang/String;)Ljava/lang/String;
'http://localhost' used in: Lio/dcloud/feature/weex/adapter/DefaultWebSocketAdapter;->connect(Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Lcom/taobao/weex/appfram/websocket/IWebSocketAdapter$EventListener;)V
'http://localhost' used in: Lio/dcloud/feature/weex/adapter/DefaultWebSocketAdapter;->connect(Ljava/lang/String; Ljava/lang/String; Lcom/taobao/weex/appfram/websocket/IWebSocketAdapter$EventListener;)V
'http://m3w.cn/s/' used in: Lio/dcloud/common/util/ShortCutUtil;->createShortcutToDeskTop(Landroid/content/Context; Ljava/lang/String; Ljava/lang/String; Landroid/graphics/Bitmap; Ljava/lang/String; Lorg/json/JSONObject; Z Z)Z
'http://m3w.cn/s/' used in: Lio/dcloud/common/util/ShortCutUtil;->removeShortcutFromDeskTop(Landroid/content/Context; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Lorg/json/JSONObject;)Z
'http://schemas.android.com/apk/res/android' used in: Landroid/support/v4/content/res/TypedArrayUtils;->hasAttribute(Lorg/xmlpull/v1/XmlPullParser; Ljava/lang/String;)Z
'http://schemas.android.com/apk/res/android' used in: Lpl/droidsonroids/gif/GifViewUtils$GifImageViewAttributes;->getResourceId(Landroid/widget/ImageView; Landroid/util/AttributeSet; Z)I
'http://schemas.android.com/apk/res/android' used in: Lpl/droidsonroids/gif/GifTextView;->init(Landroid/util/AttributeSet; I I)V
'http://schemas.android.com/apk/res/android' used in: Lpl/droidsonroids/gif/GifTextureView;->init(Landroid/util/AttributeSet; I I)V
'http://stream.dcloud.net.cn/resource/sitemap/v2?appid=' used in: Lio/dcloud/common/a/d;->b()V
'http://www.android.com/' used in: Lcom/facebook/soloader/SoLoader;->loadLibrary(Ljava/lang/String; I)Z
'http://www.dcloud.io/streamapp/streamapp.apk' used in: Lio/dcloud/common/util/ShortCutUtil$7;->onClick(Landroid/content/DialogInterface; I)V
'https://96f0e031-f37a-48ef-84c7-2023f6360c0a.bspapp.com/http/rewarded-video/report?p=a&t=' used in: Lio/dcloud/common/core/b/a;->a(Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String;)V
'https://96f0e031-f37a-48ef-84c7-2023f6360c0a.bspapp.com/http/splash-screen/report' used in: Lio/dcloud/feature/ad/dcloud/ADHandler$5;->execute()V
'https://ask.dcloud.net.cn/article/35877' used in: Lio/dcloud/common/a/a$6;->onClick(Landroid/content/DialogInterface; I)V
'https://localhost' used in: Lio/dcloud/common/util/PdrUtil;->isNetPath(Ljava/lang/String;)Z
'https://service.dcloud.net.cn/pdz' used in: Lio/dcloud/common/core/b/a$2;->run()V
'https://service.dcloud.net.cn/sta/so?p=a&pn=%s&ver=%s&appid=%s' used in: Lio/dcloud/common/core/b$1;->run()V
'https://stream.dcloud.net.cn/' used in: Lio/dcloud/common/constant/StringConst;->mainHost()Ljava/lang/String;
'https://stream.mobihtml5.com/' used in: Lio/dcloud/common/constant/StringConst;->backupHost()Ljava/lang/String;
'javascript:!function(){(window.__html5plus__&&__html5plus__.isReady?__html5plus__:navigator.plus&&navigator.plus.isReady?navigator.plus:window.plus)||window.__load__plus__&&window.__load__plus__();var _=document.createEvent("HTMLEvents");_.initEvent("%s",!1,!0),_.targetId="%s",_.originId="%s",_.data=%s,document.dispatchEvent(_)}();' used in: Lio/dcloud/feature/weex/extend/PlusModule;->()V
'javascript:(function () {var initData = ' used in: Lcom/taobao/weex/ui/view/WXWebView;->postMessage(Ljava/lang/Object;)V
'javascript:(function () {var initData = ' used in: Lio/dcloud/feature/weex/adapter/webview/DCWXWebView;->postMessage(Ljava/lang/Object;)V
'javascript:(function(){' used in: Lio/dcloud/feature/weex/adapter/webview/WXDCWeb;->evalJs(Ljava/lang/String;)V
"javascript:(function(){if(!((window.__html5plus__&&__html5plus__.isReady)?__html5plus__:(navigator.plus&&navigator.plus.isReady)?navigator.plus:window.plus)){window.__load__plus__&&window.__load__plus__();}var e = document.createEvent('HTMLEvents');var evt = '%s';e.initEvent(evt, false, true); e.active = '%s';/*console.log('dispatch ' + evt + ' event');*/document.dispatchEvent(e);})();" used in: Lio/dcloud/common/core/ui/b;->onExecute(Lio/dcloud/common/DHInterface/ISysEventListener$SysEventType; Ljava/lang/Object;)Z
"javascript:(function(){if(!((window.__html5plus__&&__html5plus__.isReady)?__html5plus__:(navigator.plus&&navigator.plus.isReady)?navigator.plus:window.plus)){window.__load__plus__&&window.__load__plus__();}var e = document.createEvent('HTMLEvents');var evt = '%s';e.initEvent(evt, false, true); e.height = %d;/*console.log('dispatch ' + evt + ' event');*/document.dispatchEvent(e);})();" used in: Lio/dcloud/common/core/ui/DCKeyboardManager;->()V
"javascript:(function(){if(!((window.__html5plus__&&__html5plus__.isReady)?__html5plus__:(navigator.plus&&navigator.plus.isReady)?navigator.plus:window.plus)){window.__load__plus__&&window.__load__plus__();}var e = document.createEvent('HTMLEvents');var evt = '%s';e.initEvent(evt, false, true);/*console.log('dispatch ' + evt + ' event');*/document.dispatchEvent(e);})();" used in: Lio/dcloud/common/adapter/ui/webview/WebLoadEvent;->onPlusreadyEvent(Landroid/webkit/WebView; Ljava/lang/String; Ljava/lang/String;)V
"javascript:(function(){if(!((window.__html5plus__&&__html5plus__.isReady)?__html5plus__:(navigator.plus&&navigator.plus.isReady)?navigator.plus:window.plus)){window.__load__plus__&&window.__load__plus__();}var e = document.createEvent('HTMLEvents');var evt = '%s';e.initEvent(evt, false, true);/*console.log('dispatch ' + evt + ' event');*/document.dispatchEvent(e);})();" used in: Lio/dcloud/common/adapter/ui/WebParentView;->onConfigurationChanged(Landroid/content/res/Configuration;)V
"javascript:(function(){if(!((window.__html5plus__&&__html5plus__.isReady)?__html5plus__:(navigator.plus&&navigator.plus.isReady)?navigator.plus:window.plus)){window.__load__plus__&&window.__load__plus__();}var e = document.createEvent('HTMLEvents');var evt = '%s';e.initEvent(evt, false, true);/*console.log('dispatch ' + evt + ' event');*/document.dispatchEvent(e);})();" used in: Lio/dcloud/common/core/ui/b;->onExecute(Lio/dcloud/common/DHInterface/ISysEventListener$SysEventType; Ljava/lang/Object;)Z
"javascript:(function(){var b=document.createEvent('HTMLEvents');var a='%s';b.url='%s';b.href='%s';b.initEvent(a,false,true);console.error(a);document.dispatchEvent(b);})();" used in: Lio/dcloud/common/adapter/ui/webview/WebLoadEvent;->onPageFinished(Landroid/webkit/WebView; Ljava/lang/String;)V
"javascript:(function(){var container = document.getElementsByTagName('head')[0];\nvar script = document.createElement('script');\nscript.type = 'text/javascript';\nscript.src = '" used in: Lio/dcloud/common/adapter/ui/AdaWebview;->wrapAppendJsFile(Ljava/lang/String; I)Ljava/lang/String;
'javascript:(window.postMessage = function(message, targetOrigin) {if (message == null || !targetOrigin) return;' used in: Lcom/taobao/weex/ui/view/WXWebView$1;->onPageFinished(Landroid/webkit/WebView; Ljava/lang/String;)V
"javascript:var container = document.getElementsByTagName('head')[0];\nvar addStyle = document.createElement('style');\naddStyle.rel = 'stylesheet';\naddStyle.type = 'text/css';\naddStyle.innerHTML = " used in: Lio/dcloud/common/adapter/ui/AdaWebview;->loadCssFile()Z
'javascript:window.__needNotifyNative__=true;' used in: Lio/dcloud/common/core/ui/h;->a(Landroid/view/MotionEvent;)V

中危

检测到5处setSavePassword密码明文存储漏洞。

位置: classes.dex
com.taobao.weex.ui.view.WXWebView;
io.dcloud.feature.ad.dcloud.ADHandler;
io.dcloud.feature.ad.dcloud.ADWebView;
io.dcloud.common.adapter.ui.webview.SysWebView;
io.dcloud.common.adapter.ui.webview.WebViewFactory;

webview的保存密码功能默认设置为true。Webview会明文保存网站上的密码到本地私有文件”databases/webview.db”中。对于可以被root的系统环境或者配合其他漏洞(如webview的同源绕过漏洞),攻击者可以获取到用户密码。
建议:显示设置webView.getSetting().setSavePassword(false)。

参考案例:
www.wooyun.org/bugs/wooyun-2010-021420
www.wooyun.org/bugs/wooyun-2013-020246

参考资料:
http://wolfeye.baidu.com/blog/
www.claudxiao.net/2013/03/android-webview-cache/

低危

检测到2处AES/DES弱加密风险。

位置: classes.dex
Lio/dcloud/common/util/AESHelper;->decrypt([B Ljava/lang/String;)[B
Lio/dcloud/common/util/AESHelper;->encrypt([B Ljava/lang/String;)[B

使用AES/DES/DESede加密算法时,如果使用ECB模式,容易受到攻击风险,造成信息泄露。建议在使用AES/DES/DESede加密算法时,应显示指定使用CBC或CFB加密模式

参考资料:
http://blog.csdn.net/u013107656/article/details/51997957
https://developer.android.com/reference/javax/crypto/Cipher.html
http://drops.wooyun.org/tips/15870
https://developer.android.com/training/articles/keystore.html
http://wolfeye.baidu.com/blog/weak-encryption/
http://www.freebuf.com/articles/terminal/99868.html

低危

非debug包,需要通过打包平台proguard脚本,移除大部分系统输出代码。
经扫描该包仍存在大量系统输出代码,共发现10处系统输出代码.(此处扫描的系统输出代码,是指调用System.out.print*输出的,本应在打包平台移除的系统输出代码.)
各个bundle系统输出代码详情如下:

位置: classes.dex
io.dcloud.common.adapter.util.AndroidResources;
com.bumptech.glide.disklrucache.DiskLruCache;
io.dcloud.common.util.net.NetWork;
io.dcloud.common.a.d$11;
io.dcloud.feature.barcode2.decoding.CaptureActivityHandler;
io.dcloud.common.core.a.a$3;
io.dcloud.common.adapter.util.MobilePhoneModel;
io.dcloud.common.util.AESHelper;
io.dcloud.feature.nativeObj.richtext.RichTextParser;
com.bun.miitmdid.core.Utils;

低危

检测到2处主机名弱校验检测漏洞。

位置: classes.dex
com.nostra13.dcloudimageloader.core.download.BaseImageDownloader$2;->verify(Ljava.lang.String; Ljavax.net.ssl.SSLSession;)Z
io.dcloud.a.m$b$4;->verify(Ljava.lang.String; Ljavax.net.ssl.SSLSession;)Z

自定义HostnameVerifier类,却不实现其verify方法验证域名直接返回true,直接接受任意域名。建议:
对SSL证书进行强校验,包括签名CA是否合法、证书是否是自签名、主机域名是否匹配、证书是否过期等。

参考资料:
http://drops.wooyun.org/tips/3296
https://www.91ri.org/12534.html

低危

检测到2处地方在自定义实现的WebViewClient类在onReceivedSslError调用proceed()方法。

位置: classes.dex
io.dcloud.WebviewActivity$2;->onReceivedSslError(Landroid.webkit.WebView; Landroid.webkit.SslErrorHandler; Landroid.net.http.SslError;)V
io.dcloud.feature.ad.dcloud.ADWebView$1;->onReceivedSslError(Landroid.webkit.WebView; Landroid.webkit.SslErrorHandler; Landroid.net.http.SslError;)V

Android WebView组件加载网页发生证书认证错误时,会调用WebViewClient类的onReceivedSslError方法,如果该方法实现调用了handler.proceed()来忽略该证书错误,则会受到中间人攻击的威胁,可能导致隐私泄露。建议:
当发生证书认证错误时,采用默认的处理方法handler.cancel(),停止加载问题页面当发生证书认证错误时,采用默认的处理方法handler.cancel(),停止加载问题页面。

参考案例:
http://www.wooyun.org/bugs/wooyun-2010-0109266

参考资料:
https://jaq.alibaba.com/blog.htm?id=60
http://wolfeye.baidu.com/blog/webview-ignore-ssl-error/

警告

检测到3处addFlags使用Intent.FLAG_ACTIVITY_NEW_TASK。

位置: classes.dex
io.dcloud.common.util.LoadAppUtils;->getDataAndTypeIntent
io.dcloud.common.util.LoadAppUtils;->uninstall
io.dcloud.feature.device.DeviceFeatureImpl$5;->onDenied

APP创建Intent传递数据到其他Activity,如果创建的Activity不是在同一个Task中打开,就很可能被其他的Activity劫持读取到Intent内容,跨Task的Activity通过Intent传递敏感信息是不安全的。建议:
尽量避免使用包含FLAG_ACTIVITY_NEW_TASK标志的Intent来传递敏感信息。

参考资料:
http://wolfeye.baidu.com/blog/intent-data-leak

警告

检测1处組件設置了android.intent.category.BROWSABLE属性。
io.dcloud.PandoraEntry


在AndroidManifest文件中定义了android.intent.category.BROWSABLE属性的组件,可以通过浏览器唤起,这会导致远程命令执行漏洞攻击。建议:
(1)APP中任何接收外部输入数据的地方都是潜在的攻击点,过滤检查来自网页的参数。
(2)不要通过网页传输敏感信息,有的网站为了引导已经登录的用户到APP上使用,会使用脚本动态的生成URL Scheme的参数,其中包括了用户名、密码或者登录态token等敏感信息,让用户打开APP直接就登录了。恶意应用也可以注册相同的URL Sechme来截取这些敏感信息。Android系统会让用户选择使用哪个应用打开链接,但是如果用户不注意,就会使用恶意应用打开,导致敏感信息泄露或者其他风险。

參考案例:
http://www.wooyun.org/bugs/wooyun-2014-073875
http://www.wooyun.org/bugs/wooyun-2014-067798

参考资料:
http://wolfeye.baidu.com/blog/intent-scheme-url/
http://www.jssec.org/dl/android_securecoding_en.pdf
http://drops.wooyun.org/mobile/15202
http://blog.csdn.net/l173864930/article/details/36951805
http://drops.wooyun.org/papers/2893

警告

检测到6潜在的XSS漏洞。

位置: classes.dex
io.dcloud.feature.ad.dcloud.ADWebView;->(Landroid.content.Context;)V
com.taobao.weex.ui.view.WXWebView;->initWebView(Landroid.webkit.WebView;)V
io.dcloud.common.adapter.ui.webview.SysWebView;->init()V
io.dcloud.feature.weex.adapter.webview.DCWXWebView;->initWebView(Landroid.webkit.WebView;)V
com.taobao.weex.ui.component.WXEmbed$FailToH5Listener;->onException(Lcom.taobao.weex.ui.component.NestedContainer; Ljava.lang.String; Ljava.lang.String;)V
io.dcloud.WebviewActivity;->a(Landroid.webkit.WebView;)V

允许WebView执行JavaScript(setJavaScriptEnabled),有可能导致XSS攻击。建议尽量避免使用。
(1)API等于高高于17的Android系统。出于安全考虑,为了防止Java层的函数被随意调用,Google在4.2版本之后,规定允许被调用的函数必须以@JavascriptInterface进行注解。
(2)API等于高高于17的Android系统。建议不要使用addJavascriptInterface接口,以免带来不必要的安全隐患,如果一定要使用该接口,建议使用证书校验。
u(3)使用removeJavascriptInterface移除Android系统内部的默认内置接口:searchBoxJavaBridge_、accessibility、accessibilityTraversal。

参考案例:
www.wooyun.org/bugs/wooyun-2015-0140708
www.wooyun.org/bugs/wooyun-2016-0188252

参考资料:
http://jaq.alibaba.com/blog.htm?id=48
http://blog.nsfocus.net/android-webview-remote-code-execution-vulnerability-analysis

警告

检测到4处IvParameterSpec的使用。

位置: classes.dex
io.dcloud.common.c.a;->a([B Lio.dcloud.common.c.a$c;)Lio.dcloud.common.c.a$a;
io.dcloud.common.c.a;->b(Lio.dcloud.common.c.a$a; Lio.dcloud.common.c.a$c;)[B
io.dcloud.common.util.AESUtil;->createCipher(I [B Ljava.lang.String; [B)Ljavax.crypto.Cipher;
io.dcloud.ep.a;->b(Ljava.lang.String;)Ljavax.crypto.spec.IvParameterSpec;

使用IVParameterSpec函数,如果使用了固定的初始化向量,那么密码文本可预测性高得多,容易受到字典攻击等。建议禁止使用常量初始化矢量构造IVParameterSpec,使用聚安全提供的安全组件。

参考资料:
http://drops.wooyun.org/tips/15870
https://developer.android.com/training/articles/keystore.html
http://wolfeye.baidu.com/blog/weak-encryption/
http://www.freebuf.com/articles/terminal/99868.html

警告

检测到1处provider的grantUriPermissions设置为true。
io.dcloud.common.util.DCloud_FileProvider


grant-uri-permission若设置为true,可被其它程序员通过uri访问到content provider的内容,容易造成信息泄露。

参考资料:
https://security.tencent.com/index.php/blog/msg/6

警告

检测到1处使用空Intent构造PendingIntent。

位置: classes.dex
io.dcloud.common.adapter.ui.webview.SysWebView$3;->onCallBack(I Landroid.content.Context; Ljava.lang.Object;)Ljava.lang.Object;

使用pendingIntent时候,如果使用了一个空Intent,会导致恶意用户劫持Intent的内容。禁止使用空intent去构造pendingIntent。建议:
禁止使用空intent去构造pendingIntent。

参考资料:
http://wolfeye.baidu.com/blog/pendingintent-leak-information
http://bbs.mob.com/thread-5249-1-1.html

警告

检测到10处使用了加解密算法。密钥处理不当可能会导致信息泄露。

位置: classes.dex
io.dcloud.common.util.AESUtil;->createCipher(I [B Ljava.lang.String; [B)Ljavax.crypto.Cipher;
io.dcloud.common.util.AESHelper;->createKey(Ljava.lang.String;)Ljavax.crypto.spec.SecretKeySpec;
dc.squareup.okio.HashingSource;->(Ldc.squareup.okio.Source; Ldc.squareup.okio.ByteString; Ljava.lang.String;)V
dc.squareup.okio.ByteString;->hmac(Ljava.lang.String; Ldc.squareup.okio.ByteString;)Ldc.squareup.okio.ByteString;
io.dcloud.common.c.a;->a()Lio.dcloud.common.c.a$c;
io.dcloud.ep.a;->a([B Ljava.lang.String; Ljava.lang.String;)[B
io.dcloud.common.c.a;->a(Ljava.lang.String; [B I)Lio.dcloud.common.c.a$c;
dc.squareup.okio.Buffer;->hmac(Ljava.lang.String; Ldc.squareup.okio.ByteString;)Ldc.squareup.okio.ByteString;
dc.squareup.okio.HashingSink;->(Ldc.squareup.okio.Sink; Ldc.squareup.okio.ByteString; Ljava.lang.String;)V
io.dcloud.common.c.a;->a(Ljava.lang.String;)Lio.dcloud.common.c.a$c;

参考案例:
http://www.wooyun.org/bugs/wooyun-2010-0105766
http://www.wooyun.org/bugs/wooyun-2015-0162907
http://www.wooyun.org/bugs/wooyun-2010-0187287

参考资料:
http://drops.wooyun.org/tips/15870
https://developer.android.com/training/articles/keystore.html


动态扫描发现风险点

风险等级 风险名称

服务端分析

风险等级 风险名称

警告

检测到?处XSS漏洞。
开发中...

警告

检测到?处XSS跨站漏洞。
开发中...

应用证书