在外壳的二进制文件替换十六进制没有sed的

问题描述 投票:0回答:1

我有我要替换的二进制文件与shell脚本0xaa,0xbb,0xcc,0xdd 0x11,0x22,0x33,0x44

我可以0xaa,0xbb,0xcc,0xdd,例如$的壳层脚本,但我怎么能与0x11,0x22,0x33,0x44代替它没有sed的?

linux shell sed scripting sh
1个回答
0
投票

你可以创建一个bash脚本,做你的文件的hexdump都可以,简单的更换,然后重新转换为二进制文件。

你可以使用一个应用程序,如XXD,或hexdump都可以创建文件的十六进制转储。这是在这里解释说:convert binary data to hex in shell script?

它看起来像XXD创建一个十六进制字符串,看起来像这样“AABBCCDD”,而不是你的“和0xAA,为0xBB,含有0xCC,0xdd”所以,要当心的!

要了解如何做一个替换,你可以看看这个答案:Find and Replace Inside a Text File from a Bash Command

这样,你会希望将十六进制字符串转换回成二进制,这是在这里解释:linux shell scripting: hex string to bytes

© www.soinside.com 2019 - 2024. All rights reserved.