특정 바이트 패턴에 대해 일부 메모리 범위를 검색하려고합니다. 따라서, 내 접근 방식은 메모리 범위의 패턴을 찾기 위해 Boyer-Moore-Horspool 알고리즘을 사용하여 함수를 구축하는 것입니다.일부 메모리 영역에서 바이트 패턴 찾기
wildcard
바이트는 와일드 카드로 처리해야하는 특정 바이트에 그대로 있습니다. 예 - wildcard
이 0xCC
인 경우 0xCC
, pattern
은 모두 와일드 카드입니다.
이 함수는 처음 패턴을 찾은 메모리 범위의 시작 부분을 반환해야합니다.
내 질문이 있습니다. 비슷한 기능이 이미 가장 일반적인 라이브러리에서 이미 수행 되었습니까? 아니면 직접 구현해야합니까?
여기서 "와일드 카드"는 무엇을 의미합니까? 일부 인터 프라테이션에서 와일드 카드는 0 개 이상의 일치를 의미 할 수 있으며, 다른 정의에서는 1 개 이상의 일치를 의미 할 수 있습니다. 귀하의 정의를 명확히하십시오. –
와일드 카드는이 경우 정확히 하나의 일치입니다. 따라서 패턴이 0x1337f00d이고 와일드 카드가 0x37로 설정된 경우 0x13 ?? f00d와 일치해야합니다. 임의의 바이트입니다. – Etan