`
willsunforjava
  • 浏览: 167845 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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

 

 

 

0
6
分享到:
评论

相关推荐

    eclipse 反编译插件,支持版本4.6 neon

    在软件开发过程中,有时我们需要查看已编译的.class文件的源代码,这时就需要用到反编译工具。反编译插件使得这个过程变得更加方便,而"eclipse 反编译插件"就是专为Eclipse设计的这类工具。 本插件具体为"org.sf....

    eclipse-neon-反编译器

    Eclipse Neon反编译器是Java开发者在使用Eclipse IDE时的一个重要工具,它允许开发者查看和理解已编译的.class文件的源代码,这对于学习和调试第三方库或处理没有源码的Java程序非常有用。这个压缩包"eclipse-neon-...

    linux wifi工具hostapd编译方法.doc

    为了编译 hostapd,需要依赖 libnl 和openssl 库,本文将详细介绍 hostapd 的编译方法和过程中遇到的问题。 Libnl 库 Libnl 是一个 Linux 网络库,提供了网络协议栈的实现,hostapd 依赖 libnl 库来实现网络功能...

    Neon_Neon_neon

    文件`What every programmer should know about memory.pdf`讨论了内存相关的性能问题,这对于利用Neon进行高效计算至关重要。优化内存访问模式、减少缓存未命中以及正确地对齐数据都可以显著提升Neon程序的性能。 ...

    neon-0.29.6.tar.gz

    1. README或INSTALL文件:提供编译、安装和使用neon库的指南。 2.源代码文件:如src目录下的.c和.h文件,这些是neon库的核心代码。 3. configure脚本:用于检测系统环境并生成Makefile,帮助用户进行编译。 4. ...

    sse2neon-master.zip

    SSE2NEON项目就是为了解决这个问题,通过编写一套函数接口,使得原本使用SSE2编写的代码可以在ARM处理器上使用NEON指令集进行等效的高效运算。 项目"sse2neon-master"可能包含以下部分: 1. **头文件**:定义了与...

    eclipse-jee-neon-3-win32-x86_64(含常用插件)

    5. **内存分析插件MAT(Memory Analyzer Tool)**:MAT是一个强大的内存分析工具,可以帮助开发者检测和解决Java应用中的内存泄漏问题,通过分析heap dump文件来找出占用内存最多的对象和对象链,从而优化应用程序...

    subversion教程所需neon-0.28.2

    如果你在使用Subversion时遇到错误,安装或更新到`neon-0.28.2`可能就是解决问题的关键。 在Subversion教程中,`neon`库通常被提及是因为它是Subversion客户端与服务器通信的基石。当你通过HTTP或HTTPS协议与...

    Eclipse Neon.3 (4.6.3)下载

    Eclipse Neon.3还加强了集成开发环境的性能,减少了启动时间和内存占用,提高了代码编译速度。这使得大型项目开发时,Eclipse能更快响应,降低了开发者等待时间。 在版本控制方面,Eclipse Neon.3集成了Git,提供了...

    基于C语言的neon_osd_Draw ARM Neon加速OSD点阵设计源码

    neon_osd_Draw是一个基于C语言开发的ARM Neon加速OSD点阵项目...该项目为用户提供了一个全面、高效的ARM Neon加速OSD点阵解决方案,支持1bit转2Byte以及YUV420和YUV422格式的YUV OSD叠加,具备良好的用户体验和实用性。

    zmq编译库和下一代nng库

    4. **安全增强**:nng在设计时考虑了安全问题,提供了更多的加密选项和安全特性。 5. **自动重连**:nng具备自动重连机制,增强了网络连接的可靠性。 **标签“zmq通信”知识点** 1. **通信模式**:ZeroMQ支持四种...

    NEON汇编程序指南.rar

    在编写NEON汇编时,需要注意对齐问题,因为不正确的数据对齐可能导致性能下降甚至程序崩溃。 **NEON优化技巧** 1. **向量化**:将循环内的独立操作转换为向量操作,一次处理多个数据。 2. **数据预取**:预测并提前...

    neon-0.30.1.tar.gz

    4. 编译和安装:执行`make`命令进行编译,然后使用`sudo make install`将编译好的neon库安装到系统路径中。 5. 验证安装:通过运行`ldconfig`命令更新动态链接库缓存,然后可以尝试运行`neon_test`等测试程序,以...

    eclipse-neon2

    Neon2版本中,调试器支持多线程调试,可以设置断点、查看变量值、单步执行等,对于找出并解决程序中的问题非常有帮助。 5. **代码质量和性能分析**:内置的Code Style和Code Analysis工具,可以帮助开发者遵循最佳...

    neon-plugins2

    标题“neon-plugins2”和描述“eclipse-neon-plugins”揭示了这是一组与Eclipse Neon相关的插件。Eclipse Neon是Eclipse IDE的2016版本,它提供了丰富的开发工具支持,包括Java、Web、移动和云计算应用的开发。这个...

    FFMPEG:4.4.2安卓SO动态库+neon解码32位

    开发人员在使用这个库时,需要了解如何在Android应用中正确链接和使用这些动态库,包括设置NDK路径、配置CMake或Build.gradle文件,以及处理权限和多线程问题。此外,熟悉FFmpeg的API,了解如何初始化、解码、编码、...

    ARM Cortex-A9的NEON技术研究及应用

    使用NEON内联函数可以不关注寄存器分配和互锁问题,简化编程过程,提高程序的执行效率。但是,内联函数的灵活性和功能并不如手写汇编语言丰富。 3. 汇编语言优化:通过编写底层的汇编语言,可以直接对处理器的NEON...

    Neon2012.4.8

    标题“Neon2012.4.8”和描述中的信息非常有限,没有提供具体的IT知识点。然而,从标签“Neon2012.4.8”以及压缩包内的唯一文件名“Neon2012.4.8”,我们可以推测这可能是一个软件版本或者更新的标识。为了提供更丰富...

    GCC交叉编译工具链4.9.4

    使用GCC交叉编译工具链4.9.4,开发者可以在Linux(如Ubuntu)环境下编写和编译针对ARM Cortex-A7处理器的代码,并利用NEON指令集进行优化。这在开发嵌入式设备、移动设备或者物联网应用时非常常见,因为它允许在高...

    信号处理移动平台neon 加速代码

    可以使用条件编译宏来检查目标平台的NEON支持,并相应地选择启用或禁用NEON优化。 总的来说,通过巧妙地利用NEON技术,开发者可以在保持代码简洁明了的同时,实现移动平台上的信号处理性能大幅提升。这不仅提高了...

Global site tag (gtag.js) - Google Analytics