首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >作为数字取证环境的Java

作为数字取证环境的Java
EN

Stack Overflow用户
提问于 2009-09-29 09:01:56
回答 4查看 2.1K关注 0票数 1

我想知道是否有人有在数字取证环境中使用java (相对于c/c++)的经验,如果有,他们能告诉我他们可能遇到的问题或优点吗?干杯

EN

回答 4

Stack Overflow用户

发布于 2009-09-29 11:39:18

是的,你可以用Java来完成所有的工作,如果有一些事情必须用C来完成,你可以通过JNI包来调用“危险”的例程。Java赋予你健壮性,安全模型,可伸缩性不是大问题……你不必应付64位操作系统,或者优化你的代码以利用多个CPU-s,你会发现这很奇怪,但这是真的:你的软件在Java中可能比在C中运行得更快。如果你不是一般的开发人员,如果你熟悉CPU的结构,对机器代码和寄存器的处理了如指掌,那么就忘了我的文章吧,你可能会在C中做得更好。

票数 2
EN

Stack Overflow用户

发布于 2010-01-06 11:15:49

出于以下原因,我们一直在将取证代码从C++和Python迁移到Java:

  • 我们担心损坏的数据会如何影响我们的工具;对于Java,这不是什么大问题。
  • Single Java binary将在32位和64位系统上运行
  • 更好地利用线程。

我们的初步结果非常有希望:从C++移植到Java的bulk_extractor运行速度快了3倍!我们都很惊讶。我们认为这是因为jflex比flex产生更快的FSM。

主要问题是没有很好的开源Java取证文件系统,也没有针对SleuthKit的JNI绑定。我们的一个变通方法是使用fiwalk从磁盘映像中提取所有元数据到XML blob中,然后在java中处理XML。

要下载这些工具,请查看http://afflib.org/

票数 2
EN

Stack Overflow用户

发布于 2010-12-03 15:43:57

在Java中,处理二进制解析和任意字符串解析是非常痛苦的,而且完全没有必要。Java缺少无符号整数也很烦人。

我们将python用于内部的一切,因为它的编码很简单(特别是与java的庞大相比),struct.pack/unpack使得二进制数据的解析变得简单,内置的数据结构/对象,以及它们几乎是我们所需的一切的库。

我真的不能推荐使用Java进行取证处理

编辑:

此外,许多取证工具要么已经在python中,要么具有python绑定(易失性、侦探工具包等)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1491398

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档