Проблема, с которой я сталкиваюсь, заключается в том, что у меня есть данные чтения сценария Perl (исполняемый файл PE) через STDIN, а поток содержит терминатор строки «0A», преобразование в шестнадцатеричный формат пропускает его. Затем, когда я конвертирую шестнадцатеричные данные обратно, они повреждены (отсутствует 0A в шестнадцатеричном формате). Итак, как я могу определить «Windows» версию перевода строки «0A» в Perl?
Примечание. ОС Linux (Perl) читает среду предустановки Windows.
!usr/bin/perl
while($line = <STDIN>)
{
chomp($line);
@bytes = split //, $line;
foreach (@bytes)
{
printf "%02lx", ord $_;
}
}
Пример использования:
[root@mybox test]# cat test.exe | perl encoder.pl > output