Я пытаюсь создать двоичный файл XOR, взяв двоичный файл в качестве входных данных, выполнить операцию XOR и записать в другой файл, а также после того, как это будет сделано, необходимо полностью изменить весь процесс, читая xor_file в качестве ввода и записывая в файл , это будет то же самое, что и исходный файл.
Я пытался прочитать файл в формате HEX, но преобразовать и записать его в новый файл.
local out = assert(io.open(arg[2], "wb"))
local f = assert(io.open(arg[1], "rb"))
local block = 10
while true do
local bytes = f:read(block)
if not bytes then break end
for b in string.gmatch (bytes, ".") do
local value = string.format("%02X ", string.byte(b))
io.write(value)
out:write(value)
end
end
assert(out:close())