2013-06-19 684 views
0

我正在研究基于ARM的调制解调器linux主机,并且需要将bin文件读为8位,16位或32位阵列。我基本上需要对有问题的文件进行加密,并且只是想用随机比特序列对比特进行异或(我不需要非常复杂的系统)。 linux主机中没有C或PERL模块,所以我不能使用它们,因此我需要使用shell脚本来完成它。任何人都可以请给我一些关于如何继续这一点的指针。使用shell脚本将二进制文件读取为字节数组或16或32位

此外,如果有人可以建议一种替代方法来做到这一点,这对我来说肯定也是有用的。

干杯,安舒

+0

你试过[gpg](http://www.gnupg.org)吗? – devnull

+0

缺省情况下,它在linux主机上默认,因为它没有gcc,我不能直接安装gpg包。 Linux主机只有11MB的可用内存,所以我无法在其中安装gcc。 – anshu

+0

当然**你可以做到**。您可以使用'dd'(例如,与'swap'选项一起提供简单的加密)。或者,你可以使用'read'与'while'或'for'结合来完成你所要求的事情(或者再次使用'dd'来读取,而不是'read')。我想应该有一种方法来做一个简短的'sed'命令,但我不在'sed'里面...... –

回答

1

极有可能这是不可能的外壳(bash或类似)内,所以您需要为外部程序。如果可用,也许hexdumpod程序可以为您做阅读。

我的建议:为此编写一个小型C程序,使用交叉编译器进行编译,然后从shell脚本运行它。

gpgopenssl二进制文件可以为您执行加密。我不知道将它们编译或安装到主机是多么容易。

+0

是的,我有一个C程序为它编写,我想我必须做一些交叉编译它。但只是想看看如果没有交叉编译的麻烦,我能否做到。感谢无论如何清理它。 – anshu

相关问题