Copyright: © Stefan Fleischmann 1995-2000


Contenido
WinHex 9.72

Información General

Acerca de WinHex	Cómo registrarse

Editores Hexadecimales

Tipos de Datos Enteros	Tipos de Datos Reales

Tipos de Fecha

ANSI-/IBM-ASCII	Checksums

Consideraciones Técnicas	Aviso Legal

Trabajando con el Editor Hexadecimal

Opciones

Introducción de Caracteres	Modos de Edición	Barra de Estado

Consejos Útiles	Macros

Editor de Disco	Editor de RAM

Referencia del Menú

Menú Archivo	Menú Edición

Menú Búsqueda	Menú Posición

Menú Herramientas	Menú Opciones

Gestión de Archivos	Menú Ventanas

Menú Ayuda	Menú Contextual

Miscelánea

Conversiones	Modicar Datos

Intérprete de Datos	Clonar Disco

Gestor de Posiciones

Gestor de Macros	Gestor de Backup

Edición de Plantillas


Acerca de WinHex
WinHex 9.72

Autor: Stefan Fleischmann, Carl-Diem-Str. 32, D-32257 Bünde, Germany.

E-Mail: mail@sf-soft.com

Aparecido en 1/2001. WinHex apareció por primera vez en 1995.

Se soportan los siguientes sistemas operativos:

• Windows 95/98/Me

• Windows NT 4.0

• Windows 2000

Página web: http://www.winhex.com y http://www.sf-soft.com

Allí siempre encontrará la última versión disponible del programa.

Foro: http://www.winhex.net

La traducción al español es obra de José María Tagarro Martí. ¡Muchísimas gracias!

ZDNet Software Library Rating: 5 estrellas (¡de 5!)

Varios Institutos Nacionales de los Estados Unidos (p.e. el Laboratorio Nacional de Oak Ridge en Tennessee), la Universidad Politécnica de Viena, la Universidad Politécnica de Munich (Instituto de Ciencias de la Computación), Toshiba Europa, Novell Inc., Ontrack Data International Inc. (expertos en recuperación de datos), Siemens Business Services, Mannesmann VDO AG, DePfa Deutsche Pfandbriefbank AG, Analytik Jena AG y muchas otras compañías e institutos científicos son ya usuarios registrados. Para obtener más información sobre cómo registrarse

Los algoritmos "Pukall Cipher 1" (PC 1) y "Pukall Stream Cipher Hash Function" tienen copyright de Alexandre Pukall. El código fuente está disponible en http://www.multimania.com/pc1 y en http://www.freecode.com.

The MD5 message digest is copyright by RSA Data Security Inc.

La librería de compresión „zlib" tiene copyright de Jean-loup Gailly y Mark Adler. Página web: ftp://ftp.cdrom.com/pub/infozip/zlib/zlib.html


Editores Hexadecimales

Un editor hexadecimal es capaz de mostrar completamete el contenido de cada tipo de archivo. A diferencia de un editor de texto, uno hexadecimal incluso muestra los códigos de control (p.e. los caracteres de salto de línea y retorno) y el código ejecutable, usando un número de dos dígitos basado en el sistema de numeración hexadecimal.

Considere un byte como una secuencia de 8 bits. Cada bit puede ser un 0 o un 1, luego toma uno de dos estados posibles. Por lo tanto un byte puede tener 2•2•2•2•2•2•2•2 = 28 = 256 valores diferentes. Como 256 es el cuadrado de 16, el valor de un byte puede estar definido por un número de dos dígitos en sistema hexadecimal, donde cada dígito representa un cuarteto (o nibble) de un byte, es decir, 4 bits. Los dieciséis dígitos utilizados en el sistema de numeración hexadecimal son 0-9, A-F.

Se puede cambiar el valor de un byte cambiando los dos dígitos del modo hexadecimal. También es posible introducir el carácter que tiene asignado un valor de byte dereminado en un juego de caracteres (véase Introducir Caracteres). Se permiten toda clase de caracteres (letras, signos de puntuación, etc.). Por ejemplo, un byte cuyo valor decimal es 65 aparece como 41 en notación hexadecimal (4•16+1=65) y tiene la letra A asignada en el modo de texto. Esto se debe a que el juego de caracteres ASCII asigna a la letra mayúscula A el valor decimal 65.

Cuando se editan archivos de un tipo determinado (por ejemplo archivos ejecutables), es esencial no alterar el tamaño del archivo. Modificar las direcciones del código ejecutable y los datos que están incluidos en ellos causa graves daños en tales archivos. Observe que cambiar el contenido de un archivo es con carácter general la causa de que la aplicación correspondiente se comporte de manera anormal. Aunque es bastante seguro editar los extractos de texto de un archivo, en cualquier caso es recomendable hacer archivos de backup (copias de seguridad) antes de hacerlo.

El comando "Búsqueda Combinada" fue especialmente diseñado para editar archivos creados por juegos de ordenador para guardar la situación de las partidas. Si conoce el valor de una misma variable en dos de esos archivos, es posible encontrar el offset (la posición) en que ese dato ha sido grabado. Por ejemplo, si un archivo fue grabado cuando tenía 5 vidas y el otro cuando tenía 7, busque simultáneamente el valor hexadecimal 05 en el primero y 07 en el segundo archivo.


Cómo registrarse

La cuota de registro depende de si desea utilizar WinHex de forma privada (únicamente para fines no comerciales, sin pertenecer a ninguna compañía, institución o gobierno) o en su empresa, en una organización o en una administración pública.

Licencia básica:	EUR 31.90 / US$ 34 (uso privado)

EUR 56.90 / US$ 60 (uso no privado)

Licencias adicionales:	EUR 16.90 / US$ 18 (precio unitario, uso privado)

EUR 29.90 / US$ 32 (precio unitario, uso no privado)

• Visite la página web de WinHex http://www.winhex.com para saber cómo registrarse en línea y ómo pagar mediante tarjeta de crédito.

• Dentro de Europa puede enviarme un ec-cheque (Eurocheque, con el símbolo "ec").

• Recomendado para Alemania: Haga una transferencia bancaria directamente en mi cuenta (vea más adelante) y notifíquemelo. Cuando se trate de una transferencia desde fuera de Alemania, añada EUR 5 / US$ 5.

• Envíeme un cheque (normal) o una orden de pago. Debido a las tasas bancarias añada  EUR 6 / US$ 7.

• Envíe dinero en metálico (por su cuenta y riesgo).

En cualquiera de los últimos casos, envíeme un e-mail o una carta por correo conveniconal y especifique "WinHex 9.72" y su dirección.

¿Necesita una factura o un recibo para su empresa/organización/...? Simplemente dígamelo.

Despues de recibir la cuota de registro le enviaré los códigos que le permitirán guardar archivos mayores de 250 KB, escribir sectores del disco, editar la memoria virtual y librarse de los recordatorios shareware. Además, podrá actualizarse a las nuevas versiones de WinHex sin coste alguno.

Stefan Fleischmann

Carl-Diem-Str. 32

D-32257 Bünde

Germany

Página web: http://www.winhex.com y http://www.sf-soft.com

E-Mail: mail@sf-soft.com

Visite mi página web si está interesado en la última versión disponible de este programa.

Nº de cuenta: 1208127686

Banco: Sparkasse Herford, Nº 494 501 20

Dirección del banco: Auf der Freiheit 20, D-32052 Herford (Germany)

¡Muchísimas gracias!


Tipos de Datos Enteros

Formato/Tipo	Rango	Ejemplo

signed 8 bit	-128...127 	FF = -1

unsigned 8 bit	0...255     	FF = 255

signed 16 bit	-32,768...32,767	00 80 = -32,768

unsigned 16 bit	0...65,535	00 80 = 32,768

signed 32 bit	-2,147,483,648...2,147,483,647	00 00 00 80 = -2,147,483,648

unsigned 32 bit	0...4,294,967,295	00 00 00 80 = 2,147,483,648

signed 64 Bit	-2^63...2^63-1	00 00 00 00 00 00 00 80 = -2^63

Mientras no se indique lo contrario, los números multi-byte se almacenan en formato little-endian, significando por tanto que el primer byte de un número es el menos significativo y el último el más significativo. Este es el formato común de los ordenadores que ejecutan Microsoft Windows. De este modo, se da la paradoja de que los valores hexadecimales 10 27 se pueden interpretar como el número hexadecimal 2710 (decimal: 10.000).

El Intérprete de Datos es capaz de reconocer datos de todos los tipos enteros mencionados anteriormente.


Tipos de Datos Reales

Tipo	Rango	Precisión	Bytes

Float (Single)	± 1.5e-45..3.4e+38	7-8	 	4

Real	± 2.9e-39..1.7e+38	11-12 	6

Double (Double)	± 5.0e-324..1.7e+308	15-16 	8

Long Double (Extended)	± 3.4e-4932..1.1e+4932	19-20 	10

Los nombres de los tipos proceden del lenguage de programación C. Los nombres correspondientes en Pascal se especifican entre paréntesis. El tipo Real existe sólo en Pascal. El Intérprete de Datos es capaz de convertir valores hexadecimales de una ventana del editor en números reales de estos cuatro tipos y viceversa.

En el ordenador, un número real F se representa con una mantisa M y un exponente E, donde M × 2E = F. Tanto M como E son valores enteros con signo por si mismos. Los cuatro tipos de datos difieren en su rango de valores (es decir, el número de vits reservado para el exponente) y en su precisión (el número de bits reservados para la mantisa).

En los sistemas basados en Intel®, los cálculos con número reales se realizan con un coprocesador matemático, mientras el procesador principal espera. El Intel® 80x87 utiliza una precisión de 80 bits para sus cálculos, mientras que los procesadores RISC a menudo disponen de 64 bits de prescisión.


ANSI-/IBM-ASCII

ANSI-ASCII es un estándar del American National Standards Institute utilizado por las aplicaciones Windows. MS-DOS utiliza el juego de caracteres IBM-ASCII (también conocido como juego de caracteres OEM). Estos dos juegos de caracteres difieren en su segunda mitad, en los caracteres con valores ASCII mayores de 127.

Cuando quiera ver o editar un archivo procedente de un programa DOS, desactive la opción "Usar ANSI-ASCII" del menú Opciones.

Utilice el comando "Convertir" del menú Editar para convertir archivos de texto de un juego de caracteres a otro.

Los primeros 32 valores ASCII no definen caracteres imprimibles, sino códigos de control:

Hex	Control Code

0	Null

1	Start of Header

2	Start of Text

3	End of Text

4	End of Transmission

5	Enquiry

6	Acknowledge

7	Bell

8	Backspace

9	Horizontal Tab

A	Line Feed

B	Vertical Tab

C	Form Feed

D	Carriage Return

E	Shift Out

F	Shift In

10	Data Link Escape

11	Device Control 1 (XON)

12	Device Control 2

13	Device Control 3 (XOFF)

14	Device Control 4

15	Negative Acknowledge

16	Synchronous Idle

17	End of Transmission Block

18	Cancel

19	End of Medium

1A	Substitute

1B	Escape

1C	File Separator

1D	Group Separator

1E	Record Separator

1F	Unit Separator


Checksums

Una checksum (suma de control) es un número característico utilizado para la verificación de la autenticidad de los datos. Dos archivos con un mismo checksum son con toda seguridad idénticos (byte a byte). Calcular y comparar el checksum de un archivo antes y después de una transmisión puede revelar errores durante el proceso. Un checksum coincidente indica que los archivos son (con toda probabilidad) idénticos. En cualquier caso, un archivo puede ser manipulado teniendo en cuenta que su checksum debe permanecer intacto. En estos casos, cuando se necesita detectar modificaciones malintencionadas (cuando no fruto del azar) se utilizan los llamados digests.

En WinHex, los checksum se calculan al abrir (opcional, véarse Opciones Generales) o analizar (véase menú Herramientas) un archivo. Después de modificarlo, las sumas pueden ser recalculadas pulsando ALT+F2.

El checksum estándar es simplemente la suma de todos los bytes de un archivo, calculada en un acumulador de 32 bits. El CRC32 (Código de Redundancia Cíclica de 32 bits) se basa en un algoritmo más sofisticado que es incluso más seguro que el estándar.

Por ejemplo: si una transmisión altera dos bytes de un archivo de tal manera que las modificaciones se compensan (byte uno +1, byte dos –1), el checksum permanece inalterado, pero el CRC32 cambia.


Consideraciones Técnicas

Cantidad de RAM usada por el programa:	0.5 MB

Cantidad de memoria adicional por cada macro:	0.5 KB

Número máximo de ventanas:	1000 (Windows NT/2000), 500 (Windows 9x)

Tamaño máximo de archivo o disco:	~ 1024 GB

Número máximo de instancias simultáneas del programa:	99

Número máximo de macros:	100

Número máximo de posiciones:	limited by RAM only

Número máximo de entradas de teclado reversibles:	65535

Complejidad de encriptación:	128 bit

Longitud de los digest en los backups:	256 bit

Juegos de caracteres soportados:	ANSI-/IBM-ASCII, EBCDIC

Presentación del offset:	hexadecimal/decimal

• En la mayoría de las ocasiones, una barra de progreso muestra el porcentaje completado de una operación. Sin embargo, durante las operaciones de búsqueda y reemplazo, indica la posición relativa en el archivo o disco actual.

• La interfaz de usuario tiene mejor aspecto si no se utiliza el tamaño de fuente extra grande en su sistema Windows.

• WinHex espera que su sistema esté funcionando en modo little-endian.

• Las claves que se especifican para operaciones de encriptación/desencriptación se guardan en el disco duro. En caso de que la opción de seguridad correspondiente esté activada, la clave se almacena encriptada en la RAM durante el tiempo que WinHex esté funcionando.

• Las operaciones de búsqueda y reemplazo generalmente funcionan más rápido si está activada la opción para distinguir mayúsculas de minúsculas y no se utilizan comodines.

• Cuando realice búsquedas con la opción "contar las ocurrencias" activada o cuando reemplace sin confirmación, para un algoritmo de búsqueda existen generalmente dos modos de comportarse cuando encuentra una ocurrencia, lo que en muchos casos puede conducir a resultados diferentes. El siguiente ejemplo le ayudará a comprender:

Las letras ana se buscan en la palabra "banana". La primera ocurrencia se ha encontrado en el segundo carácter.

1ª alternativa: El algoritmo continúa la búsqueda desde el tercer carácter, de manera que ana se encuentra de nuevo en el cuarto carácter.

2ª alternativa: Las tres letras ana encontradas en la palabra "banana" son descartadas. Las restantes letras na no contienen más ocurrencias de ana.

WinHex está programado de la segunda manera, ya que es la que conduce a resultados más razonables cuando se cuentan o reemplazan ocurrencias. De todas maneras, si continúa una búsqueda con la tecla F3 o selecciona la opción "confirmar al encontrar", el algoritmo se ajusta a la primera alternativa.

• Consulte la web de WinHex http://www.winhex.com para obtener más detalles técnicos.


Aviso Legal

Copyright © 1995-2001 Stefan Fleischmann. Todos los derechos reservados. Ninguna parte de esta publicación puede ser reproducida, almacenada en una base de datos o en sistema alguno de recuperación sin permiso previo del autor. Todas las compañías y marcas registradas mencionadas en el programa o en este manual son propiedad de sus respectivos titulares legales y con carácter general están protegidas por la ley.

Esta publicación está diseñada para proporcionar información precisa y fidedigna acerca de las materias objeto de su utilización. En cualquier caso, el autor ni ofrece garantía alguna ni acepta ninguna responsabilidad con respecto al programa o al manual.

Los algoritmos "Pukall Cipher 1" (PC 1) y "Pukall Stream Cipher Hash Function" tienen copyright de Alexandre Pukall. El código fuente está disponible en http://www.multimania.com/pc1/, http://www.multimania.com/cuisinons/progs/ y en http://www.freecode.com .

La librería de compresión "zlib" tiene copyright de Jean-loup Gailly y Mark Adler. Página web: ftp://ftp.cdrom.com/pub/infozip/zlib/zlib.html

Continuar


Opciones Generales

1ª columna:

• Cuando selecciona WinHex como asociación por defecto, la clave de registro HKEY_CLASSES_ROOT \Unknown\shell\Open\Command se modifica. Esto le permite abir un archivo de un tipo que esté registrado en WinHex al pulsar dos veces en la ventana del Explorador. Este sistema también funciona con archivos no registrados e incluso ejecutables manteniendo pulsada la tecla SHIFT durante la operación.

• Si lo desea, WinHex aparecerá en el menú contextual de Windows. La interfaz muestra este menú cuando el usuario pulsa sobre algún objeto con el botón derecho del ratón. El menú de WinHex aparecerá al pulsar sobre archivos, carpetas y discos. Si esta opción no está completamente seleccionada, no habrá menú contextal para los archivos.

• La opción Permitir múltiples instancias le permite ejecutar WinHex más de una vez al mismo tiempo. Si la opción no está activada, WinHex pondrá la ventana principal de la instancia actualmente en ejecución en segundo plano en vez de crear una nueva instancia de programa.

• No actualizar fecha del archivo significa que WinHex no cambiará la fecha y hora de la última escritura cuando guarde un archivo que haya sido modificado.

• Especifique el número de archivos abiertos recientemente que desea que sean listados al ginal del menú Archivo.

• La barra de herramientas puede mostrarse opcionalmente.

• El control tab hace cada ventana de edición accesible mediante un simple clic de ratón.

• La sección de detalles proporciona información en profundidad sobre cualquier objeto (archivo, disco, RAM).

• Si selecciona Mostrar iconos de archivo, los iconos almacenados en un archivo se mostrarán en la columna de información. Esto aumentará los requisitos de memoria y retrasará la apertura de archivos. Si un archivo no contiene iconos se mostrará el icono del tipo de archivo, a menos que esta opción no esté "completamente" seleccionada.

• La tecla ENTER puede utilizarse para introducir hasta cuatro valores hexadecimales de dos dígitos. Un ejemplo útil es 0x0D0A, el cual se interpreta como un marcardor de final de línea en el entorno Windows (Unix: 0x0D).

• Decida si desea utilizar la tecla TAB para cambiar del modo hexadecimal al decima y viceversa, o para introducir el carácter TAB (0x09). En cualquier caso, TAB+SHIFT siempre le permitirá cambiar el modo numérico actual.

2º columna:

• Indique la carpeta donde se crearán los archivos temporales.

• Indique la carpeta donde se crearán los archivos de backup (archivos WHX).

• Indique la ruta de su editor de texto favorito. WinHex le permite examinar los informes resultantes de una comparación de archivos en dicho programa. Tenga en cuenta que el editor Notepad incluido en Windows 95/98 no es capaz de abrir archivos mayores de 64 KB.

• Los offsets pueden mostrarse y referenciarse en notación decimal o hexadecimal. Esta opción es válida para todo el programa.

• Cuando utilice el editor de RAM es lógico hacer que WinHex muestre direcciones virtuales en vez de offsets partiendo de cero. Esto se hace siempre al utilizar notación hexadecimal. El cuadro de diálogo del comando  Ir A Offset también funcionará con direcciones virtuales.

• Si selecciona Mostrar 0x01-0x1F como puntos, los valores hexadecimales en el rango de 01 a 1F se mostrarán como puntos en el modo texto cuando utilice el juego de caracteres ANSI-ASCII.

• Decida cuantos octetos deben mostrarse por línea.

• Decida cuantos octetos deben mostrarse en un mismo grupo. Los mejores resultados se obtienen en la mayoría de los casos utilizando potencias de 2.

3ª columna:

• Por defecto, WinHex muestra un cursor doble, pero además hay disponibles otras dos clases de cursores secundarios.

• Si está seleccionada la opción de desplazamiento línea a línea, se mostrarán los separadores de página y sector. Si la opción está activada sólo parcialmente, solo se mostrarán los separadores de sector.

• El desplazamiento (scroll) puede hacerse bien línea a línea o bien por páginas.

• Especifique cuantas líneas deben desplazarse cuando se utilice un roll-mouse o ratón de rueda (en caso de disponer de él).

• Utilizar los colores de Windows no debería requerir mayor explicación.

• Seleccione el color que se usará como fondo al seleccionar un bloque. Sólo podrá cambiarlo si la opción "Utilizar colores de Windows" está desactivada.

• Puede elegir una fuente para el modo ANSI-ASCII. La fuente WinHex incorpora el juego de caracteres de Windows completo (incluso los caracteres ™ y € y otros signos diversos).

• Decida si desea que WinHex active el sonido cuando muestre un cuadro de mensaje.

• Mostar barra de progreso de Windows reemplaza la barra de progreso de WinHex con la típica barra común a la mayoría de programas de Windows.

• Por último pero no por ello menos importante, puede seleccionar uno de cuatro estilos de diálogo.

Las opciones de fábrica pueden restaurarse utilizando el comando Inicializar del menú Ayuda.


Introducción de Caracteres

En modo hexadecimal sólo pueden introducirse caracteres hexadecimales (‘0‘...‘9‘, ‘A‘...‘F‘). En modo texto se puede introducir cualquier clase carácter: letras, números, signos de puntuación y caracteres especiales (p.e. ‘«‘, ‘]‘, ‘^‘). Utilice el programa de Windows charmap.exe para encontrar combinaciones de teclas para dichos caracteres (p.e. Alt-1-8-7 para ‘»‘). La fuente de letra "WinHex" incluso soporta el símbolo del Euro (€).


Modos de Edición

Modo de edición por defecto: Las modificaciones de los archivos o discos abiertos en este modo se guardan en archivos temporales. Estos son creados dinámicamente a medida que se necesitan o cuando se abre el archivo original (véase "apertura rápida de archivos"). El comando "Guardar" del menú Archivo actualiza el archivo original o el disco.

Modo de sólo lectura: Los archivos o discos abiertos en este modo no pueden ser editados, sólo examinados. En otras palabras, están protegidos contra escritura.

Modo de edición directa: Sea cuidadoso cuando abra archivos o discos en este modo. Todas las modificaciones (entradas desde teclado, llenar/borrar bloques, pegar el portapapeles, reemplazos, etc.) se escriben directamente en el archivo original sin confirmación. No es necesario guardar el archivo manualmente despues de haberlo modificado. En vez de eso, los cambios se guardan constante y automáticamente (por última vez al cerrar la ventana). De cualquier modo, puede utilizar el comando Guardar para asegurarse de que el buffer es vaciado en un momento determinado.

El modo de edición directa es recomendable en aquellos casos en que la transferencia de datos entre el archivo temporal y el original (y viceversa) consuma demasiado tiempo o espacio en disco. Este puede ser el caso al abrir muchos archivos grandes o cuando edite enormes cantidades de datos. Como no se encesitan archivos temporales en este modo de edición, generalmente es más rápido que el modo por defecto. El modo de edición directa es el único disponible cuando se utiliza el editor de RAM.

Incluso en el modo de edición directa la creación de un archivo temporal es inevitable cuando se altera el tamaño de un archivo.


Barra de Estado

La barra de estado muestra la siguiente información acerca de un archivo:

1. Número de página actual y número de páginas totales (editor de disco: sectores)

2. Posición actual (offset)

3. Conversión decimal de los valores hexadecimales de la posición actual

4. Principio y final del bloque actual (si está definido)

5. Tamaño del bloque actual en bytes

Pulse en las celdas de la barra de estado para...

1. Moverse a otra página/sector,

2. Moverse a otro offset,

3. Definir el tipo de entero para la conversión decimal y

4. Definir el bloque.

Pulse con el botón derecho en la barra de estado para copiar la parte de información que desee desde allí al portapapeles.

Pulsar con el botón derecho el segundo campo de la barra de estado permite cambiar entre presentación absoluta (por defecto) o relativa del offset. Esto es útil cuando examine datos que consistan en registros de una longitud prefijada. Después de especificar dicha longitud en bytes, la barra de estado muestra el número de registro actual y el offset interno del mismo.

Pulsar con el botón derecho el tercer campo de la barra de estado permite copiar los cuatro valores hexadecimales de la posición actual al portapapeles, pero en orden inverso. Esto es de utilidad para hacer un seguimiento de punteros.


Consejos Útiles

• Si selecciona un bloque con el ratón, puede pulsar dos veces el botón derecho para anularlo.

• Puede definir un bloque de datos utilizando el teclado (SHIFT+arrow keys o ALT+1 y ALT+2).

• Use la tecla TAB para cambiar del modo hexadecimal al de texto y viceversa.

• CTRL+Q cierra todas las ventanas.

• (CTRL+)Enter muestra el gestor de ventanas.

• ESC aborta la operación en curso si la hay, en caso contrario anula la selección de bloque.

• PAUSE detiene o continúa la operación en curso.

• F11 repite el último comando Ir A Offset.

• SHIFT+F7 alterna entre los juegos de caracteres.

• (SHIFT+)ALT+F11 repite el último comando Mover Bloque.

• ALT+F2 recalcula el checksum despues de que un fichero haya sido modificado.

• Active las dos primeras opciones generales para integrar WinHex en Windows.

• WinHex acepta tanto nombres de archivo de línea de comandos como "arrastrar y soltar".

• Use las macros para hacer su trabajo con WinHex más eficiente.

• Puede indicar el número ID de una macro como un parámetro de línea de comandos.

• Cambie de la presentación de offset hexadecimal a decimal pulsando sobre los números.

• Si dispone de una resolución de 800×600 o mayor, puede aumentar o disminur la ventana del editor y la columna de información de la derecha pulsando con el botón derecho del ratón y arrastrando los bordes inferiores.

• Pruebe a pulsar en las celdas de la barra de estado (botones izquierdo y derecho del ratón).


Macros

En ocasiones puede ser recomendable crear una macro en vez de hacer los mismos cambios a un archivo una y otra vez. WinHex es capaz de manejar hasta 100 macros, que se guardan en el archivo routines.dat. El gestor de macros permite crear, editar, copiar y borrar macros.

1. Para crear una macro debe especificar a que archivo(s) se aplicará. Puede aplicarse al archivo actual, a todos los archivos abiertos o a un archivo concreto existente en un disco. Una macro no se puede aplicar a un archivo abierto en el modo de sólo lectura.

2. Puede direccionar directamente y cambiar hasta 5 valores de byte. Para cada uno de ellos especifique un valor hexadecimal de dos dígitos y el offset.

3. Una macro puede utilizarse para reemplazar texto o valores hexadecimales exactamente igual que los comandos del menú correspondientes (véase Opciones de Reemplazo). El objetivo es el archivo entero a menos que se especifiquen los offsets de inicio y final.

4. Entre otras opciones, puede especificar que una macro debe ejecutarse cuando la mactro actual haya terminado. Para esta macro, el archivo actual es aquel en el que se haya aplicado la macro anterior. La macro siguiente a una que se haya aplicado a todos los archivos no debe aplicarse a un archivo „actual" ya que en el momento de la ejecución no se conoce a qué archivo se refiere.

Consejos:

· WinHex ejecuta una macro automáticamente si especifica el número ID de esa macro como un parámetro de línea de comandos (por ejemplo „winhex 4").

· Tal macro debe aplicarse a „todos los archivos abiertos" si WinHex está ya funcionando con al menos un archivo abierto o los nombres de archivo se especifican como parámetros precedentes en la línea de comandos.

· Cuando se ejecutan varias macros que se aplican a „todos los archivos abiertos", sólo la última necesita ejecutarse con la opción „guardar cambios automáticamente" activada (en caso de que se desee, por supuesto).

· Si el último parámetro es „auto", WinHex terminará automáticamente después de ejecutar las macros especificadas.

Ejemplo:

Considere que estamos definiendo dos macros (numeradas 1 y 2), que deben aplicarse a „todos los archivos abiertos". La macro número 2 está configurada para guardar los cambios automáticamente. La línea de comandos „winhex c:\file1.dat 1 d:\file2.dat 2 auto" tiene el siguiente resultado: en primer lugar, se abre el archivo „c:\file1.dat". Entonces se ejecuta la macro cuyo número de ID sea 1. A continuación se abre „d:\file2.dat" y la macro número 2 se aplica a ambos archivos y los cambios se escriben en el disco. Finalmente se cierra WinHex.


Editor de Disco

El editor de disco, que forma parte del menú Herramientas, permite acceder a disquetes y discos duros por debajo del nivel del sistema de archivos. Los discos consisten de sectores (por lo común unidades de 512 bytes). Se puede acceder al disco de manera lógica (controlada por el sistema operativo) o física (controlada por la BIOS). En la mayoría de los ordenadores se puede acceder incluso a unidades CD-ROM y DVD.

Editor de Disco: Q&A

Registro Maestro de Arranque

Tenga en cuenta las siguientes limitaciones:

• Bajo Windows NT, se necesitan privilegios de administrador para acceder directamente a los discos duros.

• Las funciones de reemplazo no están disponibles.

• Los sectores CD-ROM y DVD no se pueden grabar.

• El editor de disco no opera en unidades remotas (de red).

Editar el espacio dispobible en disco (Windows 95/98)

Bajo Windows 95/98 es posible editar el espacio no utilizado de una unidad lógica. Las limitaciones mencionadas anteriormente no se aplican en este caso, ya que WinHex crea un archivo que usa la totalidad del espacio disponible en la unidad seleccionada. De este modo, es posible editar este archivo en el modo de edición directa ya que la integridad de los datos en las partes utilizadas del disco no puede verse afectada de ninguna manera.

Ejemplos de aplicación para Windows 95/98:

• Puede utilizar esta función para recuperar datos borrados accidentalmente mientras no hayan sido sobreescritos por archivos nuevos. Busque los datos, márquelos como el bloque actual y copielos en un archivo nuevo.

• Esta función también es útil para "destruir" la información contenida en el espacio no utilizado por razones de seguridad. Puede que información confidencial se encuentre almacenada en el espacio libre del disco como consecuencia de una operación normal de borrado o copia. Simplemente defina el archivo de espacio libre entero como un bloque y rellenelo con el valor hexadecimal 00.

Inicializar el espacio libre en disco (Windows NT)

Bajo Windows NT, el espacio libre en el disco puede ser inicializado con bytes cero (por ejemplo por razones de seguridad). Esta operación borra de manera irreversible todos los datos de las partes no utilizadas del disco y hace imposible recuperarlos.

Aclaración: por supuesto, los datos que han sido eliminados mediante el comando Borrado Irreversible de WinHex no pueden encontrarse en las partes no usadas del disco.

Guardar Sectores: Su utilización es análoga al comando Guardar del menú Archivo. Escribe todas las modificaciones realizadas en el disco. Tenga en cuenta que, dependiendo de los cambios que haya realizado, esto puede dañar gravemente la integridad de los datos del disco. Si la opción de deshacer correspondiente está activada, se creará un backup de los sectores afectados antes de que sean sobreescritos.

Este comando no puede aplicarse a discos hasta que no se registre.


Menú Archivo

Nuevo: Sste comando se utiliza para crear un archivo. El archivo es inicializado con bytes cero y en abierto (en principio) en el modo de edición por defecto. Debe especificar el tamaño deseado para el archivo.

Abrir: Le permite abrir uno o más archivos. Puede elegir un modo de edición en caso de que no esté predeterminado en el menú Herramientas.

Guardar: Guarda el archivo actualmente mostrado en el disco. En el modo de edición directa el uso de este comando no es necesario. Cuando utilice el editor de disco este comando se llama "Guardar Sectores".

Guardar Como: Guarda el archivo actualmente mostrado bajo un nombre.

Crear Backup

Cargar Backup: Seleccione un archivo de backup (archivo WHX) cuyo contenido (un archivo o sectores del disco) quiera restaurar.

Gestor de Backup

Ejecutar: Ejecuta el archivo actual si es ejecutable, o en caso contrario el programa asociado.

Imprimir

Propiedades: Le permite editar el tamaño, la fecha y los atributos de un archivo (bajo Windows NT también de un directortio). Atributos válidos son: A (archivo), S (sistema), H (oculto), R (sólo lectura). Después de introducir nuevos valores en cualquiera de los apartados (tamaño, fecha o atributos), pulse la ENTER para aplicar las modificaciones.

Abrir Especial: Este comando se utiliza para abir varios archivos que cumplen unos determinados requisitos en un momento dado. Seleccione la carpeta en la que va a abir los archivos y opcionalmente busque en los subdirectorios. Puede especificar una máscara de archivo (por ejemplo "w*.exe"). También hay una opción que permiten abir sólo aquellos archivos que contengan un cierto texto o unos ciertos valores hexadecimales. Para este propósito aparecerán los mismos cuadros de diálogos del comando de búsqueda. Si WinHex no está configurado para editar los archivos en un modo determinado (véase menú Herramientas), también puede seleccionarlo ahora.

Guardar Ficheros Modificados: Todos los archivos que hayan sido modificados son escritos en el disco.

Guardar Todos los Ficheros: Todos los archivos que no hayan sido abiertos en modo de sólo lectura son escritos en el disco.

Salir: Use este comando para finalizar WinHex. Se le preguntará si desee guardar las modificaciones realizadas en archivos o discos.


Menú Edición

Deshacer: Invierte la última modificación realizada, en caso de que la correspondiente opción deshacer esté activada.

Cortar: Borra el bloque actual del archivo y lo pone en el portapapeles. Los datos que sigan al bloque subirán hasta el donde estaba el principio del bloque.

Copiar Bloque/Todo/Sector:

• Normal: Copia el actual bloque/archivo entero/sector en el portapapeles. El contenido del mismo puede más tarde pegarse o guardarse.

• En un Archivo Nuevo: Copia los datos directamente en un nuevo archivo (no a través del portapapeles). Por ejemplo, este comando puede utilizarse para recuperar un archivo perdido a partir de los sectores del disco.

• Valores Hexadecimales: Copia los datos como una serie de valores hexadecimales concatenados.

• Código Fuente en C: Copia los datos como código fuente en formato C en el portapapeles.

• Pantalla del Editor: Copia los datos como texto, formateado como si estuviese en la pantalla del editor hexadecimal, es decir, con una columna de offset, una hexadecimal y otra de texto.

Pegar Portapapeles: Inserta el contenido del portapapeles en la posición actual de un archivo. Los datos que sigan a esta posición serán desplazados hacia deltante.

Escribir Portapapeles: Copia el contenido del portapapeles en la posición y archivo actuales. Los datos en esta posición son sobreescritos. Si el archivo termina antes de pegar todo el contenido, el tamaño se incrementa hasta donde sea necesario para completar la operación

Pegar Portapapeles en un Archivo Nuevo: Crea un nuevo archivo con el contenido del portapapeles.

Vaciar portapapeles: Este comando se utiliza para liberar la memoria utilizada por el portapapeles.

Borrar: Borra el bloque actual del archivo. Los datos que sigan al bloque subirán hasta donde estaba el inicio del bloque. El portapapeles no se ve afectado por este comando. Si el bloque está definido de la misma manera en todos los archivos abiertos (es decir, empieza y termina en los mismos offsets), el comando puede ser incluso aplicado a todos los archivos abiertos a la vez.

Pegar Bytes Cero: Use este comando para insertar bytes cero en la posición actual de un archivo.

Definir Bloque: Esta función es accesible desde el menú y desde la barra de estado. Un cuadro de diálogo le permitirá especificar los limites deseados para el bloque. El comando también puede ser aplicado a todos los archivos

Seleccionar Todo: Define el principio y el final del archivo actual como los límites del bloque.

Convertir

Modicar Datos

Rellanar Bloque/Archivos/Sectores de Disco


Menú Búsqueda

Encontrar Texto: Este comando se usa para buscar una cadena de texto especificada de hasta 50 caracteres en el archivo actual, disco o sección de RAM (véase Opciones de Búsqueda).

Encontrar Valores Hexadecimales: Este comando se usa para buscar una secuencia de hasta 50 valores hexadecimales de dos caracteres (véase Opciones de Búsqueda).

Reemplazar Texto: Use este comando para reemplazar ocurrencias de una cadena especificada con otra cadena (cada una de hasta 50 caracteres). Véase Opciones de Reemplazo.

Reemplazar Valores Hexadecimales: Funciona exactamente igual que el comando Reemplazar Texto, pero se aplica a una secuencia de valores hexadecimales (50 como máximo). Véase Opciones de Reemplazo.

Búsqueda Combinada: Proporciona un complejo mecanismo de búsqueda. En el archivo actual y en un segundo archivo se busca un mismo offset, donde cada archivo contiene los respectivos valores hexadecimales especificados

Valor Entero: Introduzca un entero (con los límites del tipo signed 64-bit). Esta función busca datos en el archivo actual que puedan interpretarse como este entero.

Valor Real: Introduzca un número real (por ejemplo, 12,34 = 0,1234 * 102 = 0,1234E2) y seleccione un tipo de datos real. Esta funciónbusca datos en el archivo actual que puedan ser interpretados como este valor real.

Extractos de Texto: Use este comando para buscar una secuencia de letras (a-z, A-Z), dígitos (0-9) y/o signos de puntuación. Es útil cuando, por ejemplo, se desea traducir extractos de texto ocultos en alguna parte de un archivo con código ejecutable.

Indique la precisión de la búsqueda especificando cómo de larga debe ser una secuencia de caracteres para ser reconocida. Pulse "Aceptar juego de caracteres Unicode" para obligar al algoritmo a aceptar bytes cero entre dos caracteres.

Continuar Búsqueda Global: Este comando se usa para continuar una operación de búsqueda global (por ejemplo, una operación de búsqueda aplicada a todos los archivos abiertos) en el siguiente archivo.

Continuar Búsqueda: Le permite continuar una operación de búsqueda en el archivo y posición actuales.


Menú Posición

Ir A Offset: Mueve la posición actual hasta el offset especificado. Normalmente esto se hace con relación al principio del archivo (offset 0). También puede mover el cursor con relación a la posición actual (hacia delante o hacia atrás) o con respecto al final del archivo (hacia atrás). Un offset puede especificarse en bytes (por defecto), words (2 bytes) o doublewords (4 bytes). Pulse F11 para repetir el movimiento de la última posición.

Ir A Página/Sector: Mueva la posición actual hasta la página o sector especificado.

Mover Bloque: Mueve la selección del bloque actual (no los datos del bloque) hacia delante o hacia atrás. Especifique la distancia en bytes. Pulse ALT+F11 para repetir el último movimiento de bloque y pulse SHIFT+ALT+F11 para invertir el movimiento. Este comando puede facilitar la edición de un archivo que consista en registros homogéneos de una longitud fija.

Ir A...

Inicio del Archivo: Muestra la primera página del archivo actual y mueva la posción actual al offset 0.

Final del Archivo: Muestra la última página del archivo actual y mueve la posición actual hasta el último byte (offset = tamaño de archivo – 1).

Inicio de Bloque: Mueve la posición actual al principio del bloque actual.

Final de Bloque: Mueve la posición actual hasta el final del bloque actual.

Marcar Posición: Marca la posición actual y por lo tanto permite que más tarde pueda encontrarla.

Borrar Marcador: Borra el marcador de la pantalla.

Ir A Marcador: Mueve la posición actual hasta el marcador definido por el comando Marcar Posición.

Gestor de Posiciones


Menú Ventanas

Gestor de Ventanas: Muestra todas las ventanas y proporciona un método para "cambio instantáneo entre ventanas". También puede cerrar ventanas y guardar archivos.

Cerrar Todo: Cierra todas las ventanas y con ellas los archivos abiertos, discos y secciones de RAM que se estén mostrando.

Cerrar Todo Sin Confirmación: Cierra todas las ventanas y con ellas los archivos abiertos y discos, pero sin darle la oportunidad de guardar las modificaciones realizadas.

Cascada/Mosaico: Posiciona en Cascada/Mosaico todas las ventanas de edición.

Sincronice Desplazamiento: Synchronizes up to 4 tiled windows.

Sincronice y Comparar: Synchronizes 2 windows and visually displays byte value differences.

Minimizar: Minimiza todas las ventanas.

Reorganizar Iconos: Este comando reordena todas las ventanas.


Menú Herramientas

Editor de Disco

Inspeccionar Clústeres: Disponible para unidades de FAT16 y FAT32. WinHex recorre todas las cadenas de clústeres y por lo tanto genera un mapa de la unidad. Esto permite a WinHex especificar la ubicación de cada sector o clúster (archivo, directorio, FAT, libre). Se recomienda invocar este comando otra vez después de operaciones de archivo en disco para actualizar la informaci´n mostrada por WinHex. Véase Opciones de Seguridad.

Encontrar Clústeres de Archivo/Carpeta: Disponible para unidades de FAT16, FAT32 y NTFS. On FAT16 and FAT32 drives, necesita de un mapa de unidad reciente como el creado por el comando "Inspeccionar Clústeres". WinHex busca clústeres que están asignados a un archivo o directorio especificado. Los clústeres encontrados se listan en una ventana separada. Puede hacer clic en un elemento de la lista para examinar dicho número de clúster.

Parámetros del Disco: Using this command on a physical disk, you may override the number of cylinders, heads, and sectors per track as recognized by WinHex. This can be useful to access surplus sectors at the end of the disk under Windows NT/2000 (they should be automatically included under Windows 9x/Me), or to adjust the CHS coordinate system to your needs. Use this command on a logical drive to override the total number of clusters WinHex detects on that drive. This can prove useful when examining huge DVDs, which are detected as 2 GB media under Windows 9x.

Recuperte Archivos: A simple file recovery function, that searches for files on any disk (or disk image file) that can be recognized by a certain file header (signature). The function can either extract files of a fixed size, or search for corresponding footers (which mark the end of the file). Header and footer must be provided in hexadecimal notation. A log file that tells the header and footer offsets is written to the output directory as well. The resulting files are named according to a pattern you must provide. Note that this function may not work at all in the case of fragmented files, where headers and footers do not occur alternately.

Clonar Disco

Editor de RAM

Invocar Editor de Texto: Ejecuta un editor de texto externo (definido en Opciones Generales). Abre al archivo actual en el citado programa y si cambia el contenido del archivo desde él, WinHex podrá adoptar los cambios producidos al terminar.

Calculadora: Ejecuta la calculadora de Windows "calc.exe". Cambiarla al modo científico es una opción altamente recomendable.

Conversor Hexadecimal: Le permite convertir número hexadecimales en números decimales y viceversa. Simplemente escriba el número y pulse ENTER.

Tablas: Proporciona cuatro tablas de conversión (véase ANSI-/IBM-ASCII).

Analizar Bloque/Archivo: Examina los datos del bloque/archivo actual y cuenta las ocurrencias de cada valor de byte (0...255). El resultado se muestra gráficamente con líneas verticales proporcionales. El número de ocurrencias y el porcentaje para cada valor de byte se muestran cuando se mueve el ratón sobre la correspondiente línea vertical.

Puede utilizar este comando, por ejemplo, para identificar datos de un tipo desconocido. Datos de audio, datos comprimidos, código ejecutable, etc., producen gráficas características. Use el menú de sistema de la ventana para activar o desactivar la consideración de los bytes cero.

El checksum estándar y el CRC32 de los datos seleccionados también se muestran.

Calcular Digest: Calculates the common 128-bit MD5 message digest of the entire current file, disks, or the currently selected block. Use the key combination SHIFT+F2 to calculate the 256-bit PSCHF instead.

Gestor de Macros

Aplicar Macro: Selecciona una macro de la lista y ejecuta las operaciones automáticas definidas en ella.


Menú Opciones

Opciones Generales

Opciones de Deshacer

Opciones de Seguridad

Opciones del Intérprete de Datos

Modo Visualizador: Si utiliza WinHex simplemente para examinar archivos y no necesita las capacidades de edición, active esta opción. Todos los archivos se abrirán en modo de sólo lectura.

Modo Edición Directa: Todos los archivos se abrirán en el modo de edición directa, por lo que los cambios tendrán lugar directamente en el archivo original.

Juego de Caracteres: Le permite seleccionar el juego de caracteres que se utilizará para la presentación en pantalla y la entrada de teclado entre ANSI ASCII, IBM ASCII y EBCDIC. También puede utilizar el atajo SHIFT+F7. EBCDIC (originario de los mainframes IBM) no está disponible en impresión.

Sólo Pantalla de Texto Oculta la pantalla de datos hexadecimal y usa todo el ancho de la ventana del editor para mostrar la pantalla de texto ASCII.

Sólo Pantalla Hexadecimal: Oculta la pantalla de texto ASCII y usa todo el ancho de la ventana del editor para mostrar la pantalla hexadecimal.


Gestor de Archivos

Ejecutar: Le permite seleccionar y ejecutar un archivo. Si el archivo en si no es ejecutable, se abrirá con la aplicación a la que esté asociado.

Partir: Este comando crea múltiples archivos de destino utilizando el contenido de un único archivo de origen. Especifique un tamaño para cada archivo de destino. El archivo de origen no se ve afectado por esta operación.

Concatenar: Seleccione varios archivos de origen que serán copiados en un único archivo de destino. Los archivos de origen no se verán afectados.

Unir: Seleccione dos archivos de origen y un archivo de destino. Los bytes/words de los archivos de origen se escribirán alternativamente en el archivo de destino. El primer byte/word del destino será el del primer archivo de origen especificado. Utilice esta función para crear un archivo con bytes/words pares e impares procedentes de archivos diferentes (por ejemplo en la programación de EPROM).

Diseccionar: Seleccione un archivo de origen y dos archivos de destino. Los bytes/words del archivo de origen se escribirán alternativamente en los archivos de destino. El primer byte/word del origen se copiará en el primer archivo de destino especificado. Utilice esta función para crear dos archivos separados conteniendo cada uno de ellos bien los bytes/words pares bien los impares del archivo original (por ejemplo en la programación de EPROM).

Comparar: Este comando se utiliza para comparar dos archivos byte a byte. Decida si quiere ser informado de las coincidencias o de las diferencias entre ellos. Si lo desea, la operación terminará después de haber encontrado un cierto número de diferencias o de bytes idénticos. El informe resultante se guardará como un archivo de texto, pero tenga en cuenta que su tamaño puede aumentar considerablemente.

Opcionalmente, el comando puede aplicarse a un bloque limitado en ambos archivos. WinHex identificará automáticamente el final del archivo más corto como el final del bloque.

Copiar: Sencillamente copia un archivo.

Mover: Utilice este comando para mover y/o renombrar un archivo existente. El archivo de origen se borrará.

Borrado Irreversible: Este comando se utiliza para borrar el contenido de un archivo de manera irreversible, de manera que no pueda ser recuperado por medio de programas específicos. Cada archivo seleccionado se rellenará con bytes cero, después se cambiará su longitud a cero y por último se borrará. La entrada del nombre de archivo también se borrará. Incluso los intentos de recuperación profesionales serán inútiles. Lógicamente, este comando debe ser aplicado a aquellos archivos cuyo contenido sea confidencial, cuando deban ser destruidos. En cualquier caso, la absoluta efectividad de esta función no está garantizada, especialmente cuando entre en conflicto con utilidades de seguridad residentes, que utilizan diversos mecanismos para mantener la integridad de los datos.


Menú Ayuda

Contenido: Muestra los contenidos del archivo de ayuda.

Configuración: Cambia el idioma de la interfaz de usuario entre alemán, inglés, francés y español.

Inicializar: Utilice este comando para restaurar las opciones por defecto del programa.

Desinstalar: Utilice este programa para eliminar WinHex de sus sistema. Este comando funciona correctamente incluso aunque no instalará WinHex utilizando el programa de instalación.

Página Web: Abre la página web de WinHex homepage (http://www.winhex.com) en su navegador.


Imprimir

Use este comando para imprimir un archivo, sectores del

disco o el contenido de la RAM (menú Archivo). Defina el

rango de impresión mediante offsets.

Puede seleccionar y configurar una impresora, así como el

juego de caracteres para la impresión. Además puede

elegir el tamaño de fuente que desee o bien aceptar el

recomendado por WinHex. Este tamaño se calcula como

sigue: resolución de impresión (por ejemplo 720 dpi) / 6

(120 en este ejemplo). Si lo desea puede introducir un

comentario que será impreso al final.

En caso de que necesite más flexibilidad a la hora de

imprimir, puede definir un bloque y copiarlo utilizando

"Edición->Copiar->Pantalla del Editor" como texto con

el mismo formato hexadecimal de la pantalla del editor.

Puede más tarde pegar el contenido del portapapeles

en su procesador de textos preferido. Debería tener un

aspecto perfecto con el tipo de letra "Courier New" y un

tamaño de 10 pt.


Bloque

Puede marcar una parte de un archivo abierto como un "bloque".

Dicha parte puede ser luego manipulada por diversas funciones

en el menú de edición exactamente igual que las selecciones

hechas en otros programas de Windows. Si no se ha definido

ningún bloque, generalmente las funciones se aplicarán a todo

el archivo.

La posición actual y tamaño del bloque se muestran en la barra

de estado. Pulsando dos veces con el botón derecho del ratón

o pulsando la tecla ESC eliminará el bloque (no el contenido).


Modicar Datos

Utilice este comando para modificar los datos de un bloque o de todo el archivo, en caso de que no haya ningún bloque definido. En esta versión de WinHex hay tres tipos de modificaciones de datos disponibles. Puede sumar un número entero constante a cada elemento de los datos, invertir los bits, aplicar una operación XOR a los datos junto con un número hexadecimal (una clase sencilla de encriptación), bits are shifted logically o reflejar los bytes. By shifting bits, you can simulate inserting or removing single bits at the beginning of the block.

Reflejar Bytes

Este comando asume que todos los datos consisten en elementos de 16 bits (o de 32 bits en su caso) e intercambia los bytes más significativos con los menos significativos (o al revés en su caso). Utilicelo para convertir datos en formato big-endian en little-endian y viceversa.

Añadir

Indique un número positivo o negativo, decimal o hexadecimal, y se sumará a cada elemento del bloque seleccionado. También debe definir el formato del número entero: el tamaño (1, 2 o 4 bytes) y el tipo (signed o unsigned).

Hay dos modos de proceder si el resultado de la suma está fuera del rango del formato de entero seleccionado. O bien el límite del rango se toma con el nuevo valor (I) o bien se ignora el exceso (carry) (II).

Ejemplo: formato unsigned de 8 bits

I.	FF + 1 \\→ FF	(255 + 1 \\→ 255)

II.	FF + 1 \\→ 00	(255 + 1 \\→ 0)

Ejemplo: formato signed de 8 bits

I.	80 - 1 \\→ 80	(-128 - 1 \\→ -128)

II.	80 - 1 \\→ 7F	(-128 - 1 \\→ +127)

• Si decide utilizar el primer método, WinHex le informará de cúanto se ha sobrepasado el límite del rango.

• El segundo método asegura que la operación sea reversible. Simplemente -x en vez de x con el mismo formato de entero y podrá recuperar los datos originales.

Cuando utilice el segundo método no habrá diferencia entre utilizar un formato de entero signed o utilizar un formato unsigned.


Conversiones

WinHex proporciona el comando Convertir en el menú Edición para facilitar las conversiones entre diferentes formatos de datos, además de para encriptación y desencriptación. La conversión puede ser aplicada opcionalmente a todos los archivos abiertos en vez de limitarse al archivo actualmente mostrado. Los formatos marcados con un asterisco (*) sólo pueden ser convertidos como un archivo completo, no como un bloque. Se reconocen los siguientes formatos:

• ANSI-ASCII, IBM-ASCII (dos juegos de caracteres ASCII diferentes)

• EBCDIC (un juego de caracteres de los mainframes IBM)

• Caracteres en mayúsculas/minúsculas (ANSI-ASCII)

• Binario* (datos sin formato)

• Hex ASCII* (representación hexadecimal de datos sin formato como texto ASCII)

• Intel Hex* (=Extended Intellec; datos Hex ASCII en un formato especial con checksums, etc.)

• Motorola S* (=Extended Exorcisor; ditto)

Observe:

• Cuando convierta datos Intel Hex o Motorola S, los checksum internos de esos formatos no se comprueban.

• Depending on the file size, the smallest possible output subformat is chosen automatically. Intel Hex: 20-bit or 32-bit. Motorola S: S1, S2, or S3.

• Algunas conversiones pueden aplicarse únicamente a archivos completos.

Encriptación/Desencriptación

Se recomienda especificar una combinación de al menos 8 caracteres como clave de encriptación. No utilice palabras de ningún idioma, es mejor utilizar una combinación aleatorio de letras, signos de puntuación y dígitosl. Tenga en cuenta que las claves de encriptación distinguen entre mayúsculas y minúsculas. Recuerde que no podrá recuperar los datos encriptados sin la correspondiente clave. Sea cuidadoso, ya que la clave de desencriptación que introduzca no será comprobada antes de desencriptar los datos.

El algoritmo de encriptación es "Pukall Cipher 1" (PC 1), usando una clave de 128 bits (=el digest de 128 bits de la clave que especifique).


Opciones de Búsqueda

Distinguir mayúsculas de minúsculas: Si esta opción está activada, WinHex distingue entre los caracteres en mayúsculas y en minúsculas, de manera que "Opcion" no se encontrará en la palabra "opcionalmente".

Juego de caracteres Unicode: El texto especificado se buscará utilizando los 256 ANSI-ASCII caracteres equivalentes Unicode, donde el byte de orden superior es 0.

Puede especificar un comodín (un carácter o un valor hexadecimal de dos dígitos), que represente un byte. Por ejemplo esta opción puede utilizarse para encontrar tanto "Speck" como "Spock" cuando busque "Sp?ck" si ha indicado que el signo de interrogación sea el comodín.

Palabras completas solamente: La cadena buscada será reconocida sólo si está separada de otras palabras, por ejemplo por espacios en blanco o signos de puntuación. Si esta opción está activada, "tomato" no se encontrará en "automaton".

Sentido de búsqueda: Decida si quiere que WinHex busque desde el inicio hasta el final, o bien hacia arriba o hacia abajo desde la posición actual.

Condición: Offset modulo x = y: El algoritmo de búsqueda acepta ocurrencias de la cadena a buscar sólo en los offset que cumplan las condiciones especificadas. Por ejemplo, si está buscando un dato que típicamente se encuentra en el décimo byte de un sector del disco duro, puede especificar x=512, y=10. Si está buscando datos con alineación DWORD, especifique x=4, y=0 para reducir el número de ocurrencias.

Búscar sólo en el bloque: La operación de búsqueda está limitada al bloque actual.

Buscar en todos los archivos abiertos: La operación de búsqueda se aplicará a todos los archivos abiertos. Pulse F4 para continuar buscando en el archivo siguiente. Si "Búscar sólo en el bloque" está activada a la vez, la operación de búsqueda se limitará al bloque actual dentro de cada uno de los archivos.

Contar ocurrencias/Guardar posiciones de ocurrencias: Hace que WinHex no muestre cada ocurrencia, sino que las cuente. Si esta opción está completamente activada, WinHex incluirá todas las ocurrencias en el gestor de posiciones.

Menú Búsqueda

Opciones de Reemplazo

Consideraciones Técnicas


Opciones de Reemplazo

Preguntar al encontrar: WinHex esperará que tome una decisión cuando encuentre una ocurrencia. Podrá entonces reemplarla, continuar la búsqueda o abortar la operación

Reemplazar todo: Todas las ocurrencias serán reemplazadas automáticamente.

Distingir mayúsculas de minúsculas: Los caracteres que van a ser reemplazados se buscarán utilizando esta opción (véase Opciones de Búsqueda).

Juego de caracteres Unicode: Los caracteres especificados se buscarán y reemplazarán en formato Unicode (véase Opciones de Búsqueda).

Puede especificar un carácter o un valor hexadecimal de dos dígitos como comodín. Esto se hace habitualmente en la cadena de búsqueda, pero si la cadena de sustitución contine un comodín, el carácter en la posición correspondiente no será reemplazado. Por lo tanto, "black" y "block" pueden ser reemplazados simultáneamente con "crack" y "crock" (utilizando "bl?ck" y "cr?ck" como cadenas de búsqueda y sustitución respectivamente).

Palabras completas sólamente: La cadena a buscar se reconoce sólo si está separada de otras palabras, por ejemplo por signos de puntuación o espacios. Si esta opción está activada, "tomato" no se reemplazará en "automaton".

Sentido de búsqueda: Especifique si quiere que WinHex reemplace desde el principio hasta el final o bien desde la posición actual hacia arriba o hacia abajo.

Reemplazar sólo en el bloque: La operación de sustitución tiene lugar sólo en el bloque actualmente seleccionado.

Reemplazar en todos los archivos abiertos: La operación de sustitución se aplica a todos los archivos que no estén abiertos en modo de sólo lectura. Si la opción "Reemplazar sólo en el bloque" está activada al mismo tiempo, la sustitución se limitará al bloque indicado dentro de cada uno de los archivos.

Consejo:

WinHex es capaz de reemplazar una cadena o una secuencia de valores hexadecimales con otra de diferente longitud. Se le preguntará cual de los siguientes métodos debe aplicarse:

Primer método: Los datos siguientes a la ocurrencia se moverán tantos bytes como la diferencia de longitud, de manera que el tamaño del archivo cambia. Este método no debe aplicarse a ciertos tipos de archivo, como los ejecutables. Incluso es posible no especificar nada como cadena de sustitución, con lo que todas las ocurrencias se borrarán del archivo.

Segundo método: La cadena de sustitución se escribe en el archivo en la posición de la ocurrencia. Si dicha cadena es más corta que la buscada, los caracteres en exceso de ésta última permanecerán en el archivo. En el otro caso los bytes que sigan a la ocurrencia serán sobreescritos (en tanto no se alcance el final del archivo). El tamaño del archivo no se ve afectado en absoluto por esta operación.

Menú Búsqueda

Opciones de Búsqueda

Consideraciones Técnicas


Opciones Deshacer

La disponibilidad del comando "Deshacer" depende de las siguineste opciones:

• Especifique cuantas acciones seguidas pueden ser invertidas por el comando Deshacer. Esta opción no afecta el número de entradas de teclado reversibles, que sólo está limitado por la cantidad de RAM disponible.

• Para ahorrar tiempo y espacio en su disco duro, puede especificar un tamaño de archivo límite. Si un archivo es mayor, no se crearán backups y el comando Deshacer sólo estára disponible para las entradas desde teclado.

• Los backups creados automáticamente para uso interno con el comando Deshacer son borrados por WinHex cuando se cierra el archivo, si la opción correspondiente está completamente seleccionada. Si está sólo parcialmente seleccionada, entoces se borrarán al salir de WinHex.

• Para todos los tipos de operaciones de edición debe decidir si deben ser reversibles o no. Si lo son, un backup interno se creará antes de que la operación tenga lugar.


Gestor de Posiciones

El gestor de posiciones mantiene una lista de offsets de un archivo o un disco y sus correspondientes descripciones. Puede introducir nuevas posiciones así coo editar o borrar entradas ya existentes. Si un offset en especial en un archivo es importante porque tiene que editarlo en más de una ocasión, introdúzcalo en el gestor de posiciones. De este modo será mucho más fácil encontrarlo más adelante y no tendrá que recordarlo. Una descripción apropiada podría ser "¡El trapicheo de datos comienza aquí!".

Pulse el botón derecho del ratón para ver un menú contextual. Dicho menú proporciona comandos adicionales que le permitirán borrar, cargar y guardar posiciones (y guardar como HTML). Si la lista de posiciones ha cambiado, se guardará en el archivo WinHex.pos al salir de WinHex.

La ventana del gestor de posición puede minimizarse, de manera que pueda  cambiar entre las distintas posiciones en el orden seleccionado pulsando CTRL+IZDA. y CTRL+DCHA.

La documentación completa sobre el formato de archivo POS está disponible en la página web de WinHex accesible en http://www.winhex.com.


Gestor de Macros

El gestor de macros es una ventana de diálogo multifuncional que muestra las macros existentes. La lista puede ser ordenada por el número de macro, el título o por los archivos a los que se aplica la macro. Puede editar, copiar y borrar las macros existentes, así como crear nuevas.

Cuando borre una macro, el número de la macros siguientes disminuirá en una unidad. Las referencias a dichas macros como "macros siguientes" serán actualizadas automáticamente.


Gestor de Backup

Muestra una lista de los backups previamente creados. Los artículos de dicha lista pueden listarse en orden cronológico o alfabético. Seleccione el backup que desea restaurar. Cuando la restauración haya finalizado, se mostrará el archivo original o el contenido del sector de disco. No se escribirá ningún dato en el disco hasta que utilice el comando Guardar. Los sectores del disco pueden opcionalmente escribirse directamente en el disco o en un archivo nuevo. Puede asimismo especificar un disco de destino diferente o un número de sector de destino distinto. También puede extraer sólo una parte de los sectores contenidos en el backup. (De cualquier modo, los sectores del principio de un backup comprimido no pueden saltarse durante la restauración). Si el backup se guardó con la opción de checksum y/o digest, la autenticidad de los datos se comprobará antes de que los sectores sean escritos directamente en el disco.

El gestor de backup también le permite borrar backups que no necesitará más adelante. Los backups que se crearon para uso interno por el comando Deshacer pueden ser borrados automáticamente por WinHex (véase Opciones de Deshacer).

Los archivos de backup que son mantenidos por el gestor de backup están ubicados en la carpeta especificada en el cuadro de diálogo Opciones Generales. Sus nombres son "Savedxxx.whx" donde xxx es un número de identificación único de tres dígitos. Este número se muestra en la última columna de la lista del gestor de backup.

La documentación completa acerca del formato de archivo WHX está disponible en la página web de WinHex accesible en http://www.winhex.com.


Intérprete de Datos

El Intérprete de Datos es una pequeña ventana que proporciona "servicios de traducción" para los datos localizados en la posición actual del cursor. El diálogo opciones le permite ocultar o mostrar el Intérprete de Datos y especificar los tipos de datos a interpretar. Actualmente hay disponibles siete tipos de datos enteros, el formato binario (8 bits de un byte), cuatro tipos reales, assembler opcodes (Intel®), y cinco tipos de fecha.

El Intérprete de Datos es también capaz de traducir todos los tipos de datos (excepto los assembler opcodes) de nuevo en valores hexadecimales. Pulse dos veces sobre un número de la ventana del Intérprete de Datos, introduzca un nuevo valor y ENTER. El Intérprete de Datos escribirá los correspondientes valores hexadecimales en la posición actual del cursor en la ventana de edición.

Pulse con el botón derecho sobre el intérprete de datos para acceder al menú contextual. Este le permitirá cambiar entre el formato de traducción little-endian y big-endian de los tipos de datos enteros y reales.

Consejos:

• Algunos valores hexadecimales no pueden convertirse en números reales. Para dichos valores, el Intérprete de Datos muestra el mensaje NAN (not a number).

• Algunos valores hexadecimales no pueden convertirse en fechas válidas. Los rangos de valores de los diferentes tipos de fecha son más o menos amplios.

• Hay redundancias en el juego de instrucciones Intel® que aparecen en el Intérprete de Datos como una duplicación tanto de opcodes como de comandos. Las intrucciones reales (en coma flotante) se muestran generalmente como F***.

• Puede encontrar más detalles en Intel® Architecture Software Developer's Manual Volume 2: Instruction Set Reference, disponible en formato PDF en Internet.


Editor de RAM

Menú Herramientas. El editor de RAM le permite examinar la memoria virtual de un proceso (es decir, un programa que está siendo ejecutado). Todas las páginas de memoria afectadas por este proceso se presentan en un bloque continuo. Las páginas no utilizadas (libres o reservadas) son ignoradas por WinHex.

Seleccione uno de los procesos listados. Entonces podrá acceder bien a la llamada memoria primeria o a la memoria completa, o a uno de los módulos cargados. La memoria primaria es la utilizada por los programas para casi todas sus necesidades. Generalmente contiene el módulo principal del proceso (el archivo EXE) y la pila. La "memoria completa" contiene toda la memoria virtual de un proceso incluyendo la parte de memoria que está compartida con todos los procesos excepto los módulos del sistema. Bajo Windows 95/98 los módulos del sistema pueden listarse opcionalmente en el arbol de procesos. Los módulos de sistemas están definidos como aquellos que son cargados más allá de la barrera de 2 GB (como kernel32.dll, gdi32.dll). Estos módulos son compartidos por todos los procesos que se están ejecutando.

Tenga en cuenta las siguientes limitaciones:

• Cuidado: sólo puede deshacer la entrada desde teclado.

• La memoria virtual de los procesos de 16 bits sólo es accesible en parte bajo Windows 95/98.

• La edición sólo es posible en el modo directo.

• Los módulos de sistema de Windows 95/98 sólo pueden ser examinados en modo de sólo lectura, y no manipulados.

Las opciones relevantes del editor RAM son "Comprobar alteraciones de la memoria virtual" (véase Opciones de Seguridad) y "Direcciones Virtuales" (véase Opciones Generales).


Menú Contextual

La interfaz de Windows muestra el menú de contexto cuando el usuario pulsa un objeto con el botón derecho del ratón. WinHex está presente en dicho menú únicamente si activa la opción correspondiente (véase Opciones Generales).

Editar con WinHex: Abre el archivo seleccionado en WinHex.

Abrir en WinHex: Le permite abrir todos los archivos de la carpeta seleccionada en WinHex, exactamente igual que con el comando Abrir Especial del menú Archivo.

Editar Disco: Abre el disco seleccionado en el editor de disco de WinHex. Si mantiene pulsada la tecla SHIFT durante la operación, en vez de la unidad lógica se abrirá el disco físico correspondiente, caso de existir. (Esta última opción no está disponible bajo Windows NT).

WinHex proporciona su propio menú contextual en la barra de estado, el Intérprete de Datos y el gestor de posición.


Hint
Your license codes were probably valid for earlier versions of WinHex. You cannot run this version as a full version using these codes. Please see http://www.winhex.com/winhex/upgrade.html for information about upgrades. If you have paid for WinHex 9.0 or later, upgrading to this version is free for you (send e-mail to mail@sf-soft.com and specify your name and address).


Clave de Encriptación

Specify a string consisting of 1-16 characters as the

encryption/decryption key. The more characters you

enter, the safer is the encryption. The key itself is not

used for encryption and decryption, instead it is digested

to the actual key.

Your key is not saved on your hard disk. If the corresponding

security option is enabled, the encrypted key is stored in

the RAM, as long as WinHex is running.


Crear Backup

El comando Crear Backup del menú Archivo proporciona una ventana de diálogo que le permite crear un backup (copia de seguridad) del archivo seleccionado o de sectores del disco actual. El backup se guardará como un archivo WHX.

Cuando cree un backup de un disco físico o unidad lógica (conocido también como "hacer una imagen") tendrá que especificar que sectores guardar. Por defecto, todos los sectores a partir de la posición actual estarán seleccionados. Puede que desee que WinHex divida el backup en varios volúmenes de un tamaño determinado. Por ejemplo archivos de 650 MB serían idóneos para archivar imágenes de un disco duro en CD-R. Para mantener el backup tan pequeño como sea posible, se recomienda inicializar el espacio libre de la unidad antes de hacer la imagen. Esto se debe a que los sectores que consisten en bytes cero no incrementan el tamaño del archivo cuando la compresión está activada.

Hint on disk cloning & imaging

Si decide que WinHex asigne automáticamente el nombre al archivo WHX, dicho archivo se guardará en la carpeta de backups (véase Opciones Generales) y estará disponible en el gestor de backup. Si especifica explícitamente una ruta y un nombre de archivo, podrá restaurar el backup más tarde utilizando el comando Cargar Backup.

Puede especificar un texto como descripción del backup.

El formato WHX es capaz de almacenar un checksum (CRC32) y un digest de los datos originales, además de encriptarlos si así lo desea. El cálculo del digest y la encriptación ralentizan considerablemente la creación del backup, de modo que esas funciones no deberían ser utilizadas a menos que se necesiten por razones de seguridad. Cuando restaure un backup con digest y WinHex no muestre ningún aviso, puede estar seguro de que los datos contenidos en dicho backup no han sufrido modificación alguna.

El algoritmo de encriptación es "Pukall Cipher 1" (PC 1), usando una clave de 128 bits que es en realidad un digest de 256 bits de la concatenación del digest de la clave de 128 bits que ha introducido y del digest de 128 bits de una entrada aleatoria. La entrada aleatoria es guardada en el archivo WHX para la posterior desencriptación.

WinHex utiliza el algoritmo de compresión "Deflate" que es parte de la popular librería de propósito general zlib. Este algoritmo consiste de una compresión LZ77 y una codificación Huffman. El factor de compresión es el mismo del ZIP.

La documentación completa acerca del formato de archivo WHX está disponible en la página web de WinHex accesible en http://www.winhex.com.


Opciones de Seguridad

• Utilice la opción Control restringido del disco para asegurarse que el editor de disco evita que otros programas accedan al disco antes de abrirlo, incluso aunque no sea realmente necesario. Esta opción resultará en una pérdida de velocidad.

• El caché de lectura de disco acelera el acceso secuencial al disco por parte del editor de disco. Esta opción está especialmente recomendada cuando se desplace por los sectores de un CD-ROM o disquete, ya que el número de accesos físicos necesarios se reduce notablemente.

• Activar la Inspección automática de clústeres provocará que WinHex recorra automáticamente las cadenas de clústeres de una unidad FAT16 o FAT32 en caso de que una unidad de este tipo esté abierta en WinHex y su correspondiente mapa de disco no exista aún. Utilizando el mapa de disco, WinHex es capaz de mostrar la localización de cada clúster y cada sector (para almecenar qué archivo los utiliza). Utilice el comando "Inspeccionar clústeres" del menú Herramientas para actualizar el mapa del disco.

• Con la opción Guardar mapa del disco, toda la información en la FAT16 y FAT32 del disco recogida por WinHex se almacenará en la carpeta de archivos temporales incluso cuando salgo de WinHex. De esta manera, podrá volver a utilizarla más adelante.

• Utilive la opción Integridad de la memoria virtual para asegurarse de que el editor de RAM comprueba la estructura de la memoria virtual antes de cada operación de lectura y escritura. Si la estructura de la misma ha cambiado, se podrá prevenir un posible error de lectura. Seleccionar esta opción puede suponer una importante pérdida de velocidad en los sistemas Windows NT. Cuando edite la "memoria completa" de un proceso, WinHex generalmente nunca comprueba las alteraciones antes de cada lectura, incluso aunque esta opción esté marcada.

• Si lo desea, puede calcular un checksum de cada archivo al abrirlo. En ese caso, se mostrará en la columna de información de la derecha. Los checksums también pueden calcularse al analizar el bloque actual (véase menú Herramientas).

• Antes de guardar las modificaciones producidas en un archivo existente (por ejemplo, antes de actualizar el archivo), se le pedirá confirmación. Para evitar este comportamiento de WinHex, desactive la opción correspondiente.

• Cuando restaure un backup de forma manual, se mostrará un informe de restauración sólo en caso de que el backup contenga un digest o esté corrompido. Opcionalmente, puede elegir que WinHex siempre muestre dicho informe después de cada restauración. En este caso se mostrará incluso el digest.

• La clave requerida para la encriptación y desencriptación puede introducirse en un cuadro de edición normal, pero opcionalmente puede hacer que se muestren asteriscos en vez de los caracteres que teclea. En ese caso tendrá que confirmar la clave en un segundo cuadro de diálogo para evitar errores de mecanografía.

• Por defecto, la clave se almacena en la memoria principal (en modo encriptado) durante el tiempo que WinHex esté funcionando, de manera que nunca tendrá que teclearla de nuevo si la utiliza en varias ocasiones. Posiblemente prefiera que WinHex borre la clave de la memoria después de cada utilización.


Bytes Significativos

Los microprocesadores difieren en la posición del byte menos significativo. Los procesadores Intel® y MIPS® lo colocan en primer lugar. Un valor multi-byte se almacena en la memoria desde el valor de byte más pequeño hasta el mayor. Por ejemplo, el valor hexadecimal 12345678 se guarda como 78 56 34 12. Este formato se conoce como little-endian (el pequeño al final).

Sin embargo, los procesadores Motorola colocan el byte menos significativo en último lugar. Un valor multi-byte se almacena desde el valor mayor hasta el más pequeño. Por ejemplo, el valor hexadecimal 12345678 se guarda como 12 34 56 78. Este formato se conoce como big-endian (el grande al final).


Digests

Los llamados digests son, al igual que los checksum, un número característico utilizado para la verificación de la autenticidad de datos. Pero los digest van aún más allá, ya que detectan cualquier cambio que haya ocurrido en los archivos.

Es factible manipular cualquier dato de manera que el checksum no cambie, y verificar su valor en tal caso conduciría a pensar que nuestros datos no han cambiado cuando en realidad si lo han hecho. Por lo tanto, los digest se usan en vez de los checksum cuando se buscan modificaciones malintencionadas (cuando no fruto del azar) de los datos originales. Es computacionalmente imposible encontrar dato alguno que corresponda a un digest dado. Incluso también es computacionalmente imposible encontrar dos fragmentos de datos a los que corresponda el mismo digest.

Por supuesto, las modificaciones aleatorias (como las causadas por una transmisión defectuosa) también pueden ser detectadas cuando se usasn digests, pero los checksum son suficientes y ofrecen un servicio más eficiente para este propósito, ya que su cálculo es mucho más rápido.

WinHex utiliza digests de 128 bits para generar la clave de encriptación (véanse Conversiones y Backups) y digests de 256 bits para verificar la autenticidad de los datos en los archivos de backup. Estos digests se calculan con la función de hash „Pukall Stream Cipher", con una clave fija de 128 bit (F6 C7 24 95 17 9F 3F 03 C6 DE F1 56 F8 2A 85 38).

WinHex also incorporates the 128-bit MD5 message digest.


Tipos de Fecha

El Intérprete de Datos soporta los siguientes formatos de fecha:

MS-DOS Date & Time (4 bytes)

Los dos primeros bytes almacenan la hora y los dos últimos la fecha. Este formato lo utilizan varias funciones de llamada DOS, el sistema de archivos FAT y muchas utilidades de sistema como los compresores de archivos, por ejemplo.

Bits	Contenido

0-4	Segundo dividido por 2

5-10	Minuto (0-59)

11-15	Hora (0-23 en un reloj de 24 horas)

16-20	Día del mes (1-31)

21-24	Mes (1 = Enero, 2 = Febrero, etc.)

25-31	Offset de año desde 1980

Win32 FILETIME (8 bytes)

La estructura FILETIME es un entero de 64 bits que representa el número de intervalos de 100 nanosegundos transcurridos desde del 1 de enero de 1601. Este es el sistema usado por el API de Win32.

OLE 2.0 Date & Time (8 bytes)

Un valor real (más exactamente del tipo double) cuya parte entera determina el número de días transcurridos desde el el 30 de diciembre de 1899. La parte fraccionaria se interpreta como la duración de un día (luego ¼ serían las 6 de la mañana). Este es el formato de fecha del estándar OLE 2.0, usado entre otros programas por MS Excel.

ANSI SQL Date & Time (8 bytes)

Dos valores enteros consecutivos de 32 bits cada uno. El primero determina el número de días transcurridos desde el 17 de noviembre de 1858. El segundo es el número de intervalos de 100 microsegundos transcurridos desde medianoche. Este es el estándar ANSI SQL utilizado en multitud de bases de datos (por ejemplo InterBase 6.0).

UNIX/C Date & Time (4 bytes)

Un valor entero de 32 bits determina el número de segundos transcurridos desde el 1 de enero de 1970. Este tipo de datos se utilizó en UNIX, en los programas C y C++ ("time_t") y en los programas FORTRAN. En algunos sistemas se ha definido como el número de minutos transcurridos desde el 1 de enero de 1970. Las opciones del Intérprete de Datos permiten cambiar entre estas dos definiciones.


Registro Maestro de Arranque

El Registro Maestro de Arranque (Master Boot Record – MBR en inglés) este ubicado en el principio físico del disco duro y puede editarse a través del editor de disco. Consiste de un codigo maestro de carga (446 bytes) seguido de cuatro registros de partición de estructura idéntica. Finalmente, la firma hexadecimal 55 AA completa un Registro Maestro de Arranque válido.

El formato de un registro de partición es el siguiente:

Offset	Tamaño	Descripción

0	8 bit	Un valor de 80 indica partición activa

1	8 bit	Cabeza del inicio de la partición

2	8 bit	Sector de inicio de la partición (bits 0-5)

3	8 bit	Pista de inicio de la partición (bits 8,9 en bits 6,7 del sector)

4	8 bit	Indicador del sistema operativo

5	8 bit	Cabeza de final de la partición

6	8 bit	Sector de final de la partición (bits 0-5)

7	8 bit	Pista de final de la partición (bits 8,9 en bits 6,7 del sector)

8	32 bit	Sectores que preceden a la partición

C	32 bit	Longitud de la partición en sectores

Indicadores de sistema operativo: (hexadecimales)

00	Empty partition-table entry

01	DOS 12-bit FAT

04	DOS 16-bit FAT (up to 32M)

05	DOS 3.3+ extended partition

06	DOS 3.31+ Large File System (16-bit FAT, over 32M)

07	OS/2 HPFS, Windows NT NTFS, Advanced Unix

08	OS/2 v1.0-1.3, AIX bootable partition, SplitDrive

09	AIX data partition

0A	OS/2 Boot Manager

0B	Windows 95 with 32-bit FAT

0C	Windows 95 with 32-bit FAT (using LBA-mode INT 13 extensions)

0E	Logical-block-addressable VFAT (same as 06 but using LBA-mode INT 13)

0F	Logical-block-addressable VFAT (same as 05 but using LBA-mode INT 13)

17	Hidden NTFS partition

1B	Hidden Windows 95 FAT32 partition

1C	Hidden Windows 95 FAT32 partition (using LBA-mode INT 13 extensions)

1E	Hidden LBA VFAT partition

50	OnTrack Disk Manager, read-only partition

51	OnTrack Disk Manager, read/write partition

81	Linux

82	Linux Swap partition, Solaris (Unix)

83	Linux native file system (ext2fs/xiafs)

85	Linux EXT

86	FAT 16 volume/stripe set (Windows NT)

87	HPFS fault-tolerant mirrored partition, NTFS volume/stripe set

BE	Solaris boot partition

C0	DR-DOS/Novell DOS secured partition

C6	Corrupted FAT 16 volume/stripe set (Windows NT)

C7	Corrupted NTFS volume/stripe set

F2	DOS 3.3+ secondary partition


Rellanar
Rellanar Bloque/Archivos/Sectores de Disco

Rellenar con valores hexadecimales: Especifique hasta 5 valores hexadecimales de 2 caracteres, que se copiarán repetidamente en el bloque actual, el archivo entero o todos los sectores del disco, respectivamente.

Rellenar con bytes aleatorios: Especifique un intervalo decimal (de 0 a 255) para los números aleatorios, que serán copiados repetidamente en el bloque actual, el archivo completo o todos los sectores del disco, respectivamente. Los números aleatorios tendrán una distribución de Laplace.

Generar números caóticos: Genera una serie de números caóticos a partir de una (aletatoria) fracción inicial usando un algoritmo Mixmaster. Los números serán copiados en el bloque actual, el archivo completo o todos los sectores del disco, respectivamente. La fracción inicial, que puede definir si lo desea, debe ser de la forma "x,y", donde x es <256 e y consta de al menos un dígito.

En caso de que en todos los archivos abiertos esté o no esté definido un bloque, el comando puede opcionalmente aplicarse a todos esos archivos a la vez.


Editor de Disco: P&R
Editor de Disco: Preguntas y Respuestas

¿Cómo puedo acceder a sectores de unidades CD-ROM y DVD bajo Windows 9x?

Por favor, asegúrese de que se cumplen los siguientes requisitos:

1. Un driver para Windows de la unidad de CD-ROM/DVD debe estar instalado. Un driver para MS-DOS no sería suficiente.

2. La interfaz ASPI debe estar instalada. Es posible que tenga que copiar manualmente el archivo wnaspi32.dll en su directorio Windows\System. Encontrará el archivo en su CD de instalación de Windows. El programa shareware WinZip (disponible en http://www.winzip.com) es adecuado para extraer ficheros de los archivos CAB.

3. El driver del CD-ROM/DVD debe soportar la forma en que WinHex intenta leer los sectores. La mayoría de las modernas unidades SCSI y ATAPI son adecuadas.

¿Cómo puedo hacer que WinHex detecte una PC Card ATA Flash Disk/Unidad PCMCIA como un disco físico bajo Windows 9x?

Panel de Control de Windows -> Sistema -> Administrador de dispositivos -> Seleccione su unidad PCMCIA -> Clic en "Propiedades" -> Busque una opción con un nombre parecido a "Dispositivo Int 13h". La forma de presentar la casilla de activación puede variar entre las distintas versiones de Windows. Si es posible, active la opción y reinicie su ordenador.


Edición de Plantillas

Una plantilla es un cuadro de diálogo que proporciona un sentido a la edición de estructuras de datos específicas en un modo más cómodo y seguro que el obtenido con la edición hexadecimal directa. La edición se realiza en dos cuadros separados. Los cambios tienen lugar cuando pulsamos la tecla ENTER o cuando abandonamos la plantilla (después de pedir confirmación). Los datos pueden proceder de un archivo, de sectores del disco o de la memoria virtual. Especialmente al editar bases de datos, es posible que prefiera definir una plantilla a su medida para acceder fácilmente a los registros.

Una definición de plantilla se almacena en un archivo de texto. El editor de plantillas le permite escribir definiciones de plantilla y le ofrece comprobación de sintaxis integrada. Una definición de plantilla contiene principalmente declaraciones de variables, que son similares a aquellas que aparecen en el código fuente de los lenguages de programación. Los tipos de datos soportados incluyen todos los enteros más comunes, los reales y las variables booleanas, cinco tipos de fecha, valores hexadecimales, binarios, caracteres y cadenas de texto. Las listas tanto de variables individuales como de grupos de variables también pueden ser utilizadas.

La capacidad de moverse libremente hacia delante y hacia atrás en los datos hace el uso de plantillas especialmente flexible

• La misma variable puede ser interpretada y manipulada en muchas maneras.

• Las secciones con datos irrelevantes pueden ser ignoradas.

El gestor de plantillas muestra todos los archivos de texto del directorio de WinHex que contienen definiciones de plantillas. Se muestran el título de la plantilla junto con la descripción, el nombre del archivo y la fecha y hora de la última modificación. Pulse el botón Aplicar para mostrar una plantilla que utilice la definición seleccionada para los datos existentes en la ventana actual del editor y en la posición actual. Puede asimismo crear una nueva definición de plantilla, borrar o editar una existente.

WinHex incorpora diferenes ejemplos de plantillas.


Definición de Plantillas

Edición de Plantillas

Cabecera

Cuerpo: Declaración de Variables

Cuerpo: Comandos Avanzados


Plantillas: Cabecera
Cabecera

La cabecera de una definición de plantilla tiene el siguiente formato:

template "titulo"

[description "descripción"]

[appliesto (file/disk/RAM)]

[sector-aligned]

[requires offset "valores hexadecimales"]

[big-endian]

[hexadecimal]

[read-only]

[multiple [tamaño global fijado]]

// Ponga aquí sus comentarios sobre la plantilla.

begin

declaración de variables

end

Los elementos entre corchetes son opcionales. El orden de los elementos es irrelevante. Las expresiones deben ir siempre entre comillas si contienen espacios. Los comentarios pueden aparecer en cualquier parte de la definición de plantilla. Los caracteres que siguen a una doble barra son ignorados por el intérprete (parser).

La sentencia appliesto debe ir seguida de una y sólo una de las palabras file, disk o RAM. WinHex mostrará un mensaje de aviso si intenta aplicar una plantilla a datos de origen distinto al especificado en la misma.

Si la plantilla se aplica a un disco, la palabara clave sector-aligned asegura que la interpretación de la plantilla comience al principio del sector actual sin tener en cuenta la posición exacta del cursor.

De forma similar a la sentencia appliesto, la sentencia requires permite a WinHex prevenir la aplicación errónea de una definición de plantilla a datos para los que no está preparada. Especifique un offset y una cadena de valores hexadecimales de longitud arbitraria que identifique los datos para los que la plantilla está pensada. Por ejemplo, un registro de arranque maestro (MBR) válido puede reconocerse por los valores hexadecimales 55 AA en el offset 0x1FE, y un archivo ejecutable por los valores 4D 5ª ("MZ") en el offset 0x0. Puede haber multitud de sentencias appliesto en la cabecera de la definición, y todas son tenidas en cuenta.

La sentencia big-endian provoca que todos los enteros multi-byte y las variables booleanas en la definición de plantilla se lean y escriban en el orden big-endian (byte más significativo primero).

La sentencia hexadecimal provoca que todos los enteros en la definición de plantilla se lean y escriban en notación hexadecimal.

La sentencia read-only nos asegura que la plantilla puede utilizarse únicamente para examinar estructuras y no para manipularlas. Los controles de edición de la plantilla serán desactivados.

Si la sentencia multiple se escribe en la cabecera, WinHex permitirá que nos desplacemos a los registros de datos cercanos mientras se muestra la plantilla. Esto requiere que WinHex conozca el tamaño del citado registro. Si no se especifica como un parámetro para la sentencia multiple, WinHex asumirá que el tamaño total de la estructura de una plantilla (=registro) es la posición actual al final de la interpretación de la plantilla menos la posición de edición de base. Si la estructura tiene un tamaño variable, por ejemplo el tamaño de un array o parámetros de moviemiento que estén determinados dinámicamente por le valor de variables, WinHex no podrá examinar los registros de datos precedentes.


Plantillas: Declaración de Variables
Declaración de Variables

El cuerpo de una definición de plantilla consiste básicamente en declaraciones de variables, de manera similar a los lenguajes de programación. Una declaración tiene la forma

type "title"

donde type puede ser uno de lo siguientes:

• int8, uint8 = byte, int16, uint16, int32, uint32, int64,

• binary,

• float = single, real, double, longdouble = extended,

• char, char16, string, string16,

• boole8 = boolean, boole16, boole32

• hex,

• DOSDateTime, FileTime, OLEDateTime, SQLDateTime, UNIXDateTime = time_t

title debe ir encluido entre comillas únicamente si contiene espacios en blanco. title no debe consistir únicamente en dígitos. WinHex no distingue entre caracteres en minúsculas y en mayúsculas. Como máximo pueden utilizarse 41 caracteres para identificar una variables.

title can be preceded by at most one member of each of the following modifier pairs:

big-endian	little-endian

hexadecimal	decimal

read-only	read-write

Los modificadores solo afectan a la varible que les sigue inmediatamente. Serán redundantes si aparecen en la cabecera también.

Los modificadores big-endian (véase Bytes Significativos) y read-only solo afectan a la varible que les sigue inmediatamente. Serán redundantes si aparecen en la cabecera también.

El número al final del nombre de un tipo indica el tamaño de cada variable (cadenas: de cada carácter) en bits. WinHex soporta caracteres y cadenas Unicode con char16 y string16. De cualquier modo, los caracteres Unicode que no sean los 256 primeros caracteres equivalentes ANSI no están soportados. El máximo tamaño de una cadena que pueda ser editada mediante una plantilla es 8192 bytes.

Los tipos string, string16, y hex necesitan un parámetro adicional que especifique el número de elementos. Este parámetro puede ser una constante o una variable previamente declarada. Si es una constante, puede estar especificada en formato hexadecimal, es decir, será reconocida si está precedida por 0x.

También puede declarar arrays de variables poniendo el tamaño del array entre corchetes a continuación del tipo o el título. Las siguientes líneas declaran una cadana ASCII de tamaño dinámico, cuya longitud depende de la variable precedente:

uint8      "len"

char[len]  "A string"

Podría conseguirse el mismo resultado con las siguientes declaraciones:

byte       "len"

string len "A string"

El carácter "~" puede utilizarse para marcar el lugar donde más tarde se ubicará el número de elemento actual del array (véa Comandos Avanzados). Esto no se aplica a arrays de variables char, ya que éstas son automáticamente convertidas en cadenas.

Observe que las plantillas de la versión actual del programa no tienen capacidad de "calcular", de manera que operadores como "+" y "*" no deben utilizarse ni en los parámetros y en las expresiones de tamaño de arrays.


Plantillas: Comandos Avanzados
Comandos Avanzados

Cuando se incluyen entre corchetes, varias declaraciones de variables constituyen un bloque que puede utilizarse repetidamente como una unidad. Observe que, en cualquier caso, ese bloque no debe ser anidado en la implementación actual. El carácter ~ puede utilizarse en el nombre de una variable para marcar el lugar donde posteriormente se ubicará el contador de la repetición actual. La numbering es opcional y define donde comenzará la cuenta (0 por defecto).

numbering  1

{

byte       "len"

string len "String No. ~"

}[10]

En este ejemplo los nombres de variable actual en la plantilla "String No. 1", "String No. 2", ..., "String No. 10".

Para facilitar la lectura y el análisis de la plantilla, puede definir grupos de variables que estén separados por un espacio en blanco en el cuadro de diálogo:

section    "...Section Title..."

...

endsection

Las sentencias section, endsection, y numbering no avanzan la posición actual de los datos que van a ser interpretados.

Hay dos comandos que no declaran variables, pero se usan específicamente para cambiar la posición actual. Esto puede hacerse para saltarse datos irrelevantes (movimiento hacia delante) o para poder acceder a ciertas variables en más de una ocasión como tipos diferentes (movimiento hacia atrás). Utilice la sentencia move n para saltar n bytes desde la posición actual, donde n puede ser negativo. goto n se desplaza a la posición especificada de manera absoluta desde el principio de la interpretación de la plantilla (debe ser positivo).

El siguiente ejemplo demuestra como acceder a una variable tanto como un entero de 32 bits como una cadena de valores hexadecimales de cuatro partes:

int32      "Disk serial number (decimal)"

move -4

hex 4      "Disk serial number (hex)"


Clonar Disco

Copia un número definido de sectores desde un disco origen a uno de destino. Ambos discos deben tener el mismo tamaño de sector. Para duplicar eficazmente una unidad (es decir, copiar todos los sectores de la unidad), active la opción correspondiente y los números de sectores correspondientes aparecerán automáticamente. El disdo de destino no debe ser de menor tamaño que el de origen.

Clonar Disco ofrece opciones que controlan el comportamiento del programa cuando se encuentran sectores defectuosos en el disco de origen.

• Por defecto, se le informará del error y se le preguntará si desea continuar o abortar la operación. "Log silencioso" crea un archivo de log de toda la operación, incluyendo un informe de sectores que no han podido leerse, e impide que WinHex informe de cada error por separado. Esto puede resultar de utilidad, por ejemplo para forenses de ordenador.

• WinHex puede bien dejar el sector de destino correspondiente a un sector de origen dañado sin cambiar o puede rellenarlo con bytes cero.

El clonado estándar de discos no es la opción correcta si lo que desea hacer es duplicar un disco de una unidad removible (por ejemplo, un disquete) cuando dispone de una sola de estas unidades. Lo que debería hacer en tal caso es una imagen del disco (también podría denominarse clonación de disco "retardada"). Dicha imagen puede ser restaurada en un disco diferente. El efecto es idéntico a la clonación de disco.

Hay dos maneras de  hacer una imagen de un disco:

• Si la comodidad es su primera prioridad, utilice la función de backup. Para una recuperación más sencilla, un archivo de backup incluye información acerca de su contenido: números de sectores, disco de origen, etc.

• El cuadro de diálogo de clonación de disco le permite copiar sectores de un disco en un archivo de imagen directamente, sin cabeceras y posteriormente recuperarlas de igual manera. Combinada con el modo "log silencioso", esta es la manera recomendada si desea crear un backup cuando existen sectores dañados en el disco de origen.

Pistas para clonar o hacer imágenes de discos


Clonar o hacer imágenes de discos
Clonar o hacer una imagen de un disco que contiene una instalación activa de

Windows puede producir copias diferentes del original. En cualquier caso, por

favor, asegúrese de que en el disco de origen ningún otro programa escriba

durante la operación de clonación o por el propio Windows. Es recomendable

mover el directorio TEMP a una unidad diferente. El archivo de intercambio (swap)

debería crearse también en una unidad distinta. Además, la desactivación del

archivo de intercambio (swapping) puede ayudar también.