联发科随身wifi固件反编译逆向分析小记」的摘要信息

简介 前几天在PDD刷到个透明探索版随身wifi充电宝,外观设计不错而且还是好价直接冲了。收货以后才发现这是MTK方案的机子,很冷门没有成熟的破解方法只能用卖家的内置卡充值上网切换不了外置卡槽插自己的卡,于是提取固件尝试从固件里入手 开始 拆机发现型号MF901Q,再往下深扒得知这和某一个4GCPE路由器是同一个代工厂生产的,按照CPE的方式尝试开启ADB调试 USB调试:http://192.168.0.1/adbenableForm.do?adb=1 无线调试:http://192.168.0.1/adbWifiDebugForm.do?adb=1 开启两个调试模式发现USB调试压根开不了,电脑USB连接设备不跳端口,无线调试开启倒是正常 连接无线调试查看设备APP列表找不到httpserver主进程,在内置存储目录里找到了这个ROOT.war,猜测可能是固件所在 拉取固件 adb pull /storage/emulated/0/lrserver/webapps/ROOT.war ROOT.war 通过常规zip方式解包,文件结构如下 分析 定位切卡所在页面的前端资源,找不到有关密码的选项 在仔细浏览固件内容后发现了lib文件夹里面的类库是httpserver核心所在,找到负责切卡表单处理的com/lr/web/SimSwitchEnableFrom.class 发现密码指向另一个类:com/lr/util/NetworkConfigUtil.class smali拖入Jadx转Java代码,找到前者调用的方法定位,于是得出以下密码算法 1.获取设备的 IMEI 号码和两个系统属性值:ro.sim.passwd 和 ro.sim.ccsn。 2.如果 IMEI 不为空且长度大于等于 INDEX_LTE_GSM_WCDMA(已定义的一个常量),则对 IMEI 进行处理...