зачем сортировать то? мы просто делаем N деревьев с ветками длиной не более 12, где N - количество различных байт, присутствующих в файле...
вообще говоря, можно базу найти через PEB... это более универсально в отношении DLL...
у меня хедер, может кому пригодится: #ifndef _OPCODE_H_ #define _OPCODE_H_ // Вызовы и инструкции переходов #define ASM_CALL 0x15FF #define...
странный вопрос... может стоит почитать об организации памяти в виндовс: http://wm-help.net/books-online/book/59464.html (часть III полностью)
с деревом интереснее... и мне кажется, что будет быстрее... единственное, что действительно стоит добавить, это формировать дерево не по первому...
а для чего он нужен? что потом делать с семплами?
пишите очередной фрисорц антивирус?)))
вот именно, что не нужно... читайте раньше: то есть последовательности должны быть во всех файлах, а не в определенном количестве файлов из...
да не зачем... из первого файла вы формируете описанное выше дерево, и этого достаточно... считываете следующие файлы и проверяете по веткам...
можно ещё придумать хеш-функции последовательностей, по которым можно было бы определять подстроки... но это надо думать...
вообще можно так, если нет существенных ограничений по памяти... утрированно, у вас есть алфавит из 256 символов (1 байт)... вы начинаете...
а зачем вам? есть как бы другие варианты, не зависимо от того, какую задачу вы пытаетесь решить)))
не надо ничего хардкодить... все, что вам может понадобиться, есть в PE-заголовке... не только смещение EntryPoint, но и таблица импорта кстати)))
разобрать PE-формат...
хех... да, выглядит это понятнее среднестатистическому программисту... но опять же надо знать, как ее вызвать... а с этим у автора темы и возникла...
typedef HHOOK (WINAPI* ffSetWindowsHookEx)(int,HOOKPROC,HINSTANCE,DWORD); ffSetWindowsHookEx ___SetWindowsHookEx;...
typedef HHOOK (*ffSetWindowsHookEx)(int,HOOKPROC,HINSTANCE,DWORD); ffSetWindowsHookEx ___SetWindowsHookEx;...
еще есть такой момент в атрибутах, обратите внимание:
может быть проблема с Handle? память под хендл выделена, или вы просто объявили ее как указатель? не проще ли сделать так: HANDLE Handle = NULL;...
Clerk пару моментов из вашего поста я знал, а за остальное - большое спасибо!
Имена участников (разделяйте запятой).