做了两个bash脚本方便批处理生成大量密钥文件:
密钥生成:
#!/bin/bash
# 设置要生成的文件夹数量和每个文件夹中的密钥数量
num_folders=50 # 总共有多少个NXXX文件夹
keys_per_folder=50 # 每个文件夹存放多少密钥
for ((i=1; i<=num_folders; i++)); do
# 格式化文件夹名为N001、N002等样式
folder_name=$(printf "N%03d" $i)
# 执行密钥生成命令
python generate_keys.py -n $keys_per_folder -p "$folder_name"
echo "已生成文件夹: $folder_name 包含 $keys_per_folder 个密钥"
done
批量填充生成的密钥并生成新固件
#!/bin/bash
# 定义基础路径
base_dir="/home/FindMy/heystack-nrf5x-master"
source_bin="${base_dir}/release/nrf52810_xxaa-dcdc_s112.bin"
backup_dir="${base_dir}/release/backup"
tools_dir="${base_dir}/tools"
# 确保备份目录存在
mkdir -p "$backup_dir"
# 循环处理从 N001 到 N050
for i in $(seq -w 1 50); do
# 定义当前处理的编号(如 N001, N002, ..., N050)
current_id=$(printf "N%03d" $i)
# 定义密钥文件和备份文件路径
keyfile="${tools_dir}/output-${current_id}/${current_id}_keyfile"
backup_bin="${backup_dir}/nrf52810_xxaa-dcdc_s112_${current_id}.bin"
# 复制原始文件到备份文件
cp "$source_bin" "$backup_bin"
# 查找目标字符串的偏移量
offset=$(grep -oba OFFLINEFINDINGPUBLICKEYHERE! "$backup_bin" | cut -d ':' -f 1)
# 将密钥文件内容写入到备份文件的指定位置
xxd -p -c 100000 "$keyfile" | xxd -r -p | dd of="$backup_bin" skip=1 bs=1 seek="$offset" conv=notrunc
echo "已处理: ${current_id},备份文件保存为: ${backup_bin}"
done
echo "批量处理完成!"
|