Запись байтов из файла программы (exe) в файл

xAmL

Помогите пожалуйста надо сделать так чтобы байты брались из программы и записывались в конец или в начало другой программы, главное чтобы работало
  Dim b() As Byte = IO.File.ReadAllBytes("D:\la.exe")
 
        Using fs As IO.FileStream = IO.File.OpenWrite("D:\DD.exe")
            fs.Seek(0, IO.SeekOrigin.End)
 
            fs.Write(b, 0, b.Length)
        End Using
Байты дописываются но при запуске запускается только та программа в которую записывал байты, а то что записал не запускается. В чём сдесь ошибка?
14 ответов

xAmL

Нельзя просто так взять и дописать один exe в конец другого, чтобы они оба потом ещё и работали.


xAmL

ну а как это сделать?


xAmL

Расскажите об исходной проблеме? А не о том, что как вы придумали её решить.


xAmL

Я не знаю как сделать так чтобы взять байты из 1 программы и записать во 2 так чтобы запускались 2 программы при запуске 2, тоесть склеить программы как Joiner.


xAmL

1. Написать BAT-файл, который запустит обе программы. 2. Как бы "архиватор", распаковывающий из ресурсов EXE-шники во временные файлы и запускающий их.Зачем оно вам понадобилось? Интересно воспроизвести Joiner или есть какой-то практический смысл?


xAmL

нет бат файл это не то, раз уш на то пошло можно обе программы и в ресурсы запихнуть, мне надо именно программно записать байты в программу чтобы они работали, я же прошу рассказать мне как это сделать, а не предлагать мне другие примеры по устранению проблеммыя просто хочу узнать как это делается, интересно жене подумаете не для кокого вируса мне это не надо


xAmL

Нужна отдельная независимая готовая утилита, или сойдёт подготовка сего в visual studio?Дело не в вирусе, а в "Сага о X, Y и Z...". Погуглите про неё.


xAmL

в смысле программа в которую хочу вписать байты?


xAmL

Да. Она должна быть отдельной от визуал студии, или вам сойдёт каждый раз собирать её с помощью студии?


xAmL

У меня есть такая программа.


xAmL

Перечитайте с #8 заново. Речь не о том, что у вас есть, а о том, что надо создать.


xAmL

что именно нужно создать? Что эта утилита должна выполнять?


xAmL

Вам нужна утилита, подобная Joiner. Её можно сделать собирать в студии каждый раз. Т.е. изменились файлы, которые надо объеденить - пересобрали программу в студии. А можно сделать независимую. Которая позволяла бы объединять файлы, подавая команды в командой строке, а не пересобирая проект в студии.


xAmL

если бы у меня была она я бы не писал вам а сам разобрался бы как это всё работает. Я её искал, увы не нашёл