如何在Windows命令提示符下从十六进制字符串写入二进制文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Windows命令提示符下从十六进制字符串写入二进制文件相关的知识,希望对你有一定的参考价值。
我想从Windows cmd中的十六进制字符串制作二进制可执行文件。我使用了“ echo” cmd命令,但是它是用普通字符串,不是二进制格式。因此无法执行输出exe文件。
input: "\x4d\x5a\x90\x00\x03\x00\x00\x00\x04\x00\x00\x00\xff\xff\..." (this is first part of PE)
output: binary executable file
在Windows cmd中可以吗?如果可以的话,请帮帮我。预先感谢。
答案
[是,有一种方法:有一个名为CertUtil.exe
的工具(自Windows XP起可用,尽管某些动词可能已更改),该工具具有一个称为CertUtil.exe
的动词(对于可选参数-decodehex
,请使用查看函数type
的参数dwFlags
):
CryptBinaryToStringA
但是,这不了解您输入数据的十六进制代码,需要删除CryptBinaryToStringA
。
以下脚本从文件中读取输入的十六进制字符串,在临时文件中将每个Usage:
CertUtil [Options] -decodehex InFile OutFile [type]
Decode hexadecimal-encoded file
type -- numeric CRYPT_STRING_* encoding type
[...]
替换为SPACE,然后使用\x
将其转换为二进制文件:
\x
另一答案
已经有一段时间了,但是我认为这在旧的DOS调试中是可能的。在这里看看:certutil -decodehex
以上是关于如何在Windows命令提示符下从十六进制字符串写入二进制文件的主要内容,如果未能解决你的问题,请参考以下文章