|
楼主 |
发表于 2019-10-3 00:03
|
显示全部楼层
本帖最后由 无线无极限 于 2020-7-17 13:50 编辑
抽空验证了下用aml_autoscript脚本改mac(小钢炮/armbian/coreelec启动盘),发现只加命令是不行的。原来类似脚本的前面都是有64个字节头信息的,包含了校验码。改文件后校验通不过,脚本没运行,所以不成功。要运行修改后的脚本,需要改动部分header信息,那就用winhex手动改下吧。
1. 把启动U盘里面的aml_autoscript做个备份,原文件做一下修改(由于windows和linux文件的换行规则不同,所以不要用系统记事本,修改后可能会出错,用其他编辑器,如vscode这些),多余的命令去掉,只留改写mac和deviceid部分。如下:- 'V3>芠賛? ? )ha? ? keyman write mac str FC:7C:02:AA:BB:CC
- keyman write mac_wifi str fc:7c:02:aa:bb:cb
- keyman write mac_bt str fc:7c:02:aa:bb:ca
- keyman write deviceid str CAQDB3250000000
- sleep 1
- reboot
复制代码 保存后,用winhex打开。
2. 文件可以分成两段:前面64字节(header)和剩下的部分(data)。header包含了很多信息,需要修改的地方只有有3段:【data区size(数据大小)部分】、【data区CRC校验部分】、【header区CRC校验部分】,见下图:
3. 改写size部分:
文件的字节数减去64,结果转换为16进制,写入上图标识位置。第67、68字节是上面的结果再减去8得来的(0xB6=0xBE-0x08),同样做下修改。
4. 改写data区校验部分:选中0x0064到末尾,用winhex计算块的crc32(工具>计算哈希值>crc32)
用计算出来的值替换掉上图中标识部分。
5. 改写header校验部分
修改上图标识部分为00 00 00 00,然后选中0x0000到0x0063部分(开始的64字节),计算修改后这64个字节的crc32哈希值。
将计算结果再写回到标识部分。保存文件,现在就得到了能正常运行的脚本。
使用方法:盒子插上U盘,终端输入命令:reboot update 。重启机器后稍等一会儿,然后断电拔U盘,就OK了。
记着修改完后把U盘上的aml_autoscript脚本换成原来备份的!
修改后的脚本传上来,可以直接用winhex改上图中标识部分,换成自己机器的mac和串号,然后按上面的步骤修改下文件的头信息就能用了。
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|