当前位置: 首页 > news >正文

AlphaPi相关硬件驱动提取

初涉硬件编程,在咸鱼上搞了几块AlphaPi和microbit的板鼓捣了一下,alphapi生态不完善,网上又无任何文档,搞封闭,可玩性实在有限,但貌似相关扩展板是可以插microbit的,于是想把这些扩展版用microbit来驱动。

看了核桃编程和量子兔编程的安装程序,从文件结构和文件名称可以确定,软件是用Unity游戏引擎写的,相关资源被打包成Asset Bundle(*.ab)文件,目录路径(量子兔机器人_Data\StreamingAssets\Bundles\Windows\)

按照网上教程去github下载assetStudio和UABE (Unity Asset Bundle Extractor) 就能从*.ab文件中提取出相关资源,assetStudio和UABE都是下载解压即可使用,无需安装,文件仅10M左右。

提取后,发现驱动是microPython编译成.mpy的二进制编码文件,虽然在.ab文件中提取出来的文件名为Python.bytes,但实际上是.mpy文件改了扩展名而已。

用mpy-tool.py对.mpy文件进行处理,得到一份样子有点像是汇编语言但不是汇编语言的代码, 本质来说,mpy-tool.py是把“二进制字节码(Binary Bytecode)转成“人类可读的字节码(Readable Bytecode)” ,mpy-tool.py做的主要是将变量名、函数名、方法名的引用进行解码,使它们映射回原始的可读名称,同时解析代码文件的整体结构。

然后把Readable Bytecode交给chatgpt,让它将其还原成普通microPython代码。

http://www.lryc.cn/news/517221.html

相关文章:

  • 【学习笔记】数据结构(十)
  • Unity中 Xlua使用整理(二)
  • 刚体变换矩阵的逆
  • 高等数学-----极限、函数、连续
  • ubuntu 创建服务、查看服务日志
  • 如何监控批量写入的性能瓶颈?
  • Ubuntu挂载Windows 磁盘,双系统
  • 【雷达】雷达的分类
  • Word中所有的通配符使用方式[Word如何批量删除中文标点符号,英文标点符号,英文字母符号,数字符号,中文汉字符号]
  • OpenCV相机标定与3D重建(43)用于计算矫正和重映射的变换函数initUndistortRectifyMap()的使用
  • ansible-api分析(Inventory)
  • 使用FDBatchMove的几个问题总结
  • 人工智能前沿探讨:从Transformer架构到机器意识与迁移学习的应用
  • Flutter Web 中文字体显示异常问题
  • 【Nginx】设置https和http同时使用同一个端口访问
  • clickhouse query_log 常用查询语句
  • 【Linux】RPMSG通讯协议介绍
  • Idea(中文版) 项目结构/基本设置/设计背景
  • 深入理解 Android 中的 ActivityInfo
  • Linux初识——基本指令
  • c/c++ 里的进程间通信 , 管道 pipe 编程举例
  • 【C++笔记】红黑树(RBTree)深度剖析和AVL树的对比分析
  • Pytorch初学
  • Golang学习笔记_20——error
  • 基于Vite+TS初始项目 | 不断更新
  • R语言装环境Gcc报错以及scater包的安装
  • 关于量子神经网络的思考
  • 注册中心如何选型?Eureka、Zookeeper、Nacos怎么选
  • 使用 Conda创建新的环境遇到的问题
  • Flutter项目开发模版,开箱即用(Plus版本)