InShot v2.200.1530 (com.camerasideas.instashot) — 全量第三方库清单与构建系统痕迹

分析对象:反编译源码 /Users/ccc/Downloads/app/out/jadx_src/sources/、解码资源 out/jadx_src/resources/、解压 APK apk_extract/(原 APK:apk/Inshot_v2.200.1530.apk)

0. 总览数据

1. 第三方库清单(包名前缀 | 类数(kept) | 版本线索 | 用途)

媒体 / 图像

包/证据 类数 版本线索 用途
ExoPlayer com.google.android.exoplayer2 1011 VERSION="2.17.1"、VERSION_INT=2017001(ExoPlayerLibraryInfo),模块含 ui/ext/okhttp 视频播放器(全模块 2.17.1)
Glide com.bumptech.glide 50(kept)+混淆其余 无版本常量;有 okhttp3/webp/gifframe 集成模块 + GeneratedAppGlideModuleImpl;InShotModule.java 是 Glide @GlideModule(extends AppGlideModule),不是 Dagger module 图片加载
Fresco com.facebook.{imagepipeline,drawee,fresco,common,animated,soloader,webpsupport} 113(+SoLoader 29) 无常量;原生 lib 佐证:libimagepipeline.solibgifimage.solibnative-imagetranscoder.solibstatic-webp.so 图片管线
Picasso com.squareup.picasso 38 BuildConfig(BUILD_TYPE=release,VERSION_NAME 空) 图片加载(遗留)
PhotoView com.github.chrisbanes.photoview 15 BuildConfig VERSION_NAME="1.0"(AAR 自带) 图片缩放查看
GPUImage jp.co.cyberagent.android.gpuimage 78 无常量(2.x 推断) 滤镜;原生 libgpuimage-library.so/libgpuimage-extension.so + assets 两个 .glsl
AndroidGifDrawable libpl_droidsonroids_gif.so(pl.droidsonroids.gif,java 部分被混淆) GIF 播放
Volley com.android.volley ~15 老网络库(遗留)
AndroidYouTubePlayer com.pierfrancescosoffritti.androidyoutubeplayer 2 YouTube 嵌入
AnimatedVectorDrawable androidx.vectordrawable-animated (version 文件) 1.1.0 矢量动画

网络 / 序列化

包/证据 类数 版本线索 用途
OkHttp okhttp3(仅 PublicSuffixDatabase 保留) 1 kept UA 字符串 "okhttp/4.11.0"(2 处) HTTP 客户端
Retrofit2 混淆为 tj/p348ri KotlinExtensions 存在 → ≥2.6;推断 2.9.x REST 框架
RxJava2 混淆(p405uh = RxJava2CallAdapter) 推断 2.2.x 响应式编程
Gson com.google.gson 78 disableJdkUnsafe(2.9.0+)与 Gson.newJsonWriter(2.4+);无 JsonReader/JsonWriter.Strictness(2.11.0 引入)→ Gson 2.9~2.10.x(最可能 2.10.1) JSON
protobuf-lite com.google.protobuf 212 javalite 运行时(内含 IS_ROBOLECTRIC 运行时探测) 序列化
gatewayprotocol gatewayprotocol.v1 137 Unity Ads 4.12.5 内部 Gateway 协议(导入方全是 com.unity3d.ads.core) Unity 广告协议

广告(最大头,合计 ~6,000 类)

SDK 类数 版本线索(代码常量 / BuildConfig)
AppLovin MAX com.applovin 615 AppLovinSdk.VERSION="13.3.1";assets/ad-viewer v1.37.1(AdViewer web 包)
├ Fyber 适配 com.applovin.mediation.adapters.inneractive BuildConfig 8.3.8.0(→ Fyber SDK 8.3.8)
├ Unity 适配 …adapters.unityads 4.12.5.0
├ Vungle 适配 …adapters.vungle 7.5.0.3
├ InMobi 适配 …adapters.inmobi 10.8.7.0
├ AdMob 适配 …adapters.google 24.5.0.0
├ PubMatic 适配 …adapters.pubmatic 4.8.0.0
Unity Ads com.unity3d 933 SdkProperties.getVersionName()="4.12.5"、versionCode 41205
Vungle com.vungle.ads 381 BuildConfig VERSION_NAME="7.5.0"(DEBUG=false,BUILD_TYPE=release)
InMobi com.inmobi 926 InMobiSdk.getVersion()="10.8.7"
Fyber/Inneractive com.fyber 1492 适配器 8.3.8.0;assets fyb_*ia_*(endcard/mraid)
PubMatic OpenWrap com.pubmatic.sdk 281 适配器 4.8.0.0;assets pob_*.js/svgPubMatic_Logo.svg
TradPlus com.tradplus.ads + com.tp 620+163 BuildConfig VERSION_NAME="14.4.0.1"
DigitalTurbine Ignite com.digitalturbine.ignite 2
Giphy SDK com.giphy.sdk.ui 57 META-INF verification.properties 时间戳 2024-08-06
OM SDK com.iab.omid(多广告网副本) 544
AdMob com.google.android.gms.ads 518 play-services-ads 24.5.0(props)
UMP 隐私 com.google.android.ump ~10 user-messaging-platform 3.2.0(props)

Google / Firebase / Play

组件 版本线索
Play Billing billing.properties 7.1.1
Play App Update(+ktx) app-update.properties 2.1.0;com.google.android.play.core.install
Play Integrity integrity.properties 1.5.0;com.google.android.play.core.integrity
core-common / googleid 2.0.4 / 1.1.1
Firebase com.google.firebase 77 类:analytics、messaging(FCM)、crashlytics、remoteconfig、appcheck、storage、sessions、installations、abt、iid;props:firebase-analytics 22.5.0、firebase-annotations 16.2.0、firebase-auth-interop 18.0.0、firebase-encoders 17.0.0、firebase-iid-interop 17.1.0、firebase-measurement-connector 20.0.1
Play Services 全家桶 com.google.android.gms7,980 类;props:ads 24.5.0、ads-identifier 18.2.0、auth 21.1.1、auth-api-phone 18.0.2、base 18.5.0、basement 18.5.0、cloud-messaging 17.2.0、cronet 18.0.1、fido 21.0.0、location 19.0.0、measurement* 22.5.0、places-placereport 17.0.0、stats 17.0.2、tasks 18.2.0、appset 16.0.2
Firebase Transport com.google.android.datatransport(+cct/runtime)

AndroidX(全部版本来自 META-INF/*.version,kept 类约 505 个,内部类部分被混淆)

core 1.15.0、core-ktx 1.15.0、appcompat 1.7.1、fragment 1.8.8、activity 1.8.1、lifecycle 全套 2.9.2、recyclerview 1.3.2、viewpager2 1.1.0-beta02、viewpager 1.0.0、material 1.12.0(com.google.android.material,105 kept)、splashscreen 1.0.1、profileinstaller 1.4.0、work-runtime(-ktx) 2.7.0、datastore(-core/-preferences) 1.1.3、room-runtime 2.2.5(旧,2020,疑似传递引入)、sqlite 2.1.0、webkit 1.11.0-alpha02(含 org.chromium 54 类)、credentials 1.3.0-beta01、privacysandbox.ads 1.1.0-beta11、window 1.3.0、media 1.4.3、exifinterface 1.3.6、emoji2 1.3.0、browser 1.8.0、tracing 1.2.0、transition 1.5.0、startup 1.2.0、dynamicanimation 1.0.0、databinding(baseAdapters/Ktx/library/viewbinding) 8.12.3、annotation-experimental 1.5.1 等约 80 个 artifact。

Kotlin / 协程 / 存储 / 工具

证据 版本
kotlinx-coroutines kotlinx_coroutines_{android,core,play_services}.version ×3;DebugProbesKt.bin(apk 根,coroutines debug probes) 1.10.2
Kotlin stdlib kotlin/*.kotlin_builtinskotlin/coroutines/jvm 与编译器 2.1.0 相关
MMKV com.tencent.mmkv.MMKV + com.tencent.mars.xlog + libmmkv.so + libmarsxlog.so MMKV.version() 是 native,Java 侧无常量(so 内无可见版本串)
EventBus org.greenrobot.eventbus 3.x
ButterKnife butterknife(31 类)+ 应用内大量 *_ViewBinding.java 10.x(无常量)
Booster com.didiglobal.booster.instrument(ShadowAsyncTask/ShadowThread/ShadowTimer/ActivityThreadHooker/FinalizerWatchdogDaemonKiller…) 无常量;构建期字节码插桩已生效(应用代码里遍布 ShadowExecutors 等调用)
HiddenApiBypass org.lsposed.hiddenapibypass —(广告 SDK 用)
FMOD org.fmod + libfmod.so
vlayout com.alibaba.android.vlayout(VirtualLayoutManager) 1.x(推断)
UltraViewPager com.tmall.ultraviewpager
Banner com.youth.banner 2.x
Toaster com.hjq.toast
RoundedImageView com.makeramen.roundedimageview 2.3.x(推断)
VerticalSlideView com.tokaracamara.android.verticalslidevar
KPSwitch cn.dreamtobe.kpswitch
filepicker com.popular.filepicker(仅 exception 包保留)
Commons Math3 assets/org/apache/commons/math3(Sobol new-joe-kuo-6.1000 等资源,无 java 引用) 被混淆依赖的残留
反篡改 com.cer.CerChecker + libcer.so + assets/cer.cer(JSON)+ openssl_pub.key 自研
自研模块 com.camerasideas(3,130)、com.inshot(625)、com.android.*(157:inshot/mvvm/video/videostabilize/inpaint/glPixelReader/skigifcore…)、org.instory(159,视频引擎)、com.shantanu(117:aigc/iap/mmkv/mobileads/network/remove/stickershop/storage/tenor/tts)、com.yuvcraft(11:ai_flash/ai_task/speechrecognize)、com.graphics(7)

明确结论:

  1. InShotModule.java = Glide @GlideModule,不是 Dagger module;
  2. 全库无 Dagger / Dagger-Hilt / Guice(唯一 "dagger" 命中是 Fyber 代码里的 HTML 实体 † = †,8224);
  3. Retrofit / RxJava2 / OkHttp / coroutines 均被混淆但可确证存在。

2. META-INF/ 与签名

文件清单

签名方案与证书(关键发现)

3. assets/ 分类(顶层 115 项,递归 410 文件,共 11MB)

4. 构建痕迹

5. lib/ 对比

6. 测试 / 开发工具痕迹

7. 构建工具链推断