Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
HANDLE hp = OpenProcess(PROCESS_CREATE_THREAD | PROCESS_QUERY_INFORMATION |
PROCESS_VM_OPERATION | PROCESS_VM_WRITE | PROCESS_VM_READ,
FALSE, <ИДЕНТИФИКАТОР ПРОЦЕССА>);
void *pLibName = VirtualAllocEx(hp, NULL, MAX_PATH, MEM_COMMIT, PAGE_READWRITE);
WriteProcessMemory(hp, pLibName, (void *) <ИМЯ DLL>, MAX_PATH, NULL)
function GetModuleHandleEx(sLibName: string; dwPID: DWORD): pointer;
var
me: TMODULEENTRY32;
hSnap: DWORD;
begin
result := nil;
hSnap := CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, dwPID);
if hSnap <> DWORD(INVALID_HANDLE_VALUE) then
begin
me.dwSize := SizeOf(TMODULEENTRY32);
if Module32First(hSnap, me) then
repeat
if UpperCase(string(me.szModule)) = UpperCase(sLibName) then
begin
result := pointer(me.modBaseAddr);
break;
end;
until not Module32Next(hSnap, me);
CloseHandle(hSnap);
end;
end;
{$O-}
function GetProcAddressEx(sLibName, sFuncName: string; dwPID: DWORD): DWORD;
var
hLib: DWORD;
begin
hLib := GetModuleHandle(PChar(sLibName));
result := DWORD(DWORD(GetProcAddress(hLib, PChar(sFuncName))) -
hLib + DWORD(GetModuleHandleEx(sLibName, dwPID)));
end;
{$O+}
http://*.youtube.com/videoplayback?*/^https?\:\/(\/[^\/\?]*){2,}\.(flv|iflv|f4v|mpg|mpeg|wmv|mp3|mp4|m4v|mov)(\?.*)?$/
Перехват видео в браузере или TCP сниффер под Windows на коленке (часть первая)