Separador de texto por lotes TXT Python



Función de código:
1. Reconocer automáticamente el archivo TXT en la carpeta actual y dividirlo en archivos de 100M (debe dividir otros tamaños y formatos y modificar el código ligeramente)
2. No habrá caracteres distorsionados u otros problemas de codificación después de la división
. 3. Un archivo grande se puede procesar solo o varios archivos grandes se pueden procesar en lotes
4. El archivo es pequeño, fácil de operar y guardar

import os
 
 
def split_file(file_path, max_size):
    # 获取文件名和扩展名
    file_dir, file_name = os.path.split(file_path)
    file_base_name, file_ext = os.path.splitext(file_name)
 
    # 打开源文件
    with open(file_path, 'rb') as source_file:
        # 读取源文件内容
        content = source_file.read()
 
        # 计算文件大小
        file_size = len(content)
 
        # 计算拆分文件的数量
        split_count = file_size // max_size + 1
 
        # 拆分文件
        for i in range(split_count):
            # 构造拆分后的文件名
            split_file_name = f"{file_base_name}_{i}{file_ext}"
            split_file_path = os.path.join(file_dir, split_file_name)
 
            # 计算当前拆分文件的起始位置和结束位置
            start = i * max_size
            end = (i + 1) * max_size if i < split_count - 1 else file_size
 
            # 写入拆分文件
            with open(split_file_path, 'wb') as split_file:
                split_file.write(content[start:end])
 
            print(f"拆分文件 {split_file_name} 创建成功")
 
 
# 获取当前文件夹中的文本文件
file_list = [f for f in os.listdir('.') if os.path.isfile(f) and f.endswith('.txt')]
 
# 拆分每个文本文件
for file_path in file_list:
    split_file(file_path, 100 * 1024 * 1024)  # 拆分为每个文件大小不超过100MB

La herramienta más importante en la tecnología de análisis dinámico es el depurador, que se divide en dos tipos: modo usuario y modo kernel.
Depurador de modo de usuario: un depurador que se utiliza para depurar aplicaciones de modo de usuario que funcionan en el nivel de Ring3, como OllyDbg, x64dbg. También hay depuradores que vienen con compiladores como Visual C++.
Depurador de modo kernel: un depurador que puede depurar el kernel del sistema operativo, como WinDbg.

OllyDbg
se conoce como OD, un depurador de nivel de usuario. OD es un depurador de 32 bits muy potente, aunque el autor ha dejado de actualizarlo, todavía se puede utilizar como herramienta de aprendizaje. En la práctica, se recomienda utilizar la versión de 32 bits de x64dbg.

Las plataformas de 64 bits pueden usar x64dbg, IDA Pro, etc.

ventana de operación


Configure
ollydbg.ini: todas las configuraciones en el menú Opciones en OD se guardan en el
archivo ollydbg.ini UDD: archivo de proyecto OD, utilizado para guardar algunos estados de la depuración actual, como puntos de interrupción, comentarios, etc., para que la próxima depuración pueda seguir usando.
Complementos: OD admite complementos y proporciona API relacionadas. Esto lo hace muy escalable.

Configuración de depuración
Haga clic en "Opciones" - opción "Debugsingoplions" para abrir el cuadro de diálogo de opciones de configuración de depuración, generalmente mantenga el valor predeterminado. Entre ellos, la opción "Excepciones" se usa para configurar OllyDbg para que ignore o no ignore algunas excepciones, se recomienda seleccionar todas. El conocimiento sobre las excepciones se explicará en el Capítulo 8.

Cargar archivo de símbolo
Haga clic en la opción "Depurar" - "Seleet importlibraries" para abrir la ventana de importación de la biblioteca para cargar. El archivo de símbolos puede permitir que la función sea representada por el nombre de la función durante el proceso de depuración. Por ejemplo, hay una función llamada "abc", pero es probable que sea una cadena de números "004012f7" en el depurador, y el archivo de símbolos puede hacer que se muestre como "abc".

Operación básica
Teclas de atajo comunes:

Punto de interrupción
Los puntos de interrupción comúnmente utilizados son: punto de interrupción INT3, punto de interrupción de hardware, punto de interrupción de mensaje.

Punto de interrupción INT3
Cuando utiliza el comando bp o presiona F2, el punto de interrupción establecido es el punto de interrupción INT3. El principio es reemplazar la instrucción en el punto de interrupción con la instrucción CC para provocar una excepción, y el depurador interrumpe después de detectar la excepción y restaura la instrucción original. Por ejemplo:

 Copiar código Código oculto
004011F3 68 D0404000
||||||||||
004011F3 CC D0404000
Ventajas: puede establecer innumerables puntos de interrupción INT3, siempre que la computadora lo soporte.
Desventaja: fácil de detectar debido a un programa modificado

El método para establecer un punto de interrupción de hardware
es hacer clic con el botón derecho en la línea de código especificada y ejecutar el comando "Punto de interrupción" - "Hardware, en ejecución" en el comando del menú contextual ("punto de interrupción", "ejecución de hardware") (también puede use la línea de comando Establecer "Dirección HE" en)
puede configurar hasta cuatro puntos de interrupción de hardware.

Entre ellos, DR0, DR1, DR2 y DR3 pueden establecer direcciones para la desconexión y DR7 se usa para controlar el estado.
Principio: después de establecer el punto de interrupción, cuando se cambia la dirección, la CPU enviará una excepción al depurador y el depurador interrumpirá después de detectarlo.
Ventajas: velocidad de ejecución rápida, no es fácil de detectar
Desventajas: solo se pueden configurar cuatro

Supongo que te gusta

Origin blog.csdn.net/qq_47301716/article/details/130713354#comments_26520185
Recomendado
Clasificación