Banner publicitario de PCBWay

Mstar Firmware Unpacker & Repacker

¿Es posible enviártelo para que lo revises?
Los datos los sabes tú y también eres tú el que puede hacer pruebas.
Yo no puedo revisar un firmware que desconozco.
Para poder revisar un firmware se requiere conocerlo, y aún así es complicado determinar un problema.
Si tienes un volcado GPT como se ve en la foto que publicaste, puedes usar esta aplicación: EFI-Xer Tool
Tiene todo lo necesario para reparar y editar la imagen del firmware.
 
Los datos los sabes tú y también eres tú el que puede hacer pruebas.
Yo no puedo revisar un firmware que desconozco.
Para poder revisar un firmware se requiere conocerlo, y aún así es complicado determinar un problema.
Si tienes un volcado GPT como se ve en la foto que publicaste, puedes usar esta aplicación: EFI-Xer Tool
Tiene todo lo necesario para reparar y editar la imagen del firmware.
Gracias por tu ayuda.
Sin embargo, subí y envié un archivo dañado que solo contiene la imagen del logotipo. Si no te importa, revisa dónde se encuentra el archivo de configuración de la pantalla LCD.
 
Aquí está el problema que te mencioné...
Incomplete_Dump.jpg
En las particiones que extraje a medias no encontré nada referente al panel LCD, y es que no se pueden extraer completas porque al parecer están dañadas.
 
Hola. Espero que estés bien.Quiero editar un archivo BIN con esta herramienta. Después de descomprimirlo y comprimirlo una vez con esta herramienta (sin cambios), la versión comprimida no se puede instalar en el televisor, solo se puede instalar la versión original. Al ejecutar el televisor con la versión modificada, aparece el siguiente registro en Putty:
AC_ON
01-2L-SM-04-20200210
MIU0_DQS-OK
BIST0-OK
BAP=1
BAP=1
optee teeloader entry
Load armfw failed!
ree_opt=0000007B
BAP=1
Auth reeloader...
Decrypt reeloader...
Check reeloader magic ID...
Version check on reeloader...
BAP=1
BAP=1
Auth CKB...
Decrypt CKB...
Check CKB magic ID...
ns_uboot_boot
ree_entry
U[AT][MB][start ub][308]

U-Boot 2011.06-00006-g6d492c6-dirty (Jun 07 2024 - 16:07:39)

[ERROR] MstarSysInit:194: Optee OS is not running!!!
[Mboot] ===== sw IR Config Register =====
[Mboot] ===== Attach IR Interrupt ======
Uboot Relocation: 152 MiB

eMMC HS400 5.1 200MHz
eMMC 7.28 GB
eMMC used life: 0~10%
CID
0x004AE352
0xADBA0652
0x34465447
0x38000115
 
A ver... ¿Te refieres a comprimir o a compilar?
Si es compilar, el resultado depende de cómo hayas establecido las opciones.
Si es comprimir, es cuando se trata de particiones EXT4 que se pueden extraer y posteriormente reempacar.

Ya se ha hablado sobre el asunto de la compilación, si no se establecen bien las opciones, la instalación puede fallar.
También se ha mencionado que no es conveniente recompilar todo el firmware, sino solo la o las particiones modificadas.
Así evitas equivocarte al establecer o editar las opciones de compilación y te enfocas más en configurar las particiones.
Debes fijarte que la cabecera generada contenga los mismos argumentos que la original.
Si falta alguno lo debes agregar manualmente en las opciones de compilación.
 
Gracias por su respuesta y le pido disculpas por cualquier error en mi texto. (El español no es mi idioma).
Según las imágenes, solo hago clic en la opción "Unpack Firmware" e inmediatamente en "Repack Firmware". No modifico el contenido de las particiones y solo descomprimo el archivo de entrada una vez y luego empaco el firmware. Después de esto, al transferir el nuevo archivo al televisor, aparece el error de actualización de software, como se muestra en la imagen.
Lo intenté varias veces con diferentes configuraciones. Por ejemplo, también marqué la opción Obtener pie de página, pero no funcionó. El archivo de salida de este software no se puede ejecutar en el televisor.
 

Adjuntos

  • 1.png
    1.png
    525.8 KB · Visitas: 11
  • 2.png
    2.png
    415.7 KB · Visitas: 12
  • 3.png
    3.png
    250.8 KB · Visitas: 9
  • 4.jpg
    4.jpg
    7.8 KB · Visitas: 11
No incluyas los bootloaders que están marcados en rojo.
Vuelvo a repetir, para compilar todo necesitas comparar que las cabeceras tengan los mismos argumentos.
 
Hola, tengo una pregunta. Estoy intentando usar la herramienta MStar Unpacking Tool v3.1.0 x64 para trabajar con este firmware de la placa EL9216-FG75 y he encontrado varios problemas:

1. Si intenta descomprimir el firmware seleccionando TODAS las particiones, estas aparecen en la carpeta de destino durante el descomprimido, pero al final, la utilidad escribe en la parte inferior que se debe eliminar SPARSE y elimina todo de la carpeta donde se encuentra el firmware desensamblado.

2. Intento desarmar el televisor eliminando la partición cusdata.img. Modifico la imagen y luego reconstruyo el firmware con este único archivo. Intento actualizar el televisor y me aparece un error de actualización de software.

¿Qué estoy haciendo mal?

Acabo de intentar desensamblar el firmware extrayendo solo el archivo cusdata.img y volviéndolo a ensamblar sin cambios. El televisor sigue sin flashear.
 
Última edición:
1. Si intenta descomprimir el firmware seleccionando TODAS las particiones, estas aparecen en la carpeta de destino durante el descomprimido, pero al final, la utilidad escribe en la parte inferior que se debe eliminar SPARSE y elimina todo de la carpeta donde se encuentra el firmware desensamblado.
Esto no lo entiendo, trata de explicarlo con más claridad.
2. Intento desarmar el televisor eliminando la partición cusdata.img. Modifico la imagen y luego reconstruyo el firmware con este único archivo.
Supongo que te refieres a modificar el firmware usando únicamente la partición cusdata.
Intento actualizar el televisor y me aparece un error de actualización de software.
Esto ya se ha tratado y unos posts arriba se mencionan los motivos, si la estructura del script es incorrecta la instalación debe fallar.
Cuando se reempaca completo se debe verificar que el script final contenga las variables requeridas, ya que algunas se omiten en el reempacado.
Esto se debe editar en la sección "Environment" de la aplicación y establecer las opciones de reempacado en "Repacking Options".
También puedes usar esta aplicación para corregir el script: MStar Script Editor

¿Qué estoy haciendo mal?
Para saber qué estás haciendo mal, debes adjuntar el firmware que creaste.

Prueba el firmware adjunto que únicamente incluye cusdata sin modificar.
 

Adjuntos

  • CtvUpgrade.rar
    546.2 KB · Visitas: 10
OK. Ya te comenté lo que debes hacer y la aplicación que puedes usar para corregir el script.

Hice un experimento a ver qué pasaba. El primer firmware no se pudo reconstruir para la actualización, así que decidí probar este, que es más interesante. Digma DM-LED43SBB31 EL.MT9216-FG75 СХ430DLЕDМ SТ4251В05-2 Ver2.1.rar A continuación se muestran capturas de pantalla.

1. Desmonté el firmware seleccionando solo una partición
2. Seleccioné el archivo de configuración que se va a empaquetar. No hice ningún cambio en los archivos.
3. En la sección Env., seleccioné solo la sección requerida
4. En la sección Util. dejé todo como está.
5. Completado el montaje.
6. En el programa MStar Script Editor, seleccioné el firmware compilado y hice clic en Compilar firmware.
7. El televisor aceptó el firmware recibido, pero después de eso no se enciende.
8. Utilizando el firmware original, el televisor vuelve a su estado original.

¿Alguna idea de por qué un firmware reconstruido con una partición mata el televisor? My files - test files.zip
1.png2.png3.png4.png5.png
6.png8.png
 
Última edición:
¿Alguna idea de por qué un firmware reconstruido con una partición mata el televisor?
Puede ser debido a lo que ya he mencionado, por eso debes comparar el script original contra el que se genera tras reempacar.
Lo que encuentres diferente lo puedes corregir con la aplicación que también mencioné.
Si el script es correcto tras su corrección, la instalación no debería fallar.
 
Это может быть связано с тем, о чем я уже упоминал, поэтому вам следует сравнить исходный сценарий с тем, который был сгенерирован после перепаковки.
Все, что вы обнаружите, можно исправить с помощью приложения, о котором я также упомянул.
Если после исправления скрипт верный, установка не должна завершиться неудачей.
Como puedes ver, usé la aplicación, pero algo no está bien.
¿Podrías echar un vistazo al archivo con los archivos recibidos? Tal vez quede claro cuál es el error fundamental.
 
Sí, pero no se puede saber lo que modificaste, si es que lo hiciste.
La aplicación no funciona sola, debes editar el script del firmware reempacado para corregir o agregar variables para que el sistema lo acepte.
Tampoco se ve obtengas el tipo de footer, sino que dejas que la aplicación decida, y tal vez no sea el adecuado.
Las aplicaciones nos facilitan la tarea, pero magia no pueden hacer.
 
Abordemos la cuestión desde este ángulo:

¿Es este el ejemplo correcto de script en el archivo que usted proporcionó? Mstar Firmware Unpacker & Repacker

Según tengo entendido, ¿solo necesito cambiar las direcciones de memoria a aquellas que se pueden ver durante el desempaquetado del firmware completo original?


Es decir, reemplazar:

# MSTAR FIRMWARE
# Device : mt5867
# Build PATH : /home/estwork/shengtao/9256_9632_AN11/code
# Build TIME : 2024-01-23 19:57:53
# Generated by: Mstar Unpacking Tool v3.1.0
# eMail:

# File Partition: set_partition
mmc slc 0 1
mmc rmgpt
mmc create cusdata 0x9600000

# File Partition: cusdata
filepartload 0x50000000 $(UpgradeImage) 0x4000 0x9600000
mmc erase.p cusdata
mmc write.p 0x50000000 cusdata 0x9600000 1

# File Partition: set_config
setenv CtvUpgrade_complete 1
setenv sync_mmap 1
setenv db_table 0
saveenv
printenv


en el mio:

# File Partition: cusdata
filepartload 0x50000000 $(UpgradeImage) 0x2f99000 0x9600000
mmc erase.p cusdata
mmc write.p 0x50000000 cusdata 0x9600000 1


También me gustaría señalar que después de utilizar el programa Mstar Unpacking Tool, las direcciones en el script se ven así:

# File Partition: cusdata
filepartload 0x50000000 $(UpgradeImage) 0x4000 0x9600000
mmc erase.p cusdata
mmc write.p 0x50000000 cusdata 0x9600000 1

Y una pregunta adicional: en su script de ejemplo hay un parámetro al principio:
mmc rmgpt - ¿No formatea todo el televisor?
 
Según tengo entendido, ¿solo necesito cambiar las direcciones de memoria a aquellas que se pueden ver durante el desempaquetado del firmware completo original?
No, porque corromperás el script y el bootloader no podrá encontrar las particiones.
Lo que debes hacer es dejarlo funcional.
También me gustaría señalar que después de utilizar el programa Mstar Unpacking Tool, las direcciones en el script se ven así:
Eso es normal, ten en cuenta que la primer partición se encuentra después del script, o sea, en la dirección 0x4000
En el firmware original cusdata se encuentra en la dirección 0x301f000 porque está después de otras particiones.
Como aquí solo se está empacando una partición, su posición inicial debe ser justamente en 0x4000 (16 KB de script).
Esto lo puedes ver en la partición tvcertificate, que en el firmware original es la primera...
Bash:
# File Partition: tvcertificate
filepartload 0x50000000 $(UpgradeImage) 0x4000 0x800000
mmc erase.p tvcertificate
mmc write.p 0x50000000 tvcertificate 0x800000 1

Sin embargo, hay algo mal con la dirección que muestras para cusdata (0x2f99000).
Esa dirección es importante, ya que es donde se encuentra el inicio de la partición, si no es correcta, no será encontrada.
Si modificaste ese valor compilando únicamente cusdata, entonces ese valor es incorrecto.
Las direcciones de posición para las particiones son asignadas al compilar y no deben ser modificadas.
Y una pregunta adicional: en su script de ejemplo hay un parámetro al principio:
mmc rmgpt - ¿No formatea todo el televisor?
No formatea pero sí elimina las particiones, según lo expuesto aquí: Android Mboot MMC Command Introduction
Por ahí podría estar el problema, así que sería conveniente no incluirla porque no se está instalando todo el contenido.
 
Atrás
Arriba