Всем привет. Люди подскажите как в exe-шнике найти строку,например такую: 31 00 21 45 как проще решить данную задачу? вот например открываю фаил,ставлю точку на начало файла а как дальше ? как найти ? Подскажите кто знает. Код (Text): format PE GUI 4.0 entry start include 'win32a.inc' start: invoke CreateFile,pFile,GENERIC_READ+GENERIC_WRITE,FILE_SHARE_READ+FILE_SHARE_WRITE,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0 test eax,eax je exit mov esi,eax invoke SetFilePointer,esi,[RAWOFFSET],0,0,0 ... .. .. . . .. .. .. . .. . .. . . . push 0 push tytl push rBytes ;результат поиска push 0 call [MessageBoxA] exit: invoke ExitProcess,0 tytl db 'Win',0 pFile db 'notepad.exe',0 RAWOFFSET dd 0000000h rBytes dd 0 section '.idata' import data readable writeable library kernel32,'KERNEL32.DLL',\ user32,'USER32.DLL' include 'api/kernel32.inc' include 'api/user32.inc'
Вот как например в редакторе WinHex, есть кнопочка Find Hex Values тыкаем её ,вбиваем '31 00 21 45' и он находит в проге кусок кода(если есть конечно такой код)
Тогда это поиск не строки '31 00 21 45', а данных db 0x31, 0x00, 0x21, 0x45 А в чём сложность то? Самое простое - загружай файл целиком в буфер, и ищи. http://algolist.manual.ru/search/index.php