注意:Linux OS(Perl)正在读取windows PE
!usr/bin/perlwhile($line = <STDIN>){ chomp($line); @bytes = split //,$line; foreach (@bytes) { printf "%02lx",ord $_; }}
用法示例:
[root@myBox test]# cat test.exe | perl encoder.pl > output解决方法 在循环中,您在每个输入行上运行chomp.这将从您的行末端删除当前$/中的任何值.有可能这是0x0a,这就是值的来源.尝试从循环中删除chomp($line).
通常,使用面向行的读取对于本身不是面向行的二进制文件没有意义.您应该查看较低级别的读取功能,该功能允许您从文件中读取一个字节块,而无需关心这些字节是什么.然后,您可以使用块而不是行来处理数据.
总结以上是内存溢出为你收集整理的Perl将二进制流转换为十六进制全部内容,希望文章能够帮你解决Perl将二进制流转换为十六进制所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)