libmagic(파일) 데이터베이스 "사용" 및 "지우기" 유형

libmagic(파일) 데이터베이스 "사용" 및 "지우기" 유형

현재 libmagic 데이터베이스(file 명령에 사용됨)에 대한 파서를 작성 중인데 "use" 및 "clear" 유형(매직 파일의 두 번째 열)에 대한 정보를 찾지 못했습니다.
이 유형이 무엇을 해야 하는지 설명해줄 수 있는 사람이 있나요?

답변1

이는 상당히 새로운 기능이며 다음 문서에 설명되어 있습니다.magic(5):

use
현재 오프셋부터 시작하여 지정된 매직을 재귀적으로 호출합니다. 참조된 이름이 다음으로 끝나는 경우 ^그런 다음 마법이 언급되면 마법의 바이트 순서가 전환됩니다.leshort예를 들어, 다음과 같이 간주됩니다. beshort 그 반대. 이는 다른 바이트 순서에 대한 규칙 반복을 방지하는 데 유용합니다.

clear
이 테스트는 항상 true이며 해당 연속 수준에 대한 일치 플래그를 지웁니다. 기본 테스트와 함께 사용하도록 설계되었습니다.

"매우 새로운" 기준:

2014-11-27 18:40 크리스토스 줄라스

    * Allow setting more parameters from the command line.
    * Split name/use and indirect magic recursion limits.

2013-04-22 11:20 크리스토스 줄라스

    * The way "default" was implemented was not very useful
      because the "if something was printed at that level"
      was not easily controlled by the user, and the format
      was bound to a string which is too restrictive. Add
      a "clear" for that level keyword and make "default"
      void. This way one can do:            

            >>13    clear   x
            >>13    lelong  1       foo
            >>13    lelong  2       bar
            >>13    default x
            >>>13   lelong  x       unknown %x 

관련 정보