在 Linux 中提取 ARJ 文件

在 Linux 中提取 ARJ 文件

在参加 CTF 比赛时我偶然发现了这个ARJ文件。经过一番研究后发现。

ARJ 是 .arj 文件的归档程序,与大多数归档文件类型一样,它们用于将多个文件和文件夹存储并压缩为一个易于管理的文件。

我想提取这个 ARJ 文件。我有 4 个文件,分别命名为36 , 18914 , 19880 , E723

我试过这个命令 arj e 36

它给出了这个错误,

Can't find 36.arj
Found     1 error(s)!

因此,我将这些文件重命名为36.arj , 18914.arj , 19880.arj , E723.arj

并尝试了这个命令 arj e 36.arj

它给出了这个错误,

Processing archive: 36.arj
Archive created: 2019-01-31 17:33:18, modified: 1970-01-01 21:54:09
Bad header

参考

更新:CTF 终于结束了,我读了与这个问题相关的文章。其实我挖错了坑。问题中给出的主文件已损坏,我们不得不correct the headers。后来我们必须使用提取该文件binwalk。再次感谢 kamil 和 roberts

答案1

ARJ最初来自 windows 世界,文件类型由文件名决定扩大。我试验了这个 - 创建了36这样命名的存档arj a 36 ./*.pdf- 程序自动添加了arj扩展名,所以我得到了文件36.arj。然后我测试了提取 - 它确实有效。但是,当我删除扩展名并尝试类似的命令时,arj e ./36它给出了未找到文件 36.arj 的错误。一旦我重新添加扩展名 - 完全相同的命令有效。所以我担心如果你必须使用来管理文件,arj你需要像在 Windows 上一样使用扩展名。

如您所见,上述步骤解决了丢失文件的问题。

如果还有其他问题,您需要排查错误所在。例如,您在自己的计算机上创建存档(就像我一样),然后查看文件是否正确处理。然后使用其他软件进行测试,例如使用7zip例如,对于 Windows,它包含 arj 解包器。或者跨平台等效程序豌豆压缩- 您也可以在 Linux 上轻松安装。然后告知我们结果。

也许你可以得到一些文件甚至不在档案中如果它已损坏。如果在提取过程中,ARJ 因“文件头错误”或“文件数据错误”错误消息而中止,则使用-jrARJ 选项,您应该能够恢复档案中未损坏的文件。损坏的文件是无法恢复的。(这是来自 ARJ 官方网站的信息。)作为预防措施,您可以使用该-hk选项构建错误更正恢复文件,该文件将允许您更正轻微的数据损坏问题。(该选项仅在您构建档案时才有用)。

但对于 CTF 竞赛来说 - 可能你需要在几个未损坏的文件中获取所需的信息。

相关内容