Есть файл 3.exe, в котором записаны еще 2 файла : 1.ехе и 2.ехе (побайтно в конец дописал), нужно "вытащить" отдельно 1.ехе и 2.ехе, в этом вся сложность. 1.ехе можно получить таким путем : начиная копировать от веса 3.ехе без этих 2 файлов и до начала 2.ехе, копирование 2.ехе аналогично. Но тут вся сложность, как понять, где начинается 2.ехе ? была идея записывать в конец файла размер 3.ехе без этих 2 файлов + размер 1.ехе, тем самым получим начало файла 2.ехе, но максимальное значение 255 и ничего не вышло, записывается 0. Можете подсказать, как лучше реализовать ?
Надеюсь, что я доступно объяснил, если нет, то пишите, попробую по-другому.
Пример кода :
var fil2 = File.ReadAllBytes(@"2.exe");
var fil1 = File.ReadAllBytes(@"1.exe");
using (FileStream fs = new FileStream(@"bin.exe", FileMode.Append, FileAccess.Write))
{
fs.Write(fil2, 0, fil2.Length);
fs.Flush();
fs.Close();
}
var rezd = new byte[4] { 5, 55, 56, (byte)fil2.Length };
using (FileStream fs = new FileStream(@"bin.exe", FileMode.Append, FileAccess.Write))
{
fs.Write(fil1, 0, fil1.Length);
fs.Write(rezd, 0, rezd.Length);
fs.Flush();
fs.Close();
}
Вам нужно использовать BinaryWriter
поверх файлового потока. Не совсем уверен, что у вас там за байты в rezd
, но в целом код будет выглядеть примерно так:
var fil2 = File.ReadAllBytes(@"2.exe");
var fil1 = File.ReadAllBytes(@"1.exe");
using (var fs = new FileStream(@"bin.exe", FileMode.Append, FileAccess.Write))
{
fs.Write(fil2, 0, fil2.Length);
}
var rezd = new byte[] { 5, 55, 56 };
using (var fs = new FileStream(@"bin.exe", FileMode.Append, FileAccess.Write))
{
using (var writer = new BinaryWriter(fs))
{
writer.Write(fil1);
writer.Write(rezd);
writer.Write(fil2.Length);
}
}
Вы используете using
, так что ручные вызовы Flush
/Close
не нужны.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Добрый деньВ первый раз столкнулся с такой проблемой: имеется коллекция ObservableCollection<string>, которая была передана как источник данных для...
При конвертации wav файла по алгоритму A-Law звук на выходе получаеться плохого качества