可赚京豆的京东云无线宝路由器及其固件分析
京东云无线宝路由器
内置芯片方案:MT7621A + MT7603EN + MT7615N,和K2P类似,512MB RAM、32MB ROM ,自带32G/64G/128G emmc内部存储(官方号称寿命17年)。支持802.11ac wave2协议,MU-MIMO技术,双频并发速度最高2100Mbps(300Mbps+1733Mbps),系统固件基于OpenWRT开发。
有三个规格:
轻NAS网盘 远程下载 128GB存储 尊享版
——————————————
京东价: ¥399.00
抢购链接: https://u.jd.com/ugIg3cY
轻NAS网盘 远程下载 32GB存储 尊享版
——————————————
京东价: ¥299.00
抢购链接: https://u.jd.com/u4IYI11
64G加速版
——————————————
京东价: ¥209.00
抢购链接: https://u.jd.com/uBI2RhN
三个版本的区别如下:
根据目前大家反馈的收益情况,一天大概在100积分左右,折换成人民币1元,因此如果按目前收益,回本在一年左右
固件目录结构:
web管理的前端采用d2-admin(https://github.com/d2-projects/d2-admin),后端采用nginx+lua
前端代码在www目录,js代码占了绝大部分:
后端配置文件/etc/nginx/nginx.conf及/etc/nginx/conf.d目录:
后端调用url路径为/api/*,配置如下:
主页面:
固件中的lua文件在/usr/lib/lua目录,不是以源码格式提供,而是进行了编译:
Lua有一种预编译机制,能够把文本代码预编译成Bytecode/Opcode 提高解析、执行速度,降低内存占用
反编译参考:
https://blog.ihipop.info/2018/05/5110.html
https://github.com/HandsomeYingyan/luadec-openwrt
编译过程:
#安装依赖
sudo apt install libncurses-dev libreadline-dev
#获得luadec源码
git clone https://github.com/viruscamp/luadec
cd luadec
git submodule update --init lua-5.1
#打补丁
ref=master
patch_dir=patches.$ref
mkdir $patch_dir && cd $patch_dir
#如下命令需要grep支持pcre正则,如果不支持,请自己手动处理把。
patchs=$(curl -sSL -H 'Accept: application/vnd.github.v3+json' 'https://api.github.com/repos/openwrt/openwrt/contents/package/utils/lua/patches?ref='"$ref" |grep -oP 'name\"\s*:\s*\".*\.patch' |grep -oP '\d+.*\.patch')
#下载补丁文件
for p in $patchs;do
wget 'https://github.com/openwrt-mirror/openwrt/raw/'"$ref"'/package/utils/lua/patches/'${p} -O $p;
done
cd ../lua-5.1
#打上补丁
#----------------------------------
打补丁后需修改lua-5.1/src/Makefile
#USE_READLINE=1
+PKG_VERSION = 5.1.5
-CFLAGS= -O2 -Wall $(MYCFLAGS)
+CFLAGS= -fPIC -O2 -Wall $(MYCFLAGS)
#---------------------------------
for i in ../${patch_dir}/*.patch; do patch -p1 <$i ; done
make linux
export LD_LIBRARY_PATH=`pwd`/src/
cd ../luadec
make LUAVER=5.1
按上述方法编译出来的luadec【点此下载】可以反汇编其他openwrt固件(dreambox)的汇编文件,但是反汇编此固件失败,提示:
./luadec: guide.lua: bad code in precompiled chunk
。。。未完待续
评论:1