-
-
[讨论][原创]某智能课桌逆向密码校验分析
-
发表于: 2025-12-2 09:59 303
-
这是一块RK3588的智能课桌,开机后应用启动全屏霸屏,退出到系统桌面Launcher3时需要输入密码,因为发现设备没有网络时也可以进行密码校验,因此可以肯定校验算法是在本地验证的,于是拉了apk并分析了这个密码生成规则是怎么样的。
打开adb调试,测试发现设备端有一个debug串口可以连接到电脑,通过adb命令拉起了launcher apk,这个过程就不详细展开了。
使用adb shell dumpsys window | findstr mCurrentFocus 命令查询到当前的Activity包名。
使用GDApro,反编译apk,根据界面的文字搜索,找到这里:

最终在dialog中,确认后回调了这里:

继续看看 SystemUtil.getPass() 的生成规则

该方法的目标是:基于当前日期(格式为 yyyyMMdd)生成一个看似随机但确定性的字符串(密码)。
到这一步基本上就是可以直接把apk dex2jar转成jar包,然后直接在java项目上调用System.getPass() 就拿到了密码。

最后于 2025-12-2 10:02
被♬﹏↓孤、影编辑
,原因:
赞赏
赞赏
雪币:
留言: