导航:首页 > 编程语言 > delphi外壳程序

delphi外壳程序

发布时间:2021-11-25 15:19:18

1. delphi 获取硬盘外壳ID号

function Tform1.GetIdeSerialNumber: pchar; //获取硬盘的出厂系列号;
const IDENTIFY_BUFFER_SIZE = 512;
type
TIDERegs = packed record
bFeaturesReg: BYTE;
bSectorCountReg: BYTE;
bSectorNumberReg: BYTE;
bCylLowReg: BYTE;
bCylHighReg: BYTE;
bDriveHeadReg: BYTE;
bCommandReg: BYTE;
bReserved: BYTE;
end;

TSendCmdInParams = packed record
cBufferSize: DWORD;
irDriveRegs: TIDERegs;
bDriveNumber: BYTE;
bReserved: array[0..2] of Byte;
dwReserved: array[0..3] of DWORD;
bBuffer: array[0..0] of Byte;
end;

TIdSector = packed record
wGenConfig: Word;
wNumCyls: Word;
wReserved: Word;
wNumHeads: Word;
wBytesPerTrack: Word;
wBytesPerSector: Word;
wSectorsPerTrack: Word;
wVendorUnique: array[0..2] of Word;
sSerialNumber: array[0..19] of CHAR;
wBufferType: Word;
wBufferSize: Word;
wECCSize: Word;
sFirmwareRev: array[0..7] of Char;
sModelNumber: array[0..39] of Char;
wMoreVendorUnique: Word;
wDoubleWordIO: Word;
wCapabilities: Word;
wReserved1: Word;
wPIOTiming: Word;
wDMATiming: Word;
wBS: Word;
wNumCurrentCyls: Word;
wNumCurrentHeads: Word;
wNumCurrentSectorsPerTrack: Word;
ulCurrentSectorCapacity: DWORD;
wMultSectorStuff: Word;
ulTotalAddressableSectors: DWORD;
wSingleWordDMA: Word;
wMultiWordDMA: Word;
bReserved: array[0..127] of BYTE;
end;

PIdSector = ^TIdSector;
TDriverStatus = packed record
bDriverError: Byte;
bIDEStatus: Byte;
bReserved: array[0..1] of Byte;
dwReserved: array[0..1] of DWORD;
end;

TSendCmdOutParams = packed record
cBufferSize: DWORD;
DriverStatus: TDriverStatus;
bBuffer: array[0..0] of BYTE;
end;
var
hDevice: Thandle;
cbBytesReturned: DWORD;
SCIP: TSendCmdInParams;
aIdOutCmd: array[0..(SizeOf(TSendCmdOutParams) + IDENTIFY_BUFFER_SIZE-1)-1] of Byte;
IdOutCmd: TSendCmdOutParams absolute aIdOutCmd;

procere ChangeByteOrder(var Data; Size: Integer);//函数中的过程
var
ptr: Pchar;
i: Integer;
c: Char;
begin
ptr := @Data;
for I := 0 to (Size shr 1) - 1 do begin
c := ptr^;
ptr^ := (ptr + 1)^;
(ptr + 1)^ := c;
Inc(ptr, 2);
end;
end;

begin //函数主体
Result := '';
if SysUtils.Win32Platform = VER_PLATFORM_WIN32_NT then
begin // Windows NT, Windows 2000
hDevice := CreateFile('\\.\PhysicalDrive0', GENERIC_READ or GENERIC_WRITE,
FILE_SHARE_READ or FILE_SHARE_WRITE, nil, OPEN_EXISTING, 0, 0);
end
else // Version Windows 95 OSR2, Windows 98
hDevice := CreateFile('\\.\SMARTVSD', 0, 0, nil, Create_NEW, 0, 0);
if hDevice = INVALID_HANDLE_VALUE then Exit;
try
FillChar(SCIP, SizeOf(TSendCmdInParams) - 1, #0);
FillChar(aIdOutCmd, SizeOf(aIdOutCmd), #0);
cbBytesReturned := 0;
with SCIP do
begin
cBufferSize := IDENTIFY_BUFFER_SIZE;
with irDriveRegs do
begin
bSectorCountReg := 1;
bSectorNumberReg := 1;
bDriveHeadReg := $A0;
bCommandReg := $EC;
end;
end;
if not DeviceIoControl(hDevice, $0007C088, @SCIP, SizeOf(TSendCmdInParams) - 1,@aIdOutCmd, SizeOf(aIdOutCmd), cbBytesReturned, nil) then Exit;
finally
CloseHandle(hDevice);
end;
with PIdSector(@IdOutCmd.bBuffer)^ do
begin
ChangeByteOrder(sSerialNumber, SizeOf(sSerialNumber));
(Pchar(@sSerialNumber) + SizeOf(sSerialNumber))^:= #0;
Result := Pchar(@sSerialNumber);
end;
end;

注意: vista 和win7下无效

2. delphi编写一个外壳程序,壳里面能调用网页

procere TForm1.btn1Click(Sender: TObject);
begin
ShellExecute(Handle,'open','网址',
nil,nil,SW_SHOWNORMAL);
end;

3. 如何制作delphi的打包程序

通常, 在 delphi 中建立一个工程文件(*.dpr;*.dproj),点击工具条上的 Run 图标就会自动将源代码编译成 exe 文件:

其中,exe 文件生成的路径,在 Project 菜单下的 Option 中进行设定:

如果生成的 exe 文件需要进行正式打包发布,根据软件的特点可以采用不同的方式:

1、仅需要生成的 exe 文件,不需要其他文件的支持
对于这种类型的软件,通常是比较小的工具类软件,则可以直接将生成的 Exe 文件发布即可。

2、软件的运行还需要其他文件支持
一些稍大些的软件可能就需要其他的支持,比如:数据库、驱动程序等等。这时可以采用专门的软件安装制作工具,将所有需要的文件(包括 exe 和其他文件)进行二次打包。
此类软件安装制作工具较多,常用的有 Windows Intaller、 InstallShield、Setup Factory 等等。

如 Setup Factory 的制作向导:

4. Borland Delphi DLL是什么壳

用PEID查看的时候如果程序没有加壳,那么显示的是该程序是用什么编译器编译的,由你描述的可以看出来,你所查看的程序是用Borland Delphi 6.0 - 7.0编写和编译的. Borland Delphi 为一种编程语言和工具,其语言为OBJECT PASCAL,现已改为DELPHI语言

5. delphi调用外部程序~~~~~~~~~~~~

你的NC.exe在哪个路径,补上去
ShellExecute(0,"open","nc.exe -w 2 192.168.0.1 80<2.txt",0,0,SW_SHOW );

6. PEid查壳,显示Borland Delphi 6.0 - 7.0,请问这个壳怎么去啊

Borland Delphi 6.0 - 7.0不是壳,是一种编程语言。这是告诉你,该程序使用Delphi编写的。

Delphi程序没有办法还原到C++代码,这两者不是一种语言!

你只能想办法将它还原到Delphi代码(不过,目前还没有什么好的工具)。

7. Borland Delphi 2.0 这个是壳吗

Borland Delphi 2.0 不是壳,是一门编程语言,到这里壳就算没有了, 如果你还未找到数据说明是在写程序的时候就加密过的

8. delphi 如何激活外部程序

我在一个应用程序中要频繁调用了另一个应用程序(X.exe),只有第一次调用时,X.exe能弹出,以后调用时就不能弹出了. 查看更多答案>>

采纳哦

9. Borland Delphi 6.0 - 7.0是壳吗

Borland Delphi 是一种编程语言,它的前身就是PASCAL语言,如果你在做逆向工程,这说明软件没有加壳,并且我极力建议你用DeDe来反汇编Delphi的代码,极其方便,可以直接看到每一个过程和函数的汇编代码。

10. Borland Delphi 6.0 - 7.0编写好的程序进行脱壳

这是Delphi编程的程序,程序可能隐藏了内部字符串,不能简单的用汉化程序汉化,需要用反编译程序找到内部字符串来修改

阅读全文

与delphi外壳程序相关的资料

热点内容
文件批量改名排序 浏览:415
系统封装工具哪个好 浏览:206
电脑删除大文件 浏览:142
苹果6swifi芯片 浏览:609
步步高3s换电池教程 浏览:254
win98还原系统 浏览:690
路由器接路由器wifi 浏览:410
小米not2屏幕暗纹 浏览:314
大数据对风险管理 浏览:36
java2d游戏编程入门 浏览:170
锤子手机系统功能 浏览:416
html网站建设实例教程 浏览:198
大数据系统数据主要包括 浏览:749
eclipse代码实例 浏览:206
javastring类型的长度 浏览:779
win10蓝牙链接手机软件 浏览:908
批量汇总文件名称 浏览:954
js左查询 浏览:56
苹果6p进水屏幕失灵 浏览:956
安卓img解包打包工具 浏览:700