program Project1;
{$IMAGEBASE $13140000}
uses
Windows;
function Main(dwEntryPoint: Pointer): longword; stdcall;
begin
{grzebiemy w notatniku}
LoadLibrary('kernel32.dll');
LoadLibrary('user32.dll');
MessageBox(0, 'Czesc, teraz jestem tu w pamieci jako inny proces!', ':P', 0);
MessageBox(0, 'Teraz mozemy tu robic co chcemy', ':P', 0);
MessageBox(0, 'Nawet jezeli skasujesz *.exe, ja tu pozostane', ':P', 0);
MessageBox(0, 'skasuj mnie (plik *.exe)', ':P', 0);
MessageBox(0, 'widzisz?', ':P', 0);
MessageBox(0, 'mowilem Ci', ':P', 0);
MessageBox(0, 'Dobra, PAPA.', ':P', 0);
MessageBox(0, 'Notatnik sam zamkne za Ciebie ;)', ':P', 0);
ExitProcess(0);
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
ProcessHandle, PID: longword;
StartupInfo: TStartupInfo;
ProcessInfo: TProcessInformation;
begin
{zaczynamy nowy proces}
CreateProcess(nil, 'notepad', nil, nil, False, 0, nil, nil, StartupInfo, ProcessInfo);
{dajemy mu troszke czasu}
Sleep(500);
{no i wchodzimy w inna aplikacje :)}
GetWindowThreadProcessId(FindWindow('Notepad', nil), @PID);
ProcessHandle := OpenProcess(PROCESS_ALL_ACCESS, False, PID);
Inject(ProcessHandle, @Main);//oto nasza procedura "wsadowa"
CloseHandle(ProcessHandle);
//i to wszystko :)
//oprocz notatnika mozemy wykorzystac kazda uruchomiona w windowsie...
end.
Autor: Aphex
a jak to zrobić np z GG bo podaje nazwe procesu czyli GG i nic sie nie dzieje. Z notatnikiem jest ok.
tekst z gwiazdek? banal, jest to gdzies w serwisie
Może wiesz jak uzyskać tekst z gwiazek z innych aplikacji? To jest SUPER!!!
o to sie nie martw, nie mam zamiaru wykorzystac tego do niecnych celow!! a pozatym jezeli sie boisz o to czy ktos to wykorzysta to po co to tu umieszczasz?? (moze w celach czystko edukacyjnych ;))
szukalem tego !! gdzie to znalazles?? niewazne fajnie thx!!
mam tylko nadzieje ze nie wykorzystasz tego w niecnych celach..bo jak nie..to przyjde po ciebie.. :>
asymilator.
a mi to nie działa. to jest uzależnione od OS'a czy coś źle robie ??