TaintDroid2.3.4的neon code编译问题解决

编译TaintDroid2.3.4的时候,出现了http://willsunforjava.iteye.com/blog/1744626所描述的问题,链接博客中提供了一种方式解决neon code 的编译问题,但是编译出来的镜像刷到模拟器中,老是启动不成功。下面介绍一种方式来修改TaintDroid代码,来hack掉neon code 部分。

在源码的Dalvik目录中找到Atomic.c和Atomic.h,然后做如下修改。修改之后,编译后启动模拟器就正常了。

diff --git a/vm/Atomic.c b/vm/Atomic.c
index 0f8ab34..1f86ebe 100644
--- a/vm/Atomic.c
+++ b/vm/Atomic.c
@@ -244,7 +244,7 @@ int64_t dvmQuasiAtomicSwap64FieldTaint(int64_t value, volatile int64_t* addr, ui
 }
 
 
-#if __arm__
+#if 0//__arm__
 
 // read 64-bit value followed by taint tag
 int64x2_t dvmQuasiAtomicRead64FieldTaint(volatile const int64_t* addr) {
diff --git a/vm/Atomic.h b/vm/Atomic.h
index ad5ecf2..b395eb2 100644
--- a/vm/Atomic.h
+++ b/vm/Atomic.h
@@ -52,7 +52,7 @@ int64_t dvmQuasiAtomicSwap64FieldTaint(int64_t value, volatile int64_t* addr, ui
 int64_t dvmQuasiAtomicRead32SfieldTaint(volatile const int32_t* addr);
 int32_t dvmQuasiAtomicSwap32SfieldTaint(int32_t value, volatile int32_t* addr, uint32_t taint);
 
-#if __arm__
+#if 0//__arm__
 #include <arm_neon.h>
 int64x2_t dvmQuasiAtomicRead64FieldTaint(volatile const int64_t* addr);
 #else

 

猜你喜欢

转载自willsunforjava.iteye.com/blog/1887796