大学生创新训练项目开发日志 (10-26 ~ 11-2)
进展
资源钩取
我们通过如下方法对资源钩取模块进行了改进:
- 对
getDrawable()
返回的Drawable
实例进行了进一步处理,降低被丢弃的资源的比率。 - 通过
LayoutInflater.inflate()
返回的ImageView
实例的getDrawable()
方法获取该实例内含的Drawable
资源。
进行了如下改进后,对于单个软件包能够钩取的资源数量有了数量级上的提升,并使得不少原先钩取不到任何资源的软件包能够钩取到合理数量的资源。
自动化测试
发现 aapt2
获取的 MainActivity
还需要通过检查其 ONLAUNCH
属性来确认其是否是程序启动的主活动,在 Shell 脚本中处理较为困难,我们将 Shell 脚本用 Python 重写了一遍,这样不仅可以解决该问题,并使得脚本的功能性更加强大,便于执行后续需要的操作。
专利申请
我们完成了专利申请报告初稿的撰写。
杂项
通过对 Android.Security.NetworkSecurityPolicy
的方法 isCleartextTrafficPermitted()
钩取并修改返回结果,实现 HTTP 明文流量的传输,方便了开发。
展望
钩取资源
对于获取的资源进一步做预处理(利用资源号去重图片等),并尝试获得资源号相关的更多资源属性(如长,宽等)。
自动化测试
寻找 Flutter 应用并对其进行测试,观察其是否能够被钩取资源。