Показать сообщение отдельно

Проблема с поиском строки в PE файле
  #1  
Старый 13.11.2008, 23:47
_nic
Постоянный
Регистрация: 05.05.2006
Сообщений: 743
С нами: 10535289

Репутация: 107


По умолчанию Проблема с поиском строки в PE файле

Пробую найти байт с которого начинается текстовая строка находящяся в PE файле
Пытаюсь делать вот так
Код:
int segg(char str[100],char path[300],char sub[100])
{
int seg=0;DWORD rb;
char *fil=new char[1024*1024];
HANDLE f=CreateFile(path,GENERIC_READ | GENERIC_WRITE,0,NULL,OPEN_EXISTING,FILE_FLAG_RANDOM_ACCESS,0);
ReadFile(f,fil,1024*1024,&rb,NULL);
for(;;)
{
if(strlen(fil)==0)
{
fil+=1;seg++;
if(strstr(fil,str)!=NULL){strcpy(sub,fil);break;}
}
seg=seg+strlen(fil);
fil+=strlen(fil);
if(seg==rb)
{
MessageBox(Form1->Handle,"Не тот файл","Ошибка",MB_ICONERROR);
break;
}
}
CloseHandle(f);
return(seg);
}
Проблема заключается в том что эта ф-ция может находить одни строки и ненаходить другие.Хотя WinHEX их находит Немогу понять в чем прикол
 
Ответить с цитированием