Also mein Programm sieht jetzt so aus:
Code:
#include <windows.h>
#include <stdio.h>
#include<fcntl.h>
#define PROCESS_ID_MANUAL 1484
int main()
{
unsigned char puffer[1024];
void *pressid;
void *startip;
unsigned int bytes=1024;
char puffer2[2] ="H";
int stream_r;
char test[] = "c:/text.txt";
stream_r=open(test,O_WRONLY);
pressid= OpenProcess(PROCESS_VM_READ,1,PROCESS_ID_MANUAL);
ReadProcessMemory(pressid,(void*)0x0,puffer,100,&bytes);
printf("%s", puffer); /* gibt nur MZ aus, weil danach 00 kommen */
/*bisschen aufgeppept*/
printf("konnte 0x%X Bytes einlesen\n",bytes);
int i;
for (i=1;i<bytes-1;i++)
{
printf("%0.2X ",puffer[i-1]);
// if(isprint(puffer[i-1]) || puffer[i-1] == 20)
if(puffer[i-1] != 0)
{
write(stream_r,&puffer[i-1],1);
}
if ((i%16==0)) printf("\n"); /*Zeilenumbruch alle 16 Bytes*/
}
system("pause");
return 0;
}
nun kriege ich aber Trotz abfrage von zwei verschiedenen Prozessen das selbe Ergebnis ... Wie kann das sein?
Ich glaube das weicht gerade vom Topic ab...
ich habe das Thema im Thread neugestartet
http://free-hack.com/showthread.php?p=360212#post360212
ansonsten kann dieser thread geschlossen werden ...