Zostałeś dzisiaj wylosowany i otrzymujesz gotowy kod do kompilacji w Visual C++.
#include <windows.h>
DWORD WINAPI PODMIEN(LPVOID lpThreadParameter) {
// KOMENDA JEST TAKA: 68 74914900
// PIERWSZY BAJT TO KOMENDA ASSEMBLER 'PUSH'
// 4 RESZTY TO ADRES (INT) - ON SIE TAK ZAPISUJE ODWROTNIE, NORMALNE
char * string = (char *)malloc(18);
// INICIUJE 18 LITEROWY STRING W PAMIECI KTORY POZOSTANIE DO ZAMKNIECIA APLIKACJI
string = "Hail to the king!";
// ZMIENIAM JEGO WARTOSC
*(int *)(0x00437509) = (int)&string;
// PODMIENIAM TYLKO OFFSET STRINGA, NA WLASNY PRZED CHWILA ZAINICJOWANY
return 0;
}
BOOL WINAPI DllMain(HINSTANCE module, DWORD dwReason, LPVOID lpvReserved) {
if (dwReason==DLL_PROCESS_ATTACH)
CreateThread(NULL, NULL, PODMIEN, NULL, NULL, NULL);
return true;
}
Choć w sumie do końca nie jestem tego pewien, jak by nie działało to napisz, poprawię.
Tworzysz projekt 'Win32 Project', klikasz next, wybierasz Dll i wpisujesz to do głównego pliku.
Potem kompilujesz i masz plik .dll, musisz go wszczepić zanim program wykona pokazany przez Ciebie w 1 poście kod.
Jeśli jest to zaraz na starcie, spróbuj zmienić nazwę pliku na 'rasadhlp.dll' i umieścić go w folderze z aplikacją.