本帖最后由 ICCCCC 于 2020-7-7 16:40 编辑
【PW200烧录器评测】深度评测
0x00:开箱
创芯工坊介绍
创芯工坊科技(深圳)有限公司以“创新驱动产业,融合创造价值”为主旨,致力于以“集成电路+互联网”的新模式,打造精细化的产业互联网平台。旗下创芯工坊平台(https://www.icworkshop.com) 基于互联网技术,同时融合云存储、云烧录及网络加密技术,运用电子商务运营模式,将传统芯片程序交付模式转变为在线交付,实现方案交付的软硬分离,极大程度保护了开发者的知识产权权益,同时提高了方案交付效率。
Power Writer 简介
Power Writer 是创芯工坊官方推出的 Debugger + Programmer,主要面对个人开发者和小批量试产使用,授权控制领域。随着产品规划的推进,将会推出更多不同类型产品来满足不同类型的需求。
产品参数:
产品尺寸:92.000mm * 56.000mm * 16.000mm
工作电压:DC5V
产品功耗:30mA@5V~100mA@5V
Power Writer 特性简介
Power Writer 系列产品提供丰富的功能设定,让您无论在开发测试,还是实际量产、权限控制上都做到游刃有余,下面是功能特定的不完全列表,随着产品的不断升级、功能将会更加丰富。
特性列表概览 (安全部分: 约 30 项):
- 客户端软件采用 C++ 11 开发,而非其它厂商采用的是 C#/VB 等语言开发,虽然可以加密,但是通过一些技术手段可以获取到客户端软件源代码,导致后续的数据保护都成为一纸空谈。
- 客户端除了使用 C++ 开发之外,内部代码上采用了大量的检测技术,Hash/加密关键数据,用于检测内存中的软件数据是否被读取或被篡改等异常操作,在每一个环节都确保用户数据的安全。
- 客户端软件采用商业保护软件,做了大量的逆向分析检测,多层防护。
- 客户端采用双证书 EV 代码签名,用户可以直观的判断软件来源是否来自官方版本,如果软件被篡改,用户将收到提示。
- 客户端支持多种加密算法、滚码算法、文件内部采用 Tag 标记和数据验证,而不是将密码存储在文件中,类似密码学中 zip 的加密方式。只有当密码输入正确时才能获取到真实数据,而大多密码长度为 16 字节以上。在代码开源的情形下,暴力**都并非易事,确保用户数据的极致安全。
- 客户端软件到 Power Writer 的协议加密,采用非对称加密算法,在传输过程中不交换密钥。逆向分析人员只有同时**了烧录器和 PC 端软件,并且取得加密的公钥和私钥时才能解密数据包。
- 客户端软件到 Power Writer 的协议同时做了动态滚码加密,在非对称 ECC 加密的基础上,多次发送同一个数据包,将得到不同的 packet。
- 客户端配合创芯工坊使用时,同时会经过服务端的验证,如果软件有任何修改,服务端将不会下发远程烧录数据。
- 通讯协议签名校验,任何一帧数据都无法被篡改。
- 支持烧录目标芯片协议层加密。
- 支持烧录目标芯片动态加密、数据验证、读写防护和防注入。 (领先技术,一芯一密)
- 支持目标芯片写入读保护之后再写入部分数据,确保在烧录芯片数据烧录完但没有写入 Option Byte 时断开芯片,导致芯片会被读取的可能。(注:部分芯片不支持)
- Power Writer 硬件采用支持内存读取保护的芯片,支持 2 级保护的 L4 系列芯片,确保烧录器固件不被读取。
- Power Writer 固件内置绑定算法,每个 Power Writer 的固件都是独一无二的,升级固件时,由系统内部自动生成正确的固件。
- Power Writer 内置固件校验算法 Boot Loader、App 双验证。如果通过极端手段**拿到了烧录器固件,任何篡改都导致固件无法正确运行。
- Power Writer 将用户敏感数据存在在核心区域,并经过多重加密算法加密。
- Power Writer 每一台烧录器都有独立的 SN/OEM/并且支持和用户账户绑定 (开发中)。
- 支持服务器远程在线授权,可以通过创芯工坊内建的授权服务器对量产进行授权控制。
- 支持自三方自建服务器在线授权,通过采用创芯工坊授权服务器开发包,第三方用户可以快速搭建自己的授权服务器和自定义授权算法,自主控制产品的安全授权关键算法,创芯工坊作为平台提供方进行量产烧录,从根本上解决安全上的担忧。
- 支持内建智能矩阵离线授权,而非其它友商的固定加密算法(固定加密算法由于代码是一致的,导致反编译的代码有规律可循,给**者可乘之机)。
- 支持 ICWKEY 非对称加密算法硬件授权算法,详见硬件授权模块的用户手册。
- 支持自定义 ICWKEY 的二次开发。(需取得创芯工坊授权)
特性列表概览 (功能部分: 约 110 项):
- 支持加密 Project
- 支持导入导出项目
- 支持加载加密项目到 Power Writer, 用于离线量产控制
- 支持从 Power Writer 读取离线项目。(读取需要项目密码,安全性所需)
- 支持在线芯片 Program Flash 区域读取
- 支持在线芯片 Program Flash 区域读取地址,读取大小设置,正片读取功能,方便用户读取目标芯片芯片的固件数据
- 支持在线芯片查空,通过此项功能,用户可快速判断芯片是否是空片
- 支持在线擦除芯片,开发者、用户可直接通过软件擦除目标芯片
- 支持在线烧写 Program Flash 区域的数据,用户可通过在线编程的方式写入固件速度,而不是必须通过离线,或者 MDK/IAR/CUBEIDE 等 Debugger 方式写入
- 支持在线校验 Program Flash 数据
- 支持在线自动编程,自动执行擦除、写入、校验、更新 Option Byte 功能
- 支持在线复位目标芯片
- 支持设置读保护:可设置 Level-0,Level-1,Level-2 级别,并自动识别用户的保护位是否开启
- 支持完整的 Option Byte 设置列表
- 支持完整的 Option Byte 的默认设置
- Option Byte 支持多国语言
- 支持自动识别 Option Byte 中的选项,执行对应的操作
- 支持在线恢复出厂 Option Byte
- 支持在线读取 Option Byte
- 支持读取有锁芯片的选项字节
- 支持在线写入 Option Byte
- 支持保存用户自定义选项字节,用户可以将设置好的选项字节保存到文件,可以将其
- 发送给烧录厂或者是用于其他用途
- 支持加载用户自定义选项字节,可以从保存的选项字节加载到项目中
- Option Byte 动态实时同步,连接上目标芯片自动同步到 PC 客户端
- 支持 Bank 自动识别
- 支持多种 Option Byte 更新方式
- 1.烧录前无操作 -> 烧录后无操作
- 2.烧录前误操作 -> 烧录后写入用户自定义 Option Byte
- 3.烧录前 Option Byte 恢复出厂设置 -> 烧录后无操作
- 4.烧录前 Option Byte 恢复出厂设置 -> 烧录后写入用户自定义 Option Byte
- 支持在线读取目标芯片 Chip ID,方便用户检查 Chip ID,并且对于非连续的 Chip ID 自动按照连续地址的形式给出。
- 支持在线任意地址读取目标芯片内部数据,主要用于开发者 Debug 分析目标芯片,并可任意设置读取地址和读取大小,详见相关章节,主要用于:
- 1.读取任意内存数据
- 2.读取任意 Flash 数据
- 3.读取任意寄存器数据等
- 支持软件自动在线升级(有网络的情况下)
- 支持多国语言,完整支持
- 支持主流 ARM Cortex-M 芯片 (目前支持 STM32 全系列,适配不断更新中...)
- 支持多种擦除方法:按 Page 擦除、全片擦除、Bank 自动识别擦除 (无需用户选择)
- 支持多种电压选择,1.8V/3.3V/5.0V/或者是用户自定义参考电压
- 支持编程速度自由调节,5Khz~10MHZ 速度自由调节
- 支持蜂鸣器在线提示音,定义规则请参考信号定义描述章节
- 支持序列号写入,可设置序列号地址、初值、步长、大小端模式
- 支持序列号 10 进制和 16 进制切换显示
- 支持序列号地址、合法性检查(自动检查是否和其他设置地址重叠)
- 支持离线烧录次数设置,最高可到 42 亿次
- 支持自动芯片检测,芯片放入时可自动启停烧录支持设置自动芯片检测的稳定时间,默认 100ms
- 支持设置自动烧录芯片时拿走延时时间,默认 100ms
- 支持烧录次数设置信息的 10 进制和 16 进制显示切换
- 支持烧录次数设定参数的合法性检查
- 支持烧录完目标芯片后启动目标芯片(Reset & Run)
- 支持烧录完目标芯片后关闭电源输出,在批量烧录时,通过烧录完关闭电源输出,可有效保护芯片不会被带电从烧录座取下
- 支持设置烧录前和烧录后供电稳定时间或者掉电稳定时间(开启关闭电源输出选项有效)
- 支持设置 RESET 引脚信号控制,支持以下三种模式
- 1.输出常低电平
- 2.关闭输出(高阻状态)
- 3.输出复位后关闭(烧录前产生复位信号)
- 支持数据校验:校验烧录到目标芯片的数据是否正确,默认开启
- 支持 UID 创芯工坊官方授权服务器在线芯片授权烧录
- 支持 Power Writer 内置离线授权算法对芯片进行授权
- 支持灵活设置 Power Writer 内置离线授权算法的密钥存放地址,密钥大小(4/8/12byte),以及密钥的大小端模式,以及用户自定义密码功能支持用户自定义离线授权算**能,而不是已有的几种模式
- 支持自动生成随机离线授权算法,Power Writer 可自动生成随机离线授权算法,每一种都是唯一的,重复的可能性几乎为零
- 自动生成随机离线授权算法,支持算法强度检查,并提供手动调整参考建议。用户可手工调整,或者重新生成,直到满意为止
- 支持之定义离线授权算法导出 Sample Project,用户只需将导出的源码编译到项目中即可实现离线授权算法,方便快捷
- 通过完善的系统内核调度机制,Power Writer 可同时执行并发操作
- 支持完整的在线操作日志显示,及时提醒用户,日志主要包含以下几种颜色
- 1.浅蓝:代表一般性操作结果
- 2.绿色:代表操作成功
- 3.红色:代表错误,或者其他一些关键信息,比如 Power Writer 断开链接
- 4.黄色:代表警告,操作可能有问题,或者是提示设置可能有问题
- 支持日志重置、保存日志、想保存下操作记录,试试将日志保存下来备份、以便将来遇到问题时可以清楚的看到上一次的操作流程
- 支持加密保存,加载烧录配置参数
- 支持完整芯片 Flash 空间映射,用 HEX 视图显示,用户可以直观的看到加载的原始数据
- 支持 Flash 数据区复制,粘贴操作,用户可以对 Flash 数据区进行编辑
- 支持 Flash 数据区地址跳转,用户可以快速跳转到指定的地址
- 支持多段固件烧录功能,并且对固件数量没有进行限制
- 多段固件可实时看到固件的起始地址,结束地址,大小和 CRC32 信息
- 支持自定义固件地址,用户对 Bin 格式固件自定义地址,并对地址合法性进行检查
- 支持丰富的固件格式,bin/Hex/S19/pkg 格式 (pkg 格式为创芯工坊自定义格式)
- 支持添加随机数组功能,并且不限制随机数组的数量(开发中)
- 支持完整的芯片扇区表查看,可以直观的看到芯片的扇区信息,起始地址,结束地址和大小
- 支持自动识别固件对应的扇区信息,选择固件时可以看到固件对应的扇区
- 支持在线自定义扇区擦除,用户可以在线对指定的扇区进行擦除
- 支持 Bank 自动识别,针对单/双 Bank 芯片,用户同步修改、读取 Option Byte 时,扇区表会跟随 Option Bytes 设置进行切换
- 支持随机填充选定的扇区表,用户可以对 Flash 中剩余的空闲部分填充随机数据
- 支持通过 CTRL 控制信号,启动离线烧录
- 支持手动烧录:按下按键进行烧录
- 支持 LED 状态指示:LED 指示脱机下载器运行状态,四个独立的多彩 LED 显示 POWER/ BUSY / OK / NG 状态,而不是通过一个 LED 显示,更加直观
- 支持创芯工坊服务端远程下载
- 支持创芯工坊芯片量产授权
- 支持第三方自建授权服务器授权
- 支持机台信号给出,可以给出 NG、OK 信号
- 支持设备当前配置读取 (注:部分敏感信息不会被读取显示)
- 支持固件一键升级:简单方便,确保产品升级方便
- 软件自动设备检测:插入设备到 USB 软件自动检测连接,无需手动操作
- 支持烧录器到目标芯片数据加密,可防止用户固件数据被窃取
- 支持数据加密:设备和 PC 通信数据多次加密,确保数据安全性
- 设备存储数据加密:设备中固件存储数据采用多种加密算法确保数据无法被解密
- 支持烧录地址有效性自动检测,确保程序运行正确
- 多固件同事烧录支持地址重叠检查
- 兼容的 SWJ 引脚信号
- 支持 ARM 内核芯片的 Debugger / Trace 功能,Power Writer 不仅仅是一个在线烧录器和量产烧录器,同时也是一个全功能的 Debugger,不仅支持 Cortex-M 芯片的调试,同时也支持 Cortex-A CPU 的 debug
- 主流的 USB HID 通信方式,用于作为 Debugger 调试 ARM 内核芯片
- 支持 CDC 通信,并且 USBHID 和 CDC 可同时在线
|
@ICCCCC :收到
@21小跑堂 正式评测