繁体   English   中英

如何检查Dalvik Cache是​​否被修改

[英]How to check if the Dalvik Cache was modified

所以有一些工具可以修补App的Dalvik缓存来删除复制保护 - 实际上有一种方法可以检查dalvik缓存吗?

它只是复制的DEX文件,如果是,它是否仍然具有相同的校验和? 并且非root应用程序是否可以获得校验和?

dalvik缓存中的文件不是原始的dex文件 - 它们是odex(优化的dex)文件。 安装应用程序时,将解压缩其dex文件,然后dalvik在其上运行优化传递并将结果存储在dalvik缓存中。

dalvik缓存目录上的目录权限阻止非系统应用程序列出目录内容,但是设置了执行权限并且odex文件本身是全局可读的,因此应用程序可以在知道其文件名时访问它们。

但是,检查odex文件的完整性将很困难,因为它们在每个设备上可能都不同。 所以你将无法进行简单的校验和检查。

我想你必须对dex文件结构进行深入比较,并将它们与原始dex文件进行比较。 如果你想确定,首先需要对odex文件进行去索引,然后将结果与原始dex文件进行比较。

我认为您可以调用dexopt进程(直接在设备中)并将新生成的dex与dalvik缓存中的dex进行比较,当然如果您的缓存dex被修改,则更改可以禁用检查本身。 幸运补丁的作者建议从资产中加载外部代码然后执行到位,但这并不容易且100%有效

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM