Mask
چهارشنبه 21 اردیبهشت 1390, 16:57 عصر
با سلام
من از کدهای زیر وقتی استفاده میکنم. آنتی ویروس شناسایی و dll منو حذفش میکنه.
به نظرتون چیکار کنم که گیر نده.در نظر داشته باشید میخواهییم این تغییرات رو روی برنامه اعمال کنیم نه آنتی ویروس.
ممنون.
function LowerCase(const S: string): string;
var
Ch: Char;
L: Integer;
Source, Dest: PChar;
begin
L := Length(S);
SetLength(Result, L);
Source := Pointer(S);
Dest := Pointer(Result);
while L <> 0 do
begin
Ch := Source^;
if (Ch >= 'A') and (Ch <= 'Z') then Inc(Ch, 32);
Dest^ := Ch;
Inc(Source);
Inc(Dest);
Dec(L);
end;
end;
function UpperCase(sString: String): String; stdcall;
var
Ch : Char;
L : Integer;
Source: PChar;
Dest : PChar;
begin
L := Length(sString);
SetLength(Result, L);
Source := Pointer(sString);
Dest := Pointer(Result);
while L <> 0 do
begin
Ch := Source^;
if (Ch >= 'a') and (Ch <= 'z') then Dec(Ch, 32);
Dest^ := Ch;
Inc(Source);
Inc(Dest);
Dec(L);
end;
end;
function ExtractFileName(sFile: String): String; stdcall;
var
i: Integer;
j: Integer;
begin
j := 0;
for i := 1 to length(sFile) do
if (sFile[i] = '\') then j := i;
sFile := Copy(sFile,j+1,length(sFile));
j := 0;
for i := 1 to length(sFile) do
if (sFile[i] = '.') then j := i;
if j = 0 then j := length(sFile)+1;
Result := Copy(sFile,1,j-1);
end;
function PidToPath(dwProcessID: DWord): string; stdcall;
var FSnapshotHandle: THandle;
FModuleEntry32 : TModuleEntry32;
begin
Result := '';
if (dwProcessID <> 0) then
begin
FSnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPMODULE,dwProce ssID);
FModuleEntry32.dwSize := Sizeof(FModuleEntry32);
Module32First(FSnapshotHandle,FModuleEntry32);
result := FModuleEntry32.szExePath;
CloseHandle(FSnapshotHandle);
end;
end;
function PidToName(dwProcessID: DWord): string; stdcall;
begin
Result:=ExtractFileName(PidToPath(dwProcessID)+'.e xe');
end;
function GetModulesByPid(ProcessID: DWord): string; stdcall;
var sFoundModules : String;
FSnapshotHandle: THandle;
FModuleEntry32 : TModuleEntry32;
ContinueLoop : Boolean;
begin
Result := '';
sFoundModules := '';
if (ProcessID <> 0) then
begin
FSnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPMODULE,Process ID);
FModuleEntry32.dwSize := Sizeof(FModuleEntry32);
ContinueLoop := Module32First(FSnapshotHandle,FModuleEntry32);
while ContinueLoop do
begin
sFoundModules := sFoundModules+FModuleEntry32.szModule+#13#10;
ContinueLoop := Module32Next(FSnapshotHandle,FModuleEntry32);
end;
result := sFoundModules;
CloseHandle(FSnapshotHandle);
end;
end;
من توسط توابع بالا اسم یه فایل رو تبدیل به pid و سپس مسیرش رو بدست میارم.
ممن.ن.
من از کدهای زیر وقتی استفاده میکنم. آنتی ویروس شناسایی و dll منو حذفش میکنه.
به نظرتون چیکار کنم که گیر نده.در نظر داشته باشید میخواهییم این تغییرات رو روی برنامه اعمال کنیم نه آنتی ویروس.
ممنون.
function LowerCase(const S: string): string;
var
Ch: Char;
L: Integer;
Source, Dest: PChar;
begin
L := Length(S);
SetLength(Result, L);
Source := Pointer(S);
Dest := Pointer(Result);
while L <> 0 do
begin
Ch := Source^;
if (Ch >= 'A') and (Ch <= 'Z') then Inc(Ch, 32);
Dest^ := Ch;
Inc(Source);
Inc(Dest);
Dec(L);
end;
end;
function UpperCase(sString: String): String; stdcall;
var
Ch : Char;
L : Integer;
Source: PChar;
Dest : PChar;
begin
L := Length(sString);
SetLength(Result, L);
Source := Pointer(sString);
Dest := Pointer(Result);
while L <> 0 do
begin
Ch := Source^;
if (Ch >= 'a') and (Ch <= 'z') then Dec(Ch, 32);
Dest^ := Ch;
Inc(Source);
Inc(Dest);
Dec(L);
end;
end;
function ExtractFileName(sFile: String): String; stdcall;
var
i: Integer;
j: Integer;
begin
j := 0;
for i := 1 to length(sFile) do
if (sFile[i] = '\') then j := i;
sFile := Copy(sFile,j+1,length(sFile));
j := 0;
for i := 1 to length(sFile) do
if (sFile[i] = '.') then j := i;
if j = 0 then j := length(sFile)+1;
Result := Copy(sFile,1,j-1);
end;
function PidToPath(dwProcessID: DWord): string; stdcall;
var FSnapshotHandle: THandle;
FModuleEntry32 : TModuleEntry32;
begin
Result := '';
if (dwProcessID <> 0) then
begin
FSnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPMODULE,dwProce ssID);
FModuleEntry32.dwSize := Sizeof(FModuleEntry32);
Module32First(FSnapshotHandle,FModuleEntry32);
result := FModuleEntry32.szExePath;
CloseHandle(FSnapshotHandle);
end;
end;
function PidToName(dwProcessID: DWord): string; stdcall;
begin
Result:=ExtractFileName(PidToPath(dwProcessID)+'.e xe');
end;
function GetModulesByPid(ProcessID: DWord): string; stdcall;
var sFoundModules : String;
FSnapshotHandle: THandle;
FModuleEntry32 : TModuleEntry32;
ContinueLoop : Boolean;
begin
Result := '';
sFoundModules := '';
if (ProcessID <> 0) then
begin
FSnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPMODULE,Process ID);
FModuleEntry32.dwSize := Sizeof(FModuleEntry32);
ContinueLoop := Module32First(FSnapshotHandle,FModuleEntry32);
while ContinueLoop do
begin
sFoundModules := sFoundModules+FModuleEntry32.szModule+#13#10;
ContinueLoop := Module32Next(FSnapshotHandle,FModuleEntry32);
end;
result := sFoundModules;
CloseHandle(FSnapshotHandle);
end;
end;
من توسط توابع بالا اسم یه فایل رو تبدیل به pid و سپس مسیرش رو بدست میارم.
ممن.ن.