# Image to PDF

状态：active
Platform：android
Package：com.tapuniverse.phototopdf
Version：1.0.7
Opportunity：2026-06-10-image-to-pdf-png-to-pdf

## 摘要

- 包类型：xapk，inner APK 数：5
- 引擎 / 框架：flutter
- SDK 线索：firebase
- Endpoint candidates：80
- 结论口径：本报告只基于静态 ZIP / Manifest / 字符串证据；不代表真实运行路径已验证。

## 直接证据

- [high] Manifest package id is com.tapuniverse.phototopdf（source: `AndroidManifest.xml`，status: `verified`）
- [high] Manifest declares 13 permissions（source: `AndroidManifest.xml`，status: `verified`）
- [high] Engine/framework markers: flutter（source: `APK file inventory`，status: `verified`）
- [high] Static strings include 80 endpoint candidates（source: `Text/string scan`，status: `verified`）
- [high] Package contains 4 native libraries（source: `APK file inventory`，status: `verified`）

## 推断

- [medium] SDK markers suggest: firebase（source: `Manifest, filenames, and text strings`，status: `inferred`）

## 权限和组件

### 权限

- `android.permission.ACCESS_ADSERVICES_AD_ID`
- `android.permission.ACCESS_ADSERVICES_ATTRIBUTION`
- `android.permission.ACCESS_NETWORK_STATE`
- `android.permission.CAMERA`
- `android.permission.FOREGROUND_SERVICE`
- `android.permission.INTERNET`
- `android.permission.READ_EXTERNAL_STORAGE`
- `android.permission.RECEIVE_BOOT_COMPLETED`
- `android.permission.WAKE_LOCK`
- `android.permission.WRITE_EXTERNAL_STORAGE`
- `com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE`
- `com.google.android.gms.permission.AD_ID`
- `com.tapuniverse.phototopdf.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION`

### 组件

- Activities：biz.cunning.cunning_document_scanner.fallback.DocumentScannerActivity, com.google.android.gms.common.api.GoogleApiActivity, com.google.android.play.core.common.PlayCoreDialogWrapperActivity, com.google.mlkit.vision.documentscanner.internal.GmsDocumentScanningDelegateActivity, com.tapuniverse.photo_to_pdf.MainActivity, io.flutter.plugins.urllauncher.WebViewActivity
- Services：androidx.room.MultiInstanceInvalidationService, androidx.work.impl.background.systemalarm.SystemAlarmService, androidx.work.impl.background.systemjob.SystemJobService, androidx.work.impl.foreground.SystemForegroundService, com.google.android.datatransport.runtime.backends.TransportBackendDiscovery, com.google.android.datatransport.runtime.scheduling.jobscheduling.JobInfoSchedulerService, com.google.android.gms.measurement.AppMeasurementJobService, com.google.android.gms.measurement.AppMeasurementService, com.google.android.gms.metadata.ModuleDependencies, com.google.firebase.components.ComponentDiscoveryService, com.google.mlkit.common.internal.MlKitComponentDiscoveryService
- Receivers：androidx.profileinstaller.ProfileInstallReceiver, androidx.work.impl.background.systemalarm.ConstraintProxy$BatteryChargingProxy, androidx.work.impl.background.systemalarm.ConstraintProxy$BatteryNotLowProxy, androidx.work.impl.background.systemalarm.ConstraintProxy$NetworkStateProxy, androidx.work.impl.background.systemalarm.ConstraintProxy$StorageNotLowProxy, androidx.work.impl.background.systemalarm.ConstraintProxyUpdateReceiver, androidx.work.impl.background.systemalarm.RescheduleReceiver, androidx.work.impl.diagnostics.DiagnosticsReceiver, androidx.work.impl.utils.ForceStopRunnable$BroadcastReceiver, com.google.android.datatransport.runtime.scheduling.jobscheduling.AlarmManagerSchedulerBroadcastReceiver, com.google.android.gms.measurement.AppMeasurementReceiver, dev.fluttercommunity.plus.share.SharePlusPendingIntent
- Providers：androidx.startup.InitializationProvider, biz.cunning.cunning_document_scanner.fallback.DocumentScannerFileProvider, com.google.firebase.provider.FirebaseInitProvider, com.google.mlkit.common.internal.MlKitInitProvider, com.sidlatau.flutteremailsender.FlutterEmailSenderFileProvider, dev.fluttercommunity.plus.share.ShareFileProvider, io.flutter.plugins.imagepicker.ImagePickerFileProvider, net.nfet.flutter.printing.PrintFileProvider

## SDK / Endpoint

### SDK

- `firebase`

### Endpoint candidates

- http://www.apache.org/licenses/
- http://www.apache.org/licenses/LICENSE-2.0
- https://tika.apache.org/
- http://www.isotc211.org/2005/gmd
- http://purl.org/atom/ns
- http://tools.ietf.org/html/rfc7049
- http://docs.oasis-open.org/namespace
- https://tech.ebu.ch/docs/tech/tech3264.pdf
- http://www.digitalpreservation.gov/formats/fdd/fdd000317.shtml
- http://en.wikipedia.org/wiki/Adobe_Illustrator_Artwork
- http://justsolve.archiveteam.org/wiki/Adobe_Illustrator_Artwork
- http://msdn.microsoft.com/en-us/library/windows/hardware/ff549520(v=vs.85).aspx
- http://en.wikipedia.org/wiki/.jar
- https://www.rfc-editor.org/rfc/rfc9239.html#name-text-javascript
- https://www.loc.gov/marc/community/cileader.html
- http://www.iana.org/assignments/media-types/application/msword
- http://en.wikipedia.org/wiki/.doc
- http://en.wikipedia.org/wiki/PDF
- http://www.adobe.com/devnet/pdf/pdf_reference_archive.html
- http://schemas.microsoft.com/office/word/2003/wordml
- http://schemas.microsoft.com/office/2006/xmlPackage
- http://purl.org/rss/1.0/
- https://github.com/Sereal/Sereal/blob/master/sereal_spec.pod
- http://ns.adobe.com/xdp/
- http://ns.adobe.com/xfdf/
- http://developer.apple.com/namespaces/keynote2
- http://developer.apple.com/namespaces/sl
- http://developer.apple.com/namespaces/ls
- http://support.digilite.eu/?digilite=library
- http://en.wikipedia.org/wiki/Forms_Data_Format
- http://www.adobe.com/devnet/acrobat/fdftoolkit.html
- http://www.opengis.net/kml/2.2
- http://earth.google.com/kml/2.0
- http://earth.google.com/kml/2.1
- http://earth.google.com/kml/2.2
- http://iptc.org/std/nar/2006-10-01/
- http://www.iana.org/assignments/media-types/application/vnd.ms-excel
- https://en.wikipedia.org/wiki/3D_Manufacturing_Format
- http://www.iana.org/assignments/media-types/application/vnd.ms-powerpoint
- https://datatracker.ietf.org/doc/html/draft-koster-rep

## Warnings

- apktool manifest decode skipped 4 split APK(s)
- binary AndroidManifest.xml decoded with apktool

## 下一步

- 真机/模拟器验证 onboarding、paywall、首个可感知价值和崩溃路径。
- 把 endpoint candidates 与 HAR / MITM / Frida 动态证据对齐，避免只凭静态字符串下结论。
- 多版本对比权限、SDK、endpoint、native libs 和资源路径变化。
