PTP/IP协议

2023-11-20

PTP/IP (PTP over IP) 是一个通过IP连接,建立在 Picture Transfer Protocol (PTP) 上的传输层。

我之所以在了解这个东西是因为有一台 Nikon 相机支持 WLAN 和手机传输相片,但是APP设计得极差(叫做 WMU,Wireless Mobile Utility),强制压缩相片不支持传输原图,所以特意反编译了其APP发现他使用了一个叫做PTP的协议来进行传输。经过不懈努力我在 Google Play 上找到了两个不错的替代品 Snaps DSLRCamra Connectcast,可惜都是收费的。

作为一名程序员这怎么能忍??!!

下面来自 http://sourceforge.net/projects/libptp

实施 PTP 的摄像机列表不断增加。大多数 (如果不是全部) 2002年以后设计的 USB 摄像头也在支持这一方案。下面是在他们的相机中实施 PTP 的供应商列表:

  • 柯达
  • 惠普
  • 尼康
  • 佳能
  • 松下
  • 奥林巴斯
  • 可达能
  • 富士
  • 理光
  • 索尼
  • 更多

请注意, 如果你的相机是支持的, 它并不意味着
它能够执行所有的 trigerring 操作 (如捕获,上传文件或调整属性)。索尼相机是糟糕的方案实现的很好的例子, 你唯一能做的就是下载文件。索尼甚至打破了 USB 规格分配所有的相机一样产品/供应商 id。

目前大多数的功能是支持。上传/下载文件,
拍照和设置相机属性支持, 只要您的相机支持它。但是, 有许多供应商扩展不支持.例如佳能使用一些专有的扩展操作拍照 (进入捕捉模式, 延长镜头等), 尼康介绍专有的 PTP 属性。

参考维基百科的介绍 https://en.wikipedia.org/wiki/Picture_Transfer_Protocol

反编译

接下来让我们做一些刺激的事情。

得到 apk 后提取 dex 使用 dex2jar 工具转换后再使用 jd-gui 进行反编译,很开心这个apk没有进行混淆工作。然后我在大量的类中发现了几个关键点:

key

只要我们提取出这几个关键类里的代码也许就能自己实现出来相应功能。过几天再更新。

—————-未完待续—————

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PTP/IP协议 的相关文章

  • Scrum

    产品列表梳理会 Backlog Refinement Meeting 会议目的 Refinement 这个词是加工 提炼的意思 在scrum里 其实就是对下阶段的需求做一个讨论 澄清 细化的一个活动 希望通过这个活动 使得团队能对后续阶段的

随机推荐

  • 默认构造函数、拷贝构造函数、析构函数、赋值构造函数

    最近老是有人问我拷贝构造函数和赋值构造函数 说实话 我会用 但这个概念还真是搞不太清楚 真烦 概念问题少问我 学习笔记 1 析构函数 每个类只有一个析构函数 2 构造函数 每个类可以有多个构造函数 包括 默认构造函数 拷贝构造函数 赋值构造
  • Redis 7.0 核心技术、实战应用、面试题

    Redis 7 0 核心技术与实战应用 Redis 入门概述 01 Redis 是什么 Redis REmote Dictionary Server 远程字典服务器 官网介绍 https redis io docs about 官网定义 R
  • RabbitMQ消息丢失的场景,如何保证消息不丢失?(详细讲解,一文看懂)

    目录 一 RabbitMQ消息丢失的三种情况 二 RabbitMQ消息丢失解决方案 1 针对生产者 方案1 开启RabbitMQ事务 方案2 使用confirm机制 2 针对RabbitMQ 1 消息持久化 2 设置集群镜像模式 3 消息补
  • HDMI CEC协议

    1 前言 本文档仅作为本人记录使用 主要根据工作使用及 HDMI Specification 1 4a pdf 进行终结得出 若有不足会后续补充 2 CEC简介 CEC Consumer Electronics Control 是一套完整的
  • jenkins安装出现该实例似乎已离线等报错和如何卸载干净Jenkins的解决方案

    前段时间在准备使用Jenkins来实现Android自动化打包 但是在安装Jenkins的过程中出现了问题 在安装过程中出现 Jenkins实例似乎已离线 需要我配置代理 还有一个离线安装的文档 可是根据文档并没有明确说明怎么配置 然后我就
  • WPS Office 漏洞复现

    前言 此文章仅用于技术交流 严禁用于对外发起恶意攻击 一 产品简介 WPS Office是金山软件公司开发的 中国领先的办公软件套件 包含文字 表格和演示三个组件 支持创建 编辑各种文档 并具有强大的数据计算 统计和分析功能 其特点包括全面
  • Git提交代码步骤

    目录 1 Git提交代码步骤 1 1 第1步 同步远程仓库代码 git pull 1 2 第1步 查看当前状态 git status 1 3 第2步 提交代码到本地git缓存区 git add 1 4 第3步 推送代码到本地git库 git
  • 让csdn中的静态图动起(firemonkey)

    缘起 错过了登月50周年的日子 7 20 看到了如下卡通图童心大发 让它动起来 https blog csdn net csdnnews article details 96403350 代码下载 链接 https pan baidu co
  • CI/CD

    CICD 是 持续集成 Continuous Integration 持续交付和持续部署 Continuous Deployment 简称 指在开发过程中自动执行一系列从开发到部署的过程中 尽量减少人工的介入 CI CD AND CD CI
  • C++学习笔记12:输入输出流实例整理(文本文件读写,二进制文件读写,一组数据的文件读写,随机访问文件实例

    这也太难记了555老阔疼 文件读写示例 include
  • Kubernetes APIServer,Etcd,controller manager,scheduler 高可用原理

    高可用背后的原理 这两个月和博云合作的项目是要用于客户生产环境的 这个和我以前做的东西有很大的不同 所有基础架构必须给出高可用的解决方案 在这之前我只做过一些流量较小的用户产品或者一些原型项目 一开始基础架构都只给出了单节点的解决方案 结果
  • 微信小程序--给头像添加logo(生成海报同理)

    实现给图片添加logo或者生成海报 其原理是使用canvas 用canvas绘制出想要的图片进行保存 1 在wxml文件中添加canvas canvs层级太高 所以将它定位到屏幕外 不影响页面
  • 嵌入式资源网站

    原题地址 http blog csdn net ce123 article details 6724127 一 MailList 1 MailList大全 网址 http news gmane org 描述 可以查到绝大部分开源项目的Mai
  • LVGL学习(3):页面切换原理和页面管理实现

    在LVGL中 大多情况下是有多个页面的 一般来说页面的切换有两种情况 删除当前的页面 创建新页面加载 保留当前的页面 创建新页面加载 我们来分析一下这两种情况 比如页面1有一个列表框 有三个选项 每个选项对应进入一个页面 假设此时我们的焦点
  • VScode 怎么设置成中文

    1 打开 vscode 2 按快捷键 Ctrl Shift P 3 在 vscode 顶部会出现一个搜索框 4 在搜索栏输入 Configure Display Language 然后回车 5 vscode 里面就会打开一个语言配置文件 6
  • // SPDX-License-Identifier: MIT

    上述声明是指明你写的智能合约采用什么样的对外开放标准 该标准规定了别人是否拥有各种使用权利 其中 MIT 标准说明其他人可以随便用该源码 但出问题不负责
  • SQL各种日期转换代码大全

    select CONVERT varchar getdate 120 2004 09 12 11 06 08 select replace replace replace CONVERT varchar getdate 120 200409
  • html5 亲子模板,亲子阅读手抄报精美模板

    陪着孩子一起读 这点至关重要 不要丢下孩子一人读书 这样孩子很快就会失去读书的兴趣 今天学习啦小编给大家带来了亲子阅读手抄报精美模板 供大家阅读和参考 亲子阅读手抄报图片欣赏 亲子阅读手抄报图片1 亲子阅读手抄报图片2 亲子阅读手抄报图片3
  • 4、动态代理的缓存机制

    1 背景 上一节大致介绍了Proxy动态代理的原理 从几个疑问上面分析 这一节介绍一下动态代理的缓存机制 网上的资源比较少 可以怀着下面几个问题阅读源码 为什么要缓存 缓存的内容是什么 哪里调用的缓存 缓存的实现机制 缓存的过期机制 2 属
  • PTP/IP协议

    PTP IP PTP over IP 是一个通过IP连接 建立在 Picture Transfer Protocol PTP 上的传输层 我之所以在了解这个东西是因为有一台 Nikon 相机支持 WLAN 和手机传输相片 但是APP设计得极