Acabo de ingenierizar la parte ini de Odin3 (usando IDA 66 + HexRaysDecompiler & Rohitab API Monitor 2.32).
Entonces aquí están todas las configuraciones ini disponibles + sus valores por defecto:
; Estas configuraciones ini se aplican a Odin3 v3.12 (Compilado el 21 de enero de 2016)
[Option]
; [Evitar omitir esto o cualquier cosa que comience como 'Odin3. [Android + SLP]' ]
Title = [Android + SLP]
FactoryResetTime = 1 # [Por defecto: 1 ] ???
PacketSize = 1048576 # [Por defecto: 1048576 ] ???
OptionEnable = 1 # [Por defecto: 1 ] 'Opciones' se vuelve disponible
PhoneEnable = 1 # [Por defecto: 0 ] 'Limpieza de EFS de teléfono' y 'Actualización de bootloader de teléfono' se vuelven disponibles
DeviceInfo = 1 # [Por defecto: 0 ] 'Información del dispositivo' se vuelve disponible
RtnForSprint = 1 # [Por defecto: 0 ] 'RTN para Sprint' se vuelve disponible
; Verificar actualizaciones
; ftp://odindown.user:nwodnido110110@165.213.149.206/pub/Tools/USB_Downloader/Odin_Downloader/
; "OdinVersion.txt", "OdinNew.exe", "OdinLauncher.exe"
;SLP = 0 # Versión 3.09 solamente! [Por defecto: 0 ]
;ComPortWaitingTime = 0 # Versión 3.09 solamente! [Por defecto: 1 ]
;AuthorityKey = pw
[ButtonOption]
Bootloader = 1 # [Por defecto: 1 ] Se vuelve disponible la entrada de archivo 'BL'
PDA = 1 # [Por defecto: 1 ] Se vuelve disponible la entrada de archivo 'AP'
Phone = 1 # [Por defecto: 1 ] Se vuelve disponible la entrada de archivo 'CP'
CSC = 1 # [Por defecto: 1 ] Se vuelve disponible la entrada de archivo 'CSC'
UMS/PATCH = 1 # [Por defecto: 1 ] Se vuelve disponible la entrada de archivo 'UMS'
;USERDATA = 0
[APOption]
RePartition = 0 # [Por defecto: 0 ] Establece la casilla de verificación por defecto para 'Reparticionar'
AutoReboot = 0 # [Por defecto: 1 ] Establece la casilla de verificación por defecto para 'Reinicio automático' Reiniciar después de la carga de datos
FResetTime = 0 # [Por defecto: 1 ] Establece la casilla de verificación por defecto para 'Tiempo de reinicio de fábrica'
FlashLock = 0 # [Por defecto: 0 ] Establece la casilla de verificación por defecto para 'Bloqueo de flash'
NandErase = 0 # [Por defecto: 0 ] Establece la casilla de verificación por defecto para 'Borrado de Nand'
TFlash = 0 # [Por defecto: 0 ] Establece la casilla de verificación por defecto para 'T Flash'
[CPOption]
PhoneEFSClear = 0 # [Por defecto: 0 ] Establece la casilla de verificación por defecto para 'Limpieza de EFS de teléfono'
PhoneBootUpdate = 0 # [Por defecto: 0 ] Establece la casilla de verificación por defecto para 'Actualización de bootloader de teléfono'
;[UIOption]
; LED = 0 [Por defecto: 0 ] ¡Versión 3.09 solamente! Establece la casilla de verificación por defecto para 'Control de LED'
;Nota: faltan casillas de verificación para 'RTN para Sprint' e 'Información del dispositivo'
[D300Jig]
;[0] no usar *ValorDefecto* / COM [1~2] utilizable
D300COM = 0
;[0] no usar *ValorDefecto* / [1] usar (solo aplicado si D300COM = 1)
MicroCable = 0
; [PortArrange]
; ;Puerto de modem móvil SAMSUNG (para el modo de Descarga)
; DPort0 =
; DPort1 =
; DPort2 =
; DPort3 =
; DPort4 =
; DPort5 =
; DPort6 =
; DPort7 =
; ;Puerto de modem USB Android de SAMSUNG (para Samsung Kies)
; SPort0 =
; SPort1 =
; SPort2 =
; SPort3 =
; SPort4 =
; SPort5 =
; SPort6 =
; SPort7 =
Registro del monitor de API de Odin3.ini:
"Option" "Title" "[Android + SLP]"
"Option" "Title" "Odin3. [Android + SLP]"
"Option" "FactoryResetTime" "1"
"Option" "PacketSize" "1048576"
"APOption" "RePartition" "0"
"APOption" "AutoReboot" "1"
"APOption" "FResetTime" "1"
"CPOption" "PhoneEFSClear" "0"
"CPOption" "PhoneBootUpdate" "0"
"APOption" "FlashLock" "0"
"APOption" "NandErase" "0"
"APOption" "TFlash" "0"
"ButtonOption" "Bootloader" "1"
"ButtonOption" "PDA" "1"
"ButtonOption" "Phone" "1"
"ButtonOption" "CSC" "1"
"ButtonOption" "UMS/PATCH" "1"
"Option" "OptionEnable" "1"
"Option" "PhoneEnable" "0"
"Option" "DeviceInfo" "0"
"Option" "RtnForSprint" "0"
Poco a poco trato de descubrir más sobre el significado de las opciones.
Otra información útil a tener en cuenta:
Atajos de teclado de Odin3
+ S BL
+ P AP
+ M CP
+ C CSC
+ S Iniciar
+ R Reiniciar
+ E Salir
¿Cómo detecta Odin3 si algún dispositivo está conectado? Ver los nombres de las entradas en HKLM\HARDWARE\DEVICEMAP\SERIALCOMM que contienen 'mdm' y si su valor comienza con 'COM'
Ejemplo
"\Device\ssudmdm0000" "COM8"
Nota: "Odin_Multi_Downloader_v4.44" (2011) es más exigente y solo encuentra "\Device\sscdmdm0..9"
"Odin3.09" (2013) encuentra "\Device\ssudmdm" "\Device\sscdmdm" "\Device\ssacmdm" "\Device\ssadmdm"
Es el 'Módem USB móvil SAMSUNG' (USB\VID_04E8&PID_685D&Modem) quien escribe las entradas en 'HKLM\HARDWARE\DEVICEMAP\SERIALCOMM' -> Habilitar/Deshabilitar esto en el administrador de dispositivos de Windows activa para registrar entradas "¡¡Eliminado!! / ¡¡Añadido!!" en Odin3
Pero en lugar de deshabilitar/habilitar el módem, deshabilitar/habilitar el 'Dispositivo compuesto USB móvil SAMSUNG' para una reinitialización adecuada. O conseguir Nirsoft DevManView y hacerlo con este script de cmd:
::Comenta en caso de que Odin3 se 'cuelgue' en "Configurando conexión.."
:: ... y así mantiene un asa abierta a "\\Device\ssudmdm0000"
:: ... que evita/bloquea que el dispositivo y sus dependencias se eliminen
::taskkill /fi "IMAGENAME eq odin*"
DevManView /ShowLegacyDrivers /use_wildcard /disable "SAMSUNG Mobile USB *"
DevManView /ShowLegacyDrivers /use_wildcard /enable "SAMSUNG Mobile USB *"
luego simplemente crear un acceso directo en el escritorio y establecer en las propiedades del acceso directo una combinación de teclas como ALT+CTRL+Y para ejecutarlo.
Bueno, alternativamente también se puede hacer de la manera de enchufar y listo, sacar el enchufe USB y luego volver a conectarlo.
0 votos
UMS/PATCH podría ser para flashear una actualización parcial en lugar de simplemente sobrescribir todo. USERDATA es casi con seguridad
/datos
. Supongo que la mayoría del resto es realmente solo útil en la intranet de Samsung.0 votos
@MatthewRead A partir de ahora, comencé a desarmar el código de Odin. Lo interesante es que encontré el componente "LOKE" referenciado en una cadena. Supongo que es para el propósito de la salida. En cuanto a USERDATA, experimenté un borrado interno de SD cada vez que flasheaba una ROM stock. Tal vez eso se hizo para evitar que Odin limpie /storage/sdcard0 (/data/media).
1 votos
Creo que he encontrado la IP del servidor al que se conecta Odin. Parece ser 165.213.149.206.
0 votos
Encontré una nueva bandera que se puede agregar manualmente, para hacer seleccionables Phone EFS Clear y Phone Bootloader Update. Pertenece a la etiqueta [Options].
0 votos
Es posible que desees mover todo eso a una respuesta. Posiblemente hazla Comunidad Wiki si quieres que otros puedan actualizarlo.
0 votos
@MatthewRead Lo haré lo antes posible. Gracias por tu consejo.