strings
的输出grepping找不到游戏文件的名称(我尝试区分大小写,省略了扩展名,以及所有其他内容),因此无法轻松找到该函数。因此,我想做的是拦截对open
系统调用的调用,并检查堆栈(dalvik和C)是否存在调用方。每个系统调用;在Linux上,有procmon
不会给我堆栈回溯,但至少可以提供IP值;另外,我可以制作一个具有问题文件名的命名管道,以使应用程序在打开它时阻塞并附加gdb以获取回溯。 ia)获得适用于特定OS级别的android的strace -i
版本似乎很重要,b)当我尝试使用命名管道方法时,应用程序将退出,c)除非完成了所有加密工作其中一个strace
库,我也需要Java堆栈。定位于检测/分析,而不是我所需要的。在Windows上,如果可能的话,包括Java堆栈?还是另一个快速找到打开并解密文件的代码的想法?如果所有其他方法均失败,则可能会将IDA附加到进程中,在
strace
上放置一个断点,并编写一个断点条件来检查文件名。但这仍然不会给我Java堆栈,如果有一个“更精细”的工具,我想避免这样做。
评论
您是否尝试过简单地chmod 000 / location / to / datafile并使用logcat Monitor来查看apk生成的错误消息?@Sigtran:我喜欢这个主意。不幸的是,该日志确实包含一个错误消息条目,但没有堆栈回溯。
您也许可以从github.com/CalebFenton/simplify上获得一些收获,或者至少可以通过修改smalivm来做到这一点
我将在下个月发布一个开源工具来完全满足您的需求:https://recon.cx
Guntram Blohm。您找到适合您问题的解决方案了吗?我现在正在解决同样的问题。