Follow along with the video below to see how to install our site as a web app on your home screen.
Anmerkung: This feature may not be available in some browsers.
+0 8byte ANSI name
+8 dword virtual size
+C dword virtual address (an rva to where it should bee mapped)
10 dword sizeofrawdata
14 dword pointerToRawData (file based offset)
18 dword pointerToRelocations
1C dword PointerToLinenumbers
20 word NumberOfRelocations
22 word NumberOfLineNumbers
24 dword Characteristics
FILE *fp;
fopen("datei","ab");
fwrite(HexCode[2000000],1,1,"datei");
eigentlich sollte es so gehen:das einzige prb was ich jetzt noch hab is das fwrite "const void" als ersten parameter will und "HexCode" ein unsigned array is
pFile = fopen ( "datei" , "ab" );
fwrite (HexCode , sizeof(buffer[0]) , sizeof(buffer) , pFile );
fclose (pFile);
Such mal nach IID King. Damit kann man Funktionen aus einer DLL der Exe hinzufügen.und: Wenn ich, wie du weiter unten in deinem Beitrag vorgeschlagen hast, eine dll hinzufüge, wie wird diese dann geladen? bzw kann ich sie, wie oben erwähnt als Thread laufen lassen?
LibMain proc hInstDLL:DWORD, arg:DWORD, reserviert:DWORD
.if arg == DLL_PROCESS_ATTACH
invoke CreateThread,0,0,addr Thread,addr BytesWritten,NULL,addr ThreadID
mov eax,1
ret
.elseif arg==DLL_PROCESS_DETACH
mov eax,1
.endif
ret
LibMain Endp
dafür ist CreateThread gedacht. Sonst würde die Exe hängen bleiben.Original von Mo
Hallo,
danke für die Antwort!
Hmm wie meinst du das?
Ich hatte eig an Code gedacht der parallel zur EXE läuft also praktisch ein eigenständiges parallel laufendes Programm
also zur Laufzeit: DLL-Injection. Ansonsten müsste man sich was zusammenbasteln, entweder einen Code hineinschreiben, der die DLL lädt (z.B in die DOS-Stub) oder Imports erweitern.Gibt es irgendwo n Bsp etc (Material oder so), das zeigt wie ich das automatisiere?
Also ohne externes Programm? (ich meine das was IID King macht)
Ja, CRC des Exefiles oder Laufzeitprüfungen. Das sieht man öfters, wenn die Exe gepackt ist - z. B PECompact gibt bei einer Exemodifizierung die Meldung "Virus hat Exe modifiziert bla" (oder so ähnlich) aus.Btw: Kann sich eine exe Datei dagegen schützen so manipuliert zu werden?
Du startest den Thread per CreateThread. Dadurch läuft dieser "parallel" und CreateThread return sofort nach der Threaderstellung. Die "Parallelität" ist ja der Sinn von Threadsdieser Thread wird aber in der dll gestartet, dh doch der ganze Prozess wartet bis die dll-main returned oder?
* During process startup and DLL initialization routines, new threads can be created, but they do not begin execution until DLL initialization is done for the process.
* Only one thread in a process can be in a DLL initialization or detach routine at a time.
* ExitProcess does not return until no threads are in their DLL initialization or detach routines.
.
DWORD WINAPI TestThread(LPVOID lParam)
{
MessageBox(NULL,"Thread läuft und wurde durch die dll gestartet","",MB_OK);
return 0;
}
BOOL APIENTRY DllMain( HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
HANDLE hthread;
DWORD threadid;
if (ul_reason_for_call == DLL_PROCESS_ATTACH)
{
MessageBox(NULL,"dll process attach","",MB_OK);
hthread = CreateThread(NULL,NULL,TestThread,NULL,NULL,&threadid);
}
else if (ul_reason_for_call == DLL_PROCESS_DETACH)
{
MessageBox(NULL,"dll process detach","",MB_OK);
}
else
{
MessageBox(NULL,"was anderes","",MB_OK);
}
return TRUE;
}