[go] 바이너리 데이터에서 특정 패턴을 검색하는 방법
package main
import (
"fmt"
"io/ioutil"
"bytes"
)
func main() {
data, err := ioutil.ReadFile("binaryfile.bin")
if err != nil {
fmt.Println("파일을 읽을 수 없음:", err)
return
}
pattern := []byte{0x12, 0x34, 0x56} // 검색할 패턴을 바이트 슬라이스로 정의
index := bytes.Index(data, pattern)
if index != -1 {
fmt.Println("패턴이 발견됨. 인덱스:", index)
} else {
fmt.Println("패턴이 발견되지 않음.")
}
}
위의 코드는 ioutil.ReadFile
함수를 사용하여 바이너리 파일을 읽고, bytes.Index
함수를 사용하여 특정 패턴의 인덱스를 찾아내는 방법을 보여줍니다. 이 예시는 패턴으로 [0x12, 0x34, 0x56]
을 검색하도록 설정되어 있습니다.
이러한 기술을 사용하면 Go 언어를 활용하여 바이너리 데이터에서 특정 패턴을 효과적으로 검색할 수 있습니다.