Convertir Hexadecimal a ASCII

No hace falta sumar todos los números, como tenemos el checksum original le sumamos los originales y restamos los nuevos .

Ejemplo, en esta línea quiero cambiar 4C (L) 59 (Y) 2 (32) por 48 (H) 48 (H) 5 (35)
:100820002030BA004C30BB005930BC003230BD0023

:100820002030BA004830BB004830BC003530BD00
Para el cheksum hago:
Nuevo checksum = (checksum_orig + 'L' + 'Y' + '2)' - ('H' + 'H' + '5')
O sea: Nuevo checksum = (23 + 4C + 59 + 32) - (48 + 48 + 35) = FA - C5 = 35

Quedando la linea: :100820002030BA004830BB004830BC003530BD0035
 
No hace falta sumar todos los números, como tenemos el checksum original le sumamos los originales y restamos los nuevos .

Ejemplo, en esta línea quiero cambiar 4C (L) 59 (Y) 2 (32) por 48 (H) 48 (H) 5 (35)
:100820002030BA004C30BB005930BC003230BD0023

:100820002030BA004830BB004830BC003530BD00
Para el cheksum hago:
Nuevo checksum = (checksum_orig + 'L' + 'Y' + '2)' - ('H' + 'H' + '5')
O sea: Nuevo checksum = (23 + 4C + 59 + 32) - (48 + 48 + 35) = FA - C5 = 35

Quedando la linea: :100820002030BA004830BB004830BC003530BD0035

¡¡¡ Tramposo !!!

Me llevaste a más de 50 años atrás, cuando yo comenzaba a hacer lo mismo... (y)(y)(y)

Con la única diferencia que teníamos que hacerlo "a pié" , cambiando Byte por Byte, uno por uno, digitando sobre un teclado Alpha-Numérico contra un display LED de 8 dígitos y en código máquina. Los cálculos se hacían a mano o, algunos afortunados, con una HP.
Aaaahhh... Sí... No existía Internet, ni F.E. ... ni había cristiano alguno que supiera nada de esto en kilómetros a la redonda...
Aaaahhh... Sí... No existía Internet, ni F.E. ... ni había cristiano alguno que supiera nada de esto en kilómetros a la redonda...
 
gracias a todos , hice lo que pude y lo que se no tuve suerte , facil y dificil a la vez . tambien tengo el otro hex que tenia otro nombre de indicativo del autor original . y el txt de la fuente tambien , le cambie el nombre pero al compilar me da error
 
en absoluto, pero estoy un poco fuera de donde están ahora, no worie publicará en el tiempo cercano
switchxxi ¿puede señalar un nombre determinado de desensamblador
 
sabia que eres experto , pero como lo supiste directamente o te tomo tiempo verlos , o tal vez usaste una herramienta , gracias nuyel.
Creo que switchxxi tiene el archivo correcto, el original.
No use ninguna herramienta, solo el block de notas para buscar donde estaba el primer carácter y después viendo los siguientes hasta encontrar un patrón de intervalos regulares que coincidiera, al ser un HEX no es un archivo binario y tiene información adicional por lo que debía buscar una instrucción que moviera la literal, lo vi desde el principio pero solo cuando confirmaste el modelo del controlador es que pude separarlo en bloques de 2bytes (14bits para ese modelo).
 
No use ninguna herramienta, solo el block de notas para buscar donde estaba el primer carácter y después viendo los siguientes hasta encontrar un patrón de intervalos regulares que coincidiera, al ser un HEX no es un archivo binario y tiene información adicional por lo que debía buscar una instrucción que moviera la literal, lo vi desde el principio pero solo cuando confirmaste el modelo del controlador es que pude separarlo en bloques de 2bytes (14bits para ese modelo).

Ese fue el motivo de mi pregunta, dado que como mostró @switchxxi conocia que habia en la web varios desensambladores de los hex usados por los micro's de Microchip.


Salu2.-
 
Hola amigos del foro tengo una pregunta no directamente relacionada con la radiofrecuencia . Tengo un archivo hexadecimal de un medidor digital de rf que al arrancar tiene un nombre LY2BOK , lo he abierto con notepad++ que incorpora un conversor de hex a ascii ( LY2BOK 4C5932424F4B ) necesito saber donde esta eso para intentar cambiarlo , no se como leer ese archivo hexadecimal , si me podeis echar una mano .

gracias de antemano
Esa secuencia no está en ese archivo. ---> 4C5932424F4B
Ese archivo que subiste, debe ser el programa del usuario y el texto para mi es del FIRMWARE que se guarda aparte


Ademas 👇

--> :1000 0000 CC2B FF3F FF3F FF3F 0313 8312 5308 DA00 (5F) --> CRC
 
Ya se explicó que se trata de un archivo .hex compilado para PIC y que por ese motivo no se podrán encontrar cadenas.
Para encontrar cadenas se debe descompilar el archivo .hex y actualmente es lo que se viene tratando.
Si se trata de un archivo compilado .hex para un microcontrolador, no vas a encontrar cadenas y tampoco modificarlo.
Si lo descompilamos, entonces sí que se podrán ver.
C++:
LADR_0x03F3
BCF PCLATH,3 ; !!Bank Program-Page-Select
MOVLW 0x57 ; b'01010111' d'087' "W"
MOVWF LRAM_0x39
MOVLW 0x65 ; b'01100101' d'101' "e"
MOVWF LRAM_0x3A
LADR_0x03F8
MOVLW 0x6C ; b'01101100' d'108' "l"
MOVWF LRAM_0x3B
MOVLW 0x63 ; b'01100011' d'099' "c"
MOVWF LRAM_0x3C
MOVLW 0x6F ; b'01101111' d'111' "o"
MOVWF LRAM_0x3D
LADR_0x03FE
MOVLW 0x6D ; b'01101101' d'109' "m"
MOVWF LRAM_0x3E
MOVLW 0x65 ; b'01100101' d'101' "e"
LADR_0x0401
MOVWF LRAM_0x3F
MOVLW 0x21 ; b'00100001' d'033' "!"
MOVWF LRAM_0x40
LADR_0x0404
CLRF LRAM_0x41
MOVLW 0x01 ; b'00000001' d'001'
LADR_0x0406
MOVWF LRAM_0x5A
MOVLW 0x05 ; b'00000101' d'005'
MOVWF LRAM_0x5B
MOVLW 0x39 ; b'00111001' d'057' "9"
MOVWF LRAM_0x5C
BSF PCLATH,3 ; !!Bank Program-Page-Select
CALL LADR_0x0365 ; !!Bank!! 0x0365 - 0x0B65
BCF PCLATH,3 ; !!Bank Program-Page-Select
MOVLW 0x2D ; b'00101101' d'045' "-"
MOVWF LRAM_0x39
MOVLW 0x20 ; b'00100000' d'032' " "
MOVWF LRAM_0x3A
MOVLW 0x4C ; b'01001100' d'076' "L"
MOVWF LRAM_0x3B
MOVLW 0x59 ; b'01011001' d'089' "Y"
MOVWF LRAM_0x3C
MOVLW 0x32 ; b'00110010' d'050' "2"
MOVWF LRAM_0x3D
MOVLW 0x42 ; b'01000010' d'066' "B"
MOVWF LRAM_0x3E
LADR_0x041A
MOVLW 0x4F ; b'01001111' d'079' "O"
MOVWF LRAM_0x3F
MOVLW 0x4B ; b'01001011' d'075' "K"
MOVWF LRAM_0x40
MOVLW 0x20 ; b'00100000' d'032' " "
MOVWF LRAM_0x41
MOVLW 0x2D ; b'00101101' d'045' "-"
No es difícil, pero concuerdo con los demás, que el HEX este disponible no significa que hay que cambiar el nombre del autor. Además el mensaje debe aparecer, de seguro, unos segundos solo al encenderse.
 
Atrás
Arriba