-
-
[原创]解决手机设备TaintDroid运行程序奔溃
-
发表于:
2013-9-24 16:06
11956
-
[原创]解决手机设备TaintDroid运行程序奔溃
【原创】解决手机设备TaintDroid运行程序奔溃
作 者: 蟑螂一号
时 间: 2013-09-24,21:44:41
最近在研究TaintDroid并编译运行刷入到Nexus s手机设备运行。结果运行lbe、高德地图等含有第三方lib库时候,程序直接奔溃。通过log查看,原来taitdroid在虚拟机中限制了应用加载的库,关键代码可以查看源码 davilk/vm/Native.cpp源文件中的dvmLoadNativeCode方法,该方法中有如下代码:
#ifdef WITH_TAINT_TRACKING
// PJG: TODO: factor out this check
if (strncmp(pathName, "/system", sizeof("/system")-1) != 0 && strcmp(pathName, "libjavacore.so") !=0 && strcmp(pathName, "libnativehelper.so") !=0) {
ALOGW("Denying lib %s (not \"/system\" prefix)\n", pathName);
return false;
}
if (strstr(pathName, "/../") != NULL) {
ALOGW("Denying lib %s (contains \"/../\")\n", pathName);
return false;
}
#endif
该代码判断如果应用加载的是应用自己实现的lib库,直接返回,导致应用运行奔溃。
解决办法:
直接把上面代码注释掉就ok咯。
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!