问题标签 [computer-forensics]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
internet-explorer-9 - 解释 IE9 ltime & htime localStorage 时间戳
以下是来自 IE9 localStorage 文件的一些示例 XML:
我试图弄清楚如何解释这些类型的记录,包括 ltime 和 htime 值。我从研究中发现它与 IE9 localStorage 和来自%userprofile%\AppData\Local\Microsoft\Internet Explorer\DOMStore\
.
任何帮助表示赞赏。
python - 是否可以通过十六进制使用正则表达式来查找电子邮件地址
不确定这是否可能,但我一直在考虑使用正则表达式来获取十六进制的电子邮件地址。基本上这是为了建立我的一些自动取证工具,但我在制作合适的正则表达式算法时遇到了问题。
电子邮件的正则表达式:/^([a-z0-9_.-]+)@([\da-z.-]+).([az.]{2,6})$/
十六进制值:
这就是我目前得到的(它只考虑小写和.com)。但它不起作用!我把一些简单的事情搞砸了吗?
[1] 我知道电子邮件只能小写,但我也需要考虑大写。
python - 从物理驱动器中提取字符串
我希望在 Python 2.x 中编写一个脚本,该脚本将扫描物理驱动器(物理驱动器而不是逻辑驱动器)以查找大小范围内的特定文本字符串(聊天工件)。我有字符串的页眉和页脚,所以我只是想知道如何最好地扫描驱动器?我担心的是,如果我将其拆分为 250MB 的块并在解析页眉和页脚之前将此数据读入 RAM,则可能是页眉在那里,但页脚位于下一个 250MB 的块中。
所以本质上,我想扫描 PhysicalDevice0 以查找以“ABC”开头并以“XYZ”结尾的字符串,并从其中复制所有内容。我不确定是否也将数据扫描为 ascii 或 Hex。
随着驱动器变得越来越大,我希望以最快的方式做到这一点。
有什么建议么?
c# - 计算 31 位数字/忽略最高有效位
我正在开发一款分析 E01 比特流图像的软件。基本上,这些是取证数据文件,允许用户将磁盘上的所有数据压缩成一个文件。E01格式嵌入了关于原始数据的数据,包括源数据的MD5哈希和结果数据等。如果你有兴趣轻读,这里有EWF/E01规范。关于我的问题:
e01 文件包含一个“表”部分,它是一系列 32 位数字,它们是 e01 文件中实际数据块所在的其他位置的偏移量。我已经成功地将这些数据解析成一个列表,执行以下操作:
c_CHUNK_DATA_OFFSET_LENGTH 是 4 个字节/“32 位”数字。
根据 ewf/e01 规范,“块数据偏移中的最高有效位指示块是压缩的 (1) 还是未压缩的 (0)”。这似乎可以通过以下事实得到证明:如果我将偏移量转换为整数,结果中会有很大的负数(对于没有压缩的块,毫无疑问),但大多数其他偏移量似乎都正确增加了,但是每个偶尔会有疯狂的数据。ChunkLocations 中的数据如下所示:
在 -2147071848 的情况下,MSB 似乎被翻转以指示压缩/缺乏压缩。
问题:所以,如果 MSB 用于标记压缩的存在,那么我真的在处理 31 位数字,对吗?
1. 在计算偏移值时如何忽略 MSB/计算 31 位数字?
2. 这似乎是一个奇怪的标准,因为它似乎会显着限制您可以拥有的偏移量的大小,所以我在质疑我是否遗漏了什么?当我导航到 e01 文件中的这些位置时,这些偏移看起来是正确的。
谢谢你的帮助!
opencv - 计算机视觉:裸露检测解决方案比较(基于 opencv 或自定义代码)和哈希列表和客户端
服务器端:
- 项目清单:
- ...:找到 x% 匹配项,y% 误报(opencv +10 行代码)
- ...:找到 x% 匹配项,y% 误报(自 1995 年以来的大型自定义代码)
- 其他:
最小的 OpenCV C++ 代码:
/li>
哈希列表:
- ..:(由公共资金资助,自...开始限制访问)
- ...:(开放访问)
- ...: , y 百万条目, y % new last years (commercial $y / month)
- ...:,x 百万个条目,x % 去年新增(商业 $x / 月)
(服务器端和)众包/众包验证:
- 谷歌图片过滤器:... (限制访问,但甚至在自有网站的网站管理员工具中也没有)
客户端:
- 另一个:... (将在 i5 2540 手机上每 50 毫秒扫描 x 百万像素)
- 裸体.js(帕特里克·维德):...
我完全重写了这个问题,它总是被关闭,显然似乎是广泛的而不是具体的,并且“促进链接”而不是替代方案?
现在这里的任务是:
“为这个开发特定但广泛未知的任务盘点世界上所有现有的方法。” (=填补上表中的空白,也许是示例代码/实现)
虽然某些 Windows 软件是面向孩子上网的父母销售的 ,但从开发的角度来看,这个假设不会很快出现在维基百科文章“裸露检测软件的比较”中。(也不是在 alternative.to/... )
这也是具体的,但广泛服务不足或实践。因此,没有任何一个答案/链接会成为自我推销/垃圾邮件,相反,这个问题比一般问题更容易出现。然而,根本不需要任何链接,也不会有个人意见的答案,如果有的话,这将比没有帮助更多。
ram - 从 RAM 转储中提取 flv 视频
我想从 RAM 转储中提取一些 FLV 视频。有没有一种简单的方法可以使用您知道的一些好工具来做到这一点?我已经谷歌了,但我什么也没找到!
我有一个想法,但它似乎很难且耗时,我将搜索 FLV 幻数并开始从那里增量提取数据,但我不知道这种方法是否真的有效。
c++ - 解析已删除的 pdf
我正在尝试使用 C++ 在磁盘上进行一些文件雕刻。我在网上找不到任何与 pdf 文件的磁盘结构相关的资源。问题是我可以在集群的开头找到 %PDF-1.x 令牌,但我无法在任何地方找到 PDF 文件的大小。
假设这个特定文档的文件系统条目丢失了。我找到了文档的开头并继续阅读,直到遇到“startxref number %%EOF”。问题是我不知道何时停止,因为文档内容中有多个“%%EOF”标记。
我试过在阅读后停下来,比如说 10 个集群,但在任何地方都没有找到任何 pdf 特定的关键字,如“obj”、“stream”、“trailer”、“xref”。但它非常随意,它不是找到文档结尾的确定性方法,因此我可以确定它的大小。
我还在一些“obj”的开头看到了一些“长度数字”标记,但大多数时候这个数字并不适合。
关于下一步我可以尝试什么的任何想法?有没有办法确定整个文档的确切大小?我对以编程方式恢复文档感兴趣。
bash - Bash 脚本:使用 Sleuthkit 批量恢复文件
我在网上找到了一个使用 Sleuthkit 批量恢复文件的 bash 脚本,但由于我认为脚本本身存在错误,我无法使用它。这是脚本:
一切正常,直到cut
抛出此错误的语句:
显然,该脚本试图使用一个字符串作为 cut 命令不允许的分隔符。但是,这不是必需的,因为输出实际上是制表符分隔的。但是,删除分隔符会产生以下错误消息:
对于每一行。输入(LIST 文件)如下所示:
的输出awk {'print $1'}
是以下两行之一:
的输出awk {'print $2'}
是文件 inode,如下所示:
我的怀疑是冒号 (:) 是问题,所以我通过将文件节点传递到sed
删除冒号的语句来删除它,但这也没有解决问题。所以修改这一行来修复第一个问题后:
至:
即使从文件 inode 编号中删除冒号后,我仍然遇到此错误:
该脚本是为 ext2 文件系统编写的,但我在 NTFS 文件系统上使用它。我已经修改了必要的行并且可以得到icat
命令按所写的方式工作,因此不更改相关部分不是问题(各个行都可以正常工作,我已经对此进行了调试,并且知道如何调试)。
这是我当前的脚本:
这就是我到目前为止所做的所有故障排除和思考。有任何想法吗?
更新
我被要求显示 的输出cat -vte $LIST
,如下所示(示例):
python - 使用 Python 在 dd 映像中安装分区
我正在编写一个 Python 程序来在 dd 映像中安装一个分区。
我知道其他地方有代码(例如https://raw.github.com/ox-it/python-libmount/master/libmount/mounting.py)来安装设备或包含文件系统的文件。但是这些解决方案期望文件系统位于文件或设备的开头。
我的文件系统不在文件的开头,而是在确定的偏移量处,因此我需要为指向该分区开头的挂载命令指定偏移量。
libc mount 命令对我来说不清楚。losttup.py 模块也不清楚。
是否可以使用 Python(使用 ctypes + libc mount 命令、losetup.py 或其他解决方案)以确定的偏移量在文件或设备内安装分区?
提前致谢。
linux - 使用DD递归写入特定文件
我有一个要覆盖的硬盘驱动器,不是用空字节,而是用一条消息。
48 69 64 64 65 6e 20 =“隐藏”
到目前为止,这是我的命令:
注意:我也尝试过各种参数,例如 count 和 conv 无济于事
现在,这很好。当我运行时:
我可以看到前几个字节被覆盖,但是,其余的没有改变。我想递归地将“隐藏”写入驱动器。