[PHP] 纯文本查看 复制代码 <?php
// 原始exe文件路径
$originalFilePath = '1.exe';
// 新的exe文件路径
$newFilePath = '2.exe';
// 要查找的字节序列的文本表示(十六进制)
$searchHexString = "D5E2CAC7BBB9C3BBCCE6BBBBC7B0B5C4CEC4B1BE"; // 这是还没替换前的文本
// 要替换成的字节序列的文本表示(十六进制)
$replaceHexString = "D5E2CAC7BEADB9FDCCE6BBBBBAF3B5C4CEC4B1BE"; // 这是经过替换后的文本
// 将十六进制字符串转换为二进制字符串
function hexStringToBinary($hexString) {
$binaryString = '';
for ($i = 0;$i < strlen($hexString);$i += 2) {
$binaryString .= chr(hexdec(substr($hexString, $i, 2)));
}
return $binaryString;
}
// 转换十六进制字符串为二进制字符串
$searchBytes = hexStringToBinary($searchHexString);
$replaceBytes = hexStringToBinary($replaceHexString);
// 检查原始文件是否存在
if (!file_exists($originalFilePath)) {
die("Original file not found.");
}
// 读取原始文件内容到内存
$originalFileContent = file_get_contents($originalFilePath);
// 检查要查找的字节序列是否在文件内容中
$position = strpos($originalFileContent, $searchBytes);
if ($position === false) {
die("The specified bytes sequence was not found in the file.");
}
// 替换字节序列
$newFileContent = substr_replace($originalFileContent, $replaceBytes,$position, strlen($searchBytes));
// 将修改后的内容写入到新文件
file_put_contents($newFilePath,$newFileContent);
echo "Bytes replaced successfully. New file saved as: " . $newFilePath;
?>
|