Perdon por hacer tantas preguntas salgo de una duda y me meto en otra, lo que dices antes creo que entendi algo, o para mi es mas facil, yo dijo los offset que modifican algo en el firm como lo son los 5 primeros, esos no seria mas facil portarlos despues? osea como si fueran un parche simple, que no requieran assembling? y otra duda, te segui hasta que tienes que poner patch, dir 1, dir 2, dir 3, dir 4, etc. En patch se que poner que es donde comienza el codigo nuevo, pero en dir 1, y los demas dir no se como obtenerlos? osea en tu tutorial veo que obtienes dir1 equ 0x454DE6C8 de la nada eso creo?

PD: Avanza hasta aca:
Código:
include "x.inc"

patch equ 456B55B0
dir 1 equ
dir 2 equ
dir 3 equ
dir 4 equ

loc_456B55B0:				
		LDR	R0, [R4,0x30]
		LDR	R1, loc_456B5610
		PUSH	{R0-R7,LR}
		LDR	R7, loc_456B560C
		LDRB	R6, [R7,1]
		CMP	R6, 1
		BEQ	loc_456B55C6
		MOV	R1, 1
		STRB	R1, [R7,1]
		BL	sub_456B55C8

loc_456B55C6:				
		POP	{R0-R7,PC}



sub_456B55C8:				
		PUSH	{R0-R7,LR}
		LDR	R7, loc_456B560C
		LDRB	R6, [R7]
		CMP	R6, 1
		BEQ	loc_456B55E2
		MOV	R0, 0x1E
		BL	sub_455F2464
		MOV	R0, 0x32
		LDR	R1, off_456B5614
		BL	sub_4564C288
		POP	{R0-R7,PC}


loc_456B55E2:				
		MOV	R6, 0
		STRB	R6, [R7]
		STRB	R6, [R7,1]
		POP	{R0-R7,PC}




loc_456B55EA:				
		PUSH	{R0-R7,LR}
		BL	loc_455F247C
		MOV	R0, 0x32
		LDR	R1, off_456B5618
		BL	sub_4564C288
		POP	{R0-R7,PC}

loc_456B55FA:				
		ADD	R4, 0x4C
		LDRB	R0, [R4,3]
		PUSH	{R0-R7,LR}
		LDR	R7, loc_456B560C
		LDRB	R6, [R7,1]
		CMP	R6, 1
		BNE	loc_456B560A
		STRB	R6, [R7]

loc_456B560A:				
		POP	{R0-R7,PC}


loc_456B560C:				
		CMP	R3, 0x40
		LDR	R4, off_456B5618

loc_456B5610:				
		LDR	R1, [R0,0x28]
		CMP	R0, R4