Quote:
Originally Posted by FFCloud
Awas für eine DLL ich injiziere ist egal, oder ?
|
Egal ist das net .. sagen wirs so deine DLL sollte geladen werden vor HShild xD
Sprich am besten ist eine
PROXY-DLL ...
z.b. ADVAPI32.dll oder KERNEL32.dll oder USER32.dll.. die werden schon mit dem Arma dingsda Loader geladen .. musst aber aus passen das Arma dingsda .. die sections schon erstellt hat ..
einfach nen thread starten und schauen ob auf 0x00400k MZ steht (DOS Header)
(
oder 2sek sleep .. xD natürlich in einem THREAD ! sonst stopt alles)
Einfach registry den Eintrag unter
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro l\Session Manager\KnownDLLs
den namen deine proxy dll rauslöschen .. dann wird die dll vom Verzeichnis geladen ..
wie z.b
ws2_32.dll (
die steht standart net im KnownDlls drin)
Kannst es auch mit
API Init DLL Eintrag dingda probieren (
hab ich noch nei gemacht deswegen weiß ichs net.. - hab ich aber irgendwo in CodeProjects gelsen .. unter APIHooking oder so) ..
Da ist dann auf jeden fall einfach ne DLL zu erstellen
Auf jeden fall mein aktueller DUMP-CODE .. ohne PE/MZ-Header reader ..
sprich offsets müssen selber angegeben werden, schaut so aus:
PHP Code:
printf("DUMPING Engine.exe ");
ofstream file ("Engine_DUMP.exe", ios::out|ios::binary);
if (file.is_open())
{
char* memblock=(char*)0x00400000;
file.write (memblock, 5705728); //5.2 mb
file.close();
cout << " the complete memory is written to Engine_DUMP.exe n";
delete[] memblock;
}
btw this is C++ not PHP
Und den EntryPoint hab ich so gefunden:
PHP Code:
int WINAPI MyHook(LPOSVERSIONINFOA lpVersionInformation)
{
//backadress xD
DWORD backadress=0;
__asm
{
mov eax,[ebp+4];
mov backadress,eax;
}
if (backadress < 0x00700000)
{
printf("Entry Point found! I believe it's near 0x%08x n",backadress);
Sleep(1000);
}
return GetVersionExW(LPOSVERSIONINFOW(lpVersionInformation));
}
Einfach ein
GetVersionExA hook
Jo ..Kal wurde in VC geschrieben ... schön das beim EntryPoint ..
IMMER GetVersionExA.. abgefrag wird xD
thx Microsoft
Einfach den ersten Offset aufschrieben .. dann im VC debugger auf die adress springen und den Anfang der funktion suchen (
ja der ist 3-4 zeilen weiter oben xD)
push 60 steht dann dort .. glaub ich
Dann haste auch schon den
EntryPoint
Vllt kommste auch mit nen Injector rein.. aber hmh das ist net so sicher xD musste ausprobieren