import binascii

# Chemin du fichier d'entrée
input_file = "/var/www/html/modification_carto/023LN_IntFl"

# Séquence de bytes à rechercher
search_sequence_hex = "8380f08f"
search_sequence_bytes = bytes.fromhex(search_sequence_hex)

# Lire le fichier en mode binaire
with open(input_file, 'rb') as file:
    file_content = file.read()

# Taille des segments et le nombre total de segments
segment_size = len(search_sequence_bytes)
num_segments = len(file_content) // segment_size

# Rechercher la séquence de bytes dans chaque segment
matching_segments = []
for i in range(num_segments):
    segment = file_content[i * segment_size: (i + 1) * segment_size]
    if search_sequence_bytes in segment:
        matching_segments.append((i, segment))

# Afficher les segments correspondants et leur contexte
print(f"Matching segments for sequence {search_sequence_hex}:")
for index, segment in matching_segments:
    print(f"Index: {index}, Segment: {segment.hex()}")
    
    # Afficher plus de contexte autour du segment trouvé
    start_index = max(0, index * segment_size - segment_size * 2)
    end_index = min(len(file_content), (index + 1) * segment_size + segment_size * 2)
    context = file_content[start_index:end_index]
    print(f"Context around the segment (index {index}): {context.hex()}")

# Afficher le nombre total de segments correspondants
print(f"Total matching segments: {len(matching_segments)}")
