Convertir Hexadecimal a ASCII

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
 

Adjuntos

  • 456.rar
    4.9 KB · Visitas: 22
Si no es que el que escribió el código es muy tonto lo habrá encriptado para evitar que alguien que se cree listo lo cambie.
 
Usa el programa SRecord y convierte el archivo a .bin
Ejemplo: srec_cat 456.hex -Intel -output 456.bin -binary
Luego usa un editor hexadecimal para ver si encuentras lo que quieres.
Si no lo encuentras es porque esta encriptado y solo el programa del microcontrolador lo podrá desencriptar.
 
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
Pues haces una búsqueda con esa secuencia hexadecimal, la encuentras y la cambias.
Es probable que, si el archivo es un hex en formato intel, la secuencia esté partida en mas de una línea (no mas de dos) y entonces deberás buscar por un fragmento de la secuencia.

De todas formas, si ese es el nombre del autor del software NO DEBERÍAS cambiarlo por que no estarías dando el crédito que merece el autor que te lo entregó gratis.
 
Pues haces una búsqueda con esa secuencia hexadecimal, la encuentras y la cambias.
Es probable que, si el archivo es un hex en formato intel, la secuencia esté partida en mas de una línea (no mas de dos) y entonces deberás buscar por un fragmento de la secuencia.

De todas formas, si ese es el nombre del autor del software NO DEBERÍAS cambiarlo por que no estarías dando el crédito que merece el autor que te lo entregó gratis.
no es el nombre del autor , es un hex publico , pero no se como comprobarlo , o como leo . pero notepad ++ es bueno pero donde cambiar
 
Pues haces una búsqueda con esa secuencia hexadecimal, la encuentras y la cambias.
Es probable que, si el archivo es un hex en formato intel, la secuencia esté partida en mas de una línea (no mas de dos) y entonces deberás buscar por un fragmento de la secuencia.

De todas formas, si ese es el nombre del autor del software NO DEBERÍAS cambiarlo por que no estarías dando el crédito que merece el autor que te lo entregó gratis.
La secuencia no está o al menos yo no la he encontrado, ni total ni parcialmente. Ni siquiera hay dos bytes consecutivos cuales quiera en ese .hex
en absoluto scooter mal . porque este vatímetro es público , si puedo cambiarlo , voy a publicar
de la hex está encriptado como usted dice , no sería legible en absoluto
Pues no parece que estés pudiendo.
Si es público usa el código fuente. ¿Para que usas el .hex? No tiene ningún sentido.
Puede ser público "como está" y no se permita la modificación.
Todos los archivos encriptados o no son binarios y se pueden ver pero lo que ves no tienen sentido si no lo sabes desencriptar. Como en este caso que no eres capaz de entender donde diablos está la secuencia que muestra ese mensaje.

Prueba de este modo a ver si tienes suerte:
Busca uno a uno los bytes a ver si los encuentras y a ver si están uniformemente espaciados.
A ver podría haber un código que fuera:
imprime "cadena"
o podría haber un código que fuese
imprime "c"
imprime "a"
imprime "d"
imprime "e"
imprime "n"
imprime "a"
Si es esto segundo los bytes estarán uniformemente distribuidos.


Puede estar encriptado simplemente cambiando 0s por 1s o sumando un offset o cualquier cosa simple que ya te cueste mucho de encontrar la cadena.
...
 
Última edición:
Pues haces una búsqueda con esa secuencia hexadecimal, la encuentras y la cambias.
Es probable que, si el archivo es un hex en formato intel, la secuencia esté partida en mas de una línea (no mas de dos) y entonces deberás buscar por un fragmento de la secuencia.

De todas formas, si ese es el nombre del autor del software NO DEBERÍAS cambiarlo por que no estarías dando el crédito que merece el autor que te lo entregó gratis.
No es ezacatmente lo nobre del auctor y si su indicativo de llamada, seguramente por ese sener un Radioaficcionado y todo Radioaficcionado tiene su indicativo de llamada que vale y es reconocido mundialmente.
!Saludos!
 
La verdad es que no he mirado si mis .hex de compilaciones C dejan visibles o no las cadenas. A lo mejor no lo dejan como dice D@rkbytes.
Los que hacía en ensamblador si lo dejaban visibles ya que las cadenas se guardaban con directivas db sin mas.

De cualquier modo que alguien comparta un .hex no significa que te permita editarlo y modificarlo, si así fuese lo facilitaría.
 
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 .

"LY2BOK" = 0x4C,0x59,0x32,0x42,0x4F,0x4B

Como podés comprobar, la secuencia 4C5932424F4B no está en ningún lado, ni siquiera 3 caracteres seguidos.

Si el autor encriptó el nombre para que no se lo editen, pienso que debe ser algo fácil de desencriptar, del tipo hacer una XOR o sumar una constante.
Pero que sea fácil (si llegara a ser...) no significa que la vas a encontrar rápido....
 
La verdad es que no he mirado si mis .hex de compilaciones C dejan visibles o no las cadenas.
Las cadenas solo quedan visibles cuando se graban en la memoria interna.
Ejemplo en ensamblador para PIC16:
Código:
    ORG     2100
    DE      "    DARKBYTES   "
Archivo .hex visto con el programador:
EEPROM_View.png
Las cadenas que se escriban en el código no se pueden visualizar como tales en el archivo .hex ni con un editor hexadecimal.

Si lo descompilamos, entonces sí que se podrán ver.

Código:
     ORG 0x2100       ; DATA

   Data   0x20 , 0x20 , 0x20 , 0x20 , 0x44 , 0x41 , 0x52 , 0x4B  ;         D A R K
   Data   0x42 , 0x59 , 0x54 , 0x45 , 0x53 , 0x20 , 0x20 , 0x20  ; B Y T E S     
   Data   0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF  ;               
   Data   0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF  ;               
   Data   0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF  ;               
   Data   0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF  ;               
   Data   0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF  ;               
   Data   0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF , 0xFF  ;
 
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.
 
the hex is public free but old, the main author is Russian UN7cge, I have the asm but my hdd is broken. ly2bok is an amateur, in the Russian forum I modify the callsign, the same hex that I have without any call. The microprocessor is 16f873, but I use 16f876

el hex es publico libre pero antiguo, el autor principal es el ruso UN7cge, tengo el asm pero mi hdd esta roto. ly2bok es un aficionado, en el foro ruso modifico el indicativo, el mismo hex que tengo sin indicativo. El microprocesador es 16f873, pero yo uso 16f876
lo he dicho otra vez , el archivo es antiguo pero publico.cualquiera con pocos conocimientos puede , modificarlo.no esta violando ninguna norma , muchas veces antes me he puesto en contacto con el autor , incluso me dio el software para compilarlo , era algo ....pascal.de todas formas gracias
here...
 

Adjuntos

  • Untitled.jpg
    Untitled.jpg
    87.7 KB · Visitas: 10
  • Untitledq.jpg
    Untitledq.jpg
    109 KB · Visitas: 9
Última edición:
En ese caso lo más sencillo quizás sea pasar a .Bin editar y pasar de nuevo a .hex para no tener que calcula los checksums.
Igual no es tan difícil, pones la calculadora en modo programador, sumas todos los pares (bytes) luego tomas el byte menos significante y los restas a 0x100
Para la línea
:10081000DB003930DC008A1565238A112D30B900E0
Sumamos lo que está en negrita, nos da 0x520, solo tomamos el 0x20 y hacemos 0x100-0x20= 0xE0
Sin contar los bytes a modificar, la suma para la 131 es 0x406 y la 132 es 0x426, a estos le tendría que sumar los 3 bytes que vaya a colocar respectivamente y luego hacer la resta.
 
Atrás
Arriba