NyarcPro iKuai固件操作教程
固件检测
# 检测固件类型
nyarc --fw-detect iKuai8_x64_3.7.19.bin
# 输出:
# Size: 45.6MB
# Vendor: iKuai
# Format: ikuai_firmware
# Version: 3.7.19
# firmwareid: 10001 (免费版)
固件解密
# 解密rootfs (自动检测fixed/dynamic key)
nyarc --ikuai-decrypt firmware.bin decrypted.xz
# 输出:
# 🔑 Mode: fixed (key=77b1fa93742cb39d3383553e848a5291)
# ✅ Hash verification: SUCCESS
# ✅ Decrypted: decrypted.xz (34.9MB)
密钥说明
| 版本 |
密钥模式 |
密钥 |
| ≤3.7.16 |
Fixed |
77b1fa93742cb39d3383553e848a5291 |
| 3.7.19 |
Fixed |
同上(使用旧版vmlinuz) |
| 3.7.22 Free |
Dynamic |
9be61ec6f06181c3e68de54899c704bb |
| 3.7.22 Ent |
Dynamic |
58c0343a82e1447e89f423e39095a090 |
| 4.0.24 |
Dynamic |
ab25f5f19c125f7620d27906de49f256 |
解压rootfs
# 解密后得到XZ压缩的ext2
xz -d decrypted.xz
# 挂载
mkdir /tmp/rootfs
mount -o loop decrypted /tmp/rootfs
# 浏览
ls /tmp/rootfs/
# bin dev etc lib lib64 mnt proc root sbin sys tmp usr var www
修改rootfs
# SSH密码
sed -i 's|^root:.*|root:$1$naixi233$AgpY4n3TdEDVt/AjLuM/y.:17857:0:99999:7:::|' /tmp/rootfs/etc/shadow
# 云控阻断
sed -i 's/59.110.6.135/127.0.0.1/g' /tmp/rootfs/usr/ikuai/script/client.sh
# 添加启动脚本
sed -i 's/return$/\/sbin\/naixi_boot.sh \&\n\treturn/' /tmp/rootfs/usr/ikuai/script/plugins.sh
重打包
# 卸载
umount /tmp/rootfs
# XZ压缩 (必须CRC32!)
xz -6 --check=crc32 decrypted
# 加密 (fixed key)
nyarc --ikuai-encrypt decrypted.xz encrypted.enc fixed
# 加密 (dynamic key, 指定密钥)
nyarc --ikuai-encrypt decrypted.xz encrypted.enc dynamic 9be61ec6f06181c3e68de54899c704bb
解包
# 一键解包到目录
nyarc --ikuai-unpack firmware.bin /tmp/ikuai/
# 输出:
# /tmp/ikuai/
# ├── header.json ← 固件元信息
# ├── vmlinuz ← 内核
# └── rootfs/ ← 解密+解压后的根文件系统
# ├── etc/
# ├── usr/
# └── ...
# 现在可以修改 /tmp/ikuai/rootfs/ 下的文件
构建
# 一键重打包
nyarc --ikuai-repack /tmp/ikuai/ output.bin
# 输出:
# ✅ XZ压缩 (CRC32)
# ✅ rootfs加密 (fixed key)
# ✅ Header更新 (length/md5/sha256)
# ✅ output.bin (45.6MB)
或分步操作
# 1. 解密rootfs
nyarc --ikuai-decrypt firmware.bin rootfs.xz
# 2. 加密rootfs
nyarc --ikuai-encrypt rootfs.xz rootfs.enc fixed
# dynamic key:
nyarc --ikuai-encrypt rootfs.xz rootfs.enc dynamic <key_hex>
# 3. 重建bin
nyarc --ikuai-repack ext2.img output.bin --base firmware.bin
关键约束
| 约束 |
说明 |
| XZ必须CRC32 |
xz --check=crc32,内核不支持CRC64 |
| Hash算明文 |
加密前计算hash |
| sbox uint32溢出 |
不要"修复"成int64 |
| Header JSON无空格 |
separators=(',', ':') |
| Header gzip strip 10字节 |
ext2 gzip不strip |
| Header gzip mtime |
0x594b9b6f |
| ext2 gzip mtime |
0 |
| length字段 |
= gzip(ext2)完整大小 |
| firmwareid |
10001=免费, 10002=企业 |
插件管理
pmd数据库
# 解密pmd数据库
# 密钥: ikupdat-d~#-
# 格式: Salted__ + AES-256-CBC + EVP_BytesToKey(MD5, count=1)
# 内容: JSON数组 [{"name","version","secret_key","arch"}]
已知插件密钥
| 插件 |
secret_key |
| docker |
354a738f7b2756a848f3b8de541ec57 |
| docker-bin |
354a738f7b2756a848f3b8de541ec58 |
| shell |
70946f9965a3c140b28e36a82ed148b |
| ik_host |
jJ9FzkgwUm6bL3dG |
| pmd |
challstr@holly~ |
安全扫描
# 扫描rootfs安全问题
nyarc --scan /tmp/rootfs
# 输出:
# 🛡️ Security Score: 0/100
# 🔴 Critical: 75 🟠 High: 74 🟡 Medium: 417
# 🔴 Hardcoded Password in /etc/shadow
# 🟠 Weak Hash (MD5)
版本支持
| 版本 |
解密 |
加密 |
重打包 |
状态 |
| 3.7.19 |
✅ |
✅ |
✅ |
完整支持 |
| 3.7.22 |
✅ |
✅ |
✅ |
Dynamic key |
| 4.0.20 |
✅ |
✅ |
✅ |
验证通过 |
| 4.0.24 |
✅ |
✅ |
✅ |
Dynamic key |
Nyarc — Nyarime Advanced Reverse-engineering Console