飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 5702|回复: 7

向一个exe后面添加另一个exe(可以使木马哦~)

[复制链接]
  • TA的每日心情
    开心
    2024-6-9 16:20
  • 签到天数: 24 天

    [LV.4]偶尔看看III

    发表于 2007-10-25 17:50:09 | 显示全部楼层 |阅读模式
    玩世不恭

    unit Unit1;

    interface

    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls,inifiles,shellapi;

    type
      TForm1 = class(TForm)
        Button1: TButton;
        Button3: TButton;
        Button4: TButton;
        procedure Button2Click(Sender: TObject);
        procedure Button1Click(Sender: TObject);
        procedure Button3Click(Sender: TObject);
        procedure Button4Click(Sender: TObject);
      private

      public
        function Cjt_AddtoFile(SourceFile,TargetFile:string):Boolean;
      end;

    var
      Form1: TForm1;

    implementation

    {$R *.dfm}

    function TForm1.Cjt_AddtoFile(SourceFile,TargetFile:string):Boolean;
    var
      Target,Source:TFileStream;
      MyFileSize:integer;
    begin
      try
        Source:=TFileStream.Create(SourceFile,fmOpenRead  or fmShareExclusive);
        Target:=TFileStream.Create(TargetFile,fmOpenWrite or fmShareExclusive);
        TRY
          Target.Seek(0,soFromEnd);//往尾部添加资源
          Target.CopyFrom(Source,0);
          MyFileSize:=Source.Size+Sizeof(MyFileSize);//计算资源大小,并写入辅程尾部
          Target.WriteBuffer(MyFileSize,sizeof(MyFileSize));
        finally
          Target.Free;
          Source.Free;
        end;
      except
        Result:=False;
        Exit;
      end;
      Result:=True;
    end;

    Function Cjt_LoadFromFile(SourceFile,TargetFile :string):Boolean;
    var
      Source:TFileStream;
      Target:TMemoryStream;
      MyFileSize:integer;
    begin
      try
        Target:=TMemoryStream.Create;
        Source:=TFileStream.Create(SourceFile,fmOpenRead or fmShareDenyNone);
        try
          Source.Seek(-sizeof(MyFileSize),soFromEnd);
          Source.ReadBuffer(MyFileSize,sizeof(MyFileSize));//读出资源大小
          Source.Seek(-MyFileSize,soFromEnd);//定位到资源位置
          Target.CopyFrom(Source,MyFileSize-sizeof(MyFileSize));//取出资源
          Target.SaveToFile(TargetFile);//存放到文件
        finally
          Target.Free;
          Source.Free;
        end;
      except
        Result:=false;
        Exit;
      end;
      Result:=true;
    end;



    procedure TForm1.Button2Click(Sender: TObject);
    begin
      Cjt_AddtoFile('F:\8.exe','F:\31.exe');
    end;

    procedure TForm1.Button1Click(Sender: TObject);
    begin
      Cjt_LoadFromFile('F:\ctk\31.exe','F:\ctk\ZXC.EXE');
    end;

    procedure TForm1.Button4Click(Sender: TObject);
    begin
    // ShellExecute(handle, "open", path_to_folder, NULL, NULL, SW_SHOWNORMAL);
      ShellExecute(handle, 'open', 'F:\CTK\zxc.exe', '', '', SW_SHOWNORMAL);
    end;

    end.
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2007-10-25 18:01:59 | 显示全部楼层
    一个问题,MyFileSize如何保留的?
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2007-10-29 20:38:17 | 显示全部楼层
    用流这种方式不怎么样。体积比较大,不如往pe空隙里插代码。。
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2007-11-5 14:56:12 | 显示全部楼层
    呵呵  谢谢了
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2009-2-4 23:05:26 | 显示全部楼层
    /:023 /:023 谢谢了
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2009-12-19 15:18:41 | 显示全部楼层
    :handshake 不错不错。
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    前天 08:50
  • 签到天数: 865 天

    [LV.10]以坛为家III

    发表于 2014-6-25 10:36:34 | 显示全部楼层

    用流这种方式不怎么样。体积比较大,不如往pe空隙里插代码。。
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2016-10-9 06:09
  • 签到天数: 43 天

    [LV.5]常住居民I

    发表于 2016-8-7 16:08:39 | 显示全部楼层
    谢谢分享,虚心学习。
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表