PDA

Ver la versión completa : [DISCUSION] Archivos Assembling (ASM)



albertnet3
06/08/2010, 19:54:54
Aquí se discutiran todas las dudas que tengan en cuanto a estos temas:


Archivos Assembling (ASM)-Topsony- (http://www.topsony.com/forum_es/parches-scripts-f88/archivos-assembling-asm-t124967.html)

Crear tus propios archivos *.asm (http://www.topsony.com/forum_es/desarrollo-parches-f202/crear-tus-propios-archivos-asm-t127653.html)


pueden postear dudas o problemas con el port de los asm publicados en el tema anterior ejemplo :
1- pedir ayuda si no le sale el port de algun offset( no somos expertos, pero trataremos de ayudarlos en lo que este a nuestro alcance)
2- si los archivos mensionado de dicho tema les da errores de compilacion por X motivos posteenlos aqui indicando cual es el error que les da al compilar y una sshot(no es necesario postear Sshot pero complementa).
3 tambien pueden poner dudas sobre archivos.asm que ustedes esten analizando y no les sale pueden pedir ayuda aqui.

Nota:
todo mensaje que sea spam o se desvie del tema mensionado sera eliminado sin previo aviso.

ATTE:

-Staff de TopSony-

sotel
11/08/2010, 14:23:16
Hola pues soy el primero en pedir ayuda :a11:
pues el problema es que desarme este parche Add_on_off Bluetooth del K810 R8BF003
y pues el texto los mostraba en ruso asi que quize traducirlo a español. Y pues lei que
cuando se trata de texto se debe analizar con "A" y asi lo hice y ya el .asm arreglado queda asi

include "x.inc"

hook1 equ 0x453E8358
hook2 equ 0x453E8396
hook3 equ 0x453E83A6
body equ 0x45CCA4C0


org hook1

LDR R7, off_453E835C
BX R7

off_453E835C dw loc_45CCA4C0+1
db 0xC0
db 0x46



org hook2

NOP
NOP
NOP
NOP




org hook3
LDR R7, off_453E83AC
BX R7

align 4
off_453E83AC dw loc_45CCA520+1




org body

loc_45CCA4C0:

MOV R1, 0
ADD R0, R4, 0
LDR R7, off_45CCA58C
BLX R7
STR R0, [R4,0x18]
CMP R0, 0
BEQ loc_45CCA51C
MOV R1, 1
LDR R7, off_45CCA590
BLX R7
LDR R7, off_45CCA5E8
BLX R7
CMP R0, 0
BEQ loc_45CCA4FC
adr R0, loc_45CCA5C4
MOV R1, 0
LDR R2, dword_45CCA5F0
LDR R7, off_45CCA5EC
BLX R7
ADD R1, R0, 0
LDR R0, [R4,0x18]
LDR R7, off_45CCA594
BLX R7
LDR R0, [R4,0x18]
LDR R1, dword_45CCA59C
LDR R7, off_45CCA598
BLX R7
LDR R0, [R4,0x18]
LDR R7, off_45CCA5A0
BX R7


loc_45CCA4FC:
adr R0, aI_Bt
MOV R1, 0
LDR R2, dword_45CCA5F0
LDR R7, off_45CCA5EC
BLX R7
ADD R1, R0, 0
LDR R0, [R4,0x18]
LDR R7, off_45CCA594
BLX R7
LDR R0, [R4,0x18]
LDR R1, dword_45CCA59C
LDR R7, off_45CCA598
BLX R7
LDR R0, [R4,0x18]
LDR R7, off_45CCA5A0
BX R7


loc_45CCA51C:
MOV R0, 0
POP {R0-R7,PC}


loc_45CCA520:

LDR R1, dword_45CCA5B4
LDR R2, off_45CCA5B8
LDR R0, [R4,0x18]
LDR R7, off_45CCA5A8
BLX R7
LDR R7, off_45CCA5E8
BLX R7
CMP R0, 0
BEQ loc_45CCA552
LDR R0, [R4,0x18]
LDR R1, dword_45CCA5B4
MOV R2, 0x93
LDR R7, off_45CCA5AC
BLX R7
LDR R2, off_45CCA5A4
LDR R1, dword_45CCA5F4
LDR R0, [R4,0x18]
LDR R7, off_45CCA5A8
BLX R7
LDR R0, [R4,0x18]
MOV R1, 0
LDR R7, off_45CCA5B0
BLX R7
LDR R7, off_45CCA5BC
BX R7


loc_45CCA552:
LDR R0, [R4,0x18]
LDR R1, dword_45CCA5B4
MOV R2, 0x19
LDR R7, off_45CCA5AC
BLX R7
LDR R2, off_45CCA5A4
LDR R1, dword_45CCA5F4
LDR R0, [R4,0x18]
LDR R7, off_45CCA5A8
BLX R7
LDR R0, [R4,0x18]
MOV R1, 0
LDR R7, off_45CCA5B0
BLX R7
LDR R7, off_45CCA5BC
BX R7

db 0xFF
unk_45CCA573 db 0xB5
db 0x1C
db 0x4F
db 0xB8
db 0x47
db 0
db 0x28
db 3
db 0xD0
db 0
db 0x20
db 0x10
db 0x4F

BLX R7
POP {R0-R7,PC}

db 1
db 0x20
db 0xE
db 0x4F
db 0xB8
db 0x47
db 0xFF
db 0xBD
off_45CCA58C dw 0x45429D7C+1
off_45CCA590 dw 0x4542A494+1
off_45CCA594 dw 0x4542A4B0+1

off_45CCA598 dw 0x4542A4C0+1

dword_45CCA59C dw 0xEC43

off_45CCA5A0 dw 0x453E8366+1

off_45CCA5A4 dw 0x453E84E5

off_45CCA5A8 dw 0x4548CC1C+1

off_45CCA5AC dw 0x4548CC94+1

off_45CCA5B0 dw 0x45429F84+1

dword_45CCA5B4 dw 0xFAD

off_45CCA5B8 dw 0x45CCA573
off_45CCA5BC dw 0x453E83B0+1


LDR R4, [SP,0x34]
ADD R9, SP

loc_45CCA5C4:
LSL R2, R0, 3
LSL R3, R7, 3
LSL R2, R5, 3
LSL R3, R5, 3
LSL R6, R5, 0
LSL R0, R4, 0
LSL R2, R0, 1
LSL R4, R2, 1
LSL R0, R0, 0

align 4
aI_Bt db "Â",0
db 0xEA
db 0
db 0xEB
db 0
db 0x2E
db 0
db 0x20
db 0
db 0x42
db 0
db 0x54
db 0
db 0
db 0
off_45CCA5E8 dw 0x44E99BD0+1

off_45CCA5EC dw 0x45452ED4+1

dword_45CCA5F0 dw 0xFFFF

dword_45CCA5F4 dw 0xFC2



y se supone que esta parte es la que debo editar no?

align 4
aI_Bt db "Â",0

pero no me queda claro que es lo que debo reemplazar si el aI_Bt o el db "Â",0.

El .asm ya lo compile y me salio igual al parche asi que pienso que esta bien analizado.
espero no molestar a nadie con mi duda .
Disculpen la notoria ignorancia.

Gracias.

05M4N
11/08/2010, 16:50:11
Que tal, mira tienes que analizar el codigo con el auto-analizis (tecla"c") para que lo defina de forma correcta xq por ejemplo todavia te falta codigo por analizar, te muestro:




aI_Bt db "Â",0
db 0xEA
db 0
db 0xEB
db 0
db 0x2E
db 0
db 0x20
db 0
db 0x42
db 0
db 0x54
db 0
db 0
db 0Deberia ser asi


aI_Bt du "Âêë. BT",0Ademas si no estoy mal esto tambien es texto y habria que traducirlo


loc_45CCA5C4:
LSL R2, R0, 3
LSL R3, R7, 3
LSL R2, R5, 3
LSL R3, R5, 3
LSL R6, R5, 0
LSL R0, R4, 0
LSL R2, R0, 1
LSL R4, R2, 1
LSL R0, R0, 0lo dejo indefinido para que vean y si estoy mal me corrijan


unk_45CCA5C4:
db 0xC2 ; Â
db 0
db 0xFB ; û
db 0
db 0xEA ; ê
db 0
db 0xEB ; ë
db 0
db 0x2E ; .
db 0
db 0x20
db 0
db 0x42 ; B
db 0
db 0x54 ; T
db 0
db 0
db 0Y lo que tienes que traducir tambien es Âêë. BT que es lo que esta entre comillas

Cr@cShoT
11/08/2010, 16:53:50
Tienes que verificar si es Texto ASCII o texto unicode, en este caso es unicode, y eso no se analiza con "A" solo el ASCII

05M4N
14/08/2010, 20:47:38
Que tal amigos, necesito de su ayuda, lo que pasa es que mi asm no compila porque me marca un error y no se como arreglarlo, si me pueden decir que significa o como lo arreglo se los agradecere mucho. Saludos

Esto es lo que me marca el armpc:


status.asm [21]:
LDR R0, [SP,0x1C+var_1C]
x.inc [85] ldr [5]:
ldr rg,[a,b,c]
error: Expecting square bracket "]".

albertnet3
18/08/2010, 03:00:47
Que tal amigos, necesito de su ayuda, lo que pasa es que mi asm no compila porque me marca un error y no se como arreglarlo, si me pueden decir que significa o como lo arreglo se los agradecere mucho. Saludos

Esto es lo que me marca el armpc:


status.asm [21]:
LDR R0, [SP,0x1C+var_1C]
x.inc [85] ldr [5]:
ldr rg,[a,b,c]
error: Expecting square bracket "]".

hola ammm postea mejor el asm completo para checarlo ya que yo no uso armpc para compilar, usa mejor asm patch compiler by edgpaez es mas practico y en cuanto a ese error pues como te dije mejor postea el asm capas te olvidaste de poner entre comillas el x.inc asi include "x.inc" sabe dar ese error cuando no esta comentado el x.inc o cuando esta en otra codificasion puese ser ke el vkp sea code 32 y estas queriendolo hacer compilar como si fuese code26 por eso postea mejor tu asm asi te puedo decir mejor cual es tu error y por sierto no te olvides nombre del vkp y modelo
o tambien puede ser aca el problema

LDR R0, [SP,0x1C+var_1C]

prueva de esta manera

LDR R0, [SP,0x1C+ var_1C]
si te das cuenta puse un espacion entre el + y el var_1C
por que si lo pones todo junto ya no soporta ok espero sea ese el error

NICO37
25/10/2010, 18:35:19
Alguien se puede tomar la molestia de ayudarme....ya que quiero ser patch porter...pero recien estoy aprendiendo....y diganme lo que esta mal de este .asm....pues quiero saber como es el orden del las lineas...alguien que me pueda explicar solo la ubicacionn correcta....gracias de antemano.....aqui esta el asm y perdon por ponerlo desordenado



include "x.inc"

patch: equ 0x456D1DE0 / esto esta bien??
dir: ?????que va aqui???

MOV R7, 0xC0
LSL R1, R1, 0
STR R3, [SP,0x310]
B loc_456D2394

ADD R3, R4, 7
CMP R5, SP
MOV R7, 0xC0
LSL R1, R1, 0
STR R3, [SP,0x310]
B loc_456D2394

ADD R0, 0x70
LDR R4, dword_456D1EB0

POP {R0-R5,PC}

PUSH {R0-R5,LR}
LDR R1, loc_456D1DF0
LDRB R2, [R1]
CMP R2, 1
BEQ loc_456D1DE0
MOV R0, 0
LDR R5, loc_456D1E00
BLX R5
loc_456D1DE0:
POP {R0-R5,PC}

loc_456D1DE2:
PUSH {R0,R4,LR}

PUSH {R0-R2,LR}
LDR R0, loc_456D1E04
adr R1, loc_456D1DD0
ADD R1, 1
LDR R2, off_456D1DF8
BLX R2
POP {R0-R2,PC}

PUSH {R0,R4,LR}
BL loc_456D1DC0
ADD R4, R0, 0
MOV R0, 0
STR R0, [SP]
LDR R0, off_456D1DF4
BX R0

loc_456D1DC0:
PUSH {R0-R2,LR}

LDR R3, off_4559F148
BX R3

loc_4559F14C:


LDR R4, [R1,0x14] ; esto sirve????
STR R6, [R5,0x54]
MOV R5, 0x20
LSR R4, R4, 9
LSL R0, R0, 0
LSL R0, R0, 0
LDR R5, dword_4559F2C8
ADC R5, R1
LDRB R3, [R2,R5]
MOV R5, 0x28
CMP R1, 0x75
STRH R0, [R4,R0]
STRB R5, [R4,5]
STR R5, [R6,0x54]
STRB R3, [R6,0x11]
STRB R3, [R2,0x11]
STRB R7, [R5,1]
MOV R0, 0x3A
LDR R4, [R2,4]
MOV R0, 0x65
LDR R0, [R6,0x14]
STR R0, [R6,0x54]
LDR R0, [R4,0x10]
MOV R0, 0x73
STRB R3, [R4,0x15]
STRB R2, [R6,9]
LDR R5, [R4,0x64]
LDR R4, [R6,0x44]
MOV R0, 0x79
STRB R3, [R6,0x11]
STRB R7, [R5,1]
LDR R0, [R6,0x14]
STR R6, [R5,0x74]
MOV R0, 0x2E
STRB R3, [R2,0x11]
STRB R7, [R5,1]
STRB R0, [R4,8]
STRB R5, [R4,0xD]
LDR R0, [R6,0x74]
STRB R6, [R5,0xD]
MOV R0, 0x65
LDR R7, [R6,0x14]
LDR R4, [R5,0x44]
STR R0, [R4,0x20]
MOV R0, 0x65
STR R3, [R6,0x54]
STRB R6, [R5,0x11]
STRB R0, [R4,0x1C]
STR R0, [R5,0x54]
MOV R0, 0x6E
STRB R3, [R6,0x11]
STRB R7, [R5,1]
STR R0, [R4,0x30]
LDR R7, [R5,0x54]
LDR R0, [R6,0x44]
STRB R5, [R4,0x11]
CMP R6, 0x65
LSL R2, R1, 0
LDR R5, dword_4559F330
ADC R5, R1
LDRB R3, [R2,R5]
LDR R5, off_4559F248
ADC R5, R1
LDRSH R3, [R2,R5]
STR R2, [R2,0x54]
STRB R1, [R6,0x15]
STRB R5, [R4,0xD]
ADD R4, LR
STR R5, [R4,0x34]
STR R7, [R5,0x44]
STRB R5, [R4,9]
STRB R1, [R0,0x15]
LDR R4, [R4,0x14]
ADD R7, SP
STRB R1, [R4,0x11]
SUB R2, 0x61
LDR R6, off_4559F268
MOV R0, 0x6F
STR R6, [R6,0x14]
LDR R4, [R5,0x14]
MOV R0, 0x64
STR R3, [R2,0x54]
STRB R3, [R6,0xD]
LDR R1, [R5,0x74]
MOV R0, 0x6E
LDR R6, [R4,0x74]
MOV R0, 0x72
ADD R1, R9
MOV R0, 0x3A
STR R5, [R4,0x40]
LSL R2, R1, 0
LSL R0, R0, 0
STR R3, [R4,0x14]
STR R4, [R6,0x54]
LDR R7, [R4,0x74]
LDRB R2, [R6,5]
STR R2, [R7,0x10]
STR R5, [R6,0x54]
STR R0, [R4,0x50]
STR R6, [R5,0x34]
STR R7, [R5,0x44]
STRB R5, [R4,9]
MOV R5, 0x3A
LSL R3, R6, 1
STR R3, [R4,0x14]
STR R4, [R6,0x54]
LDR R7, [R4,0x74]
LDRB R2, [R6,5]
STR R2, [R7,0x10]
STR R5, [R6,0x54]
STR R0, [R4,0x50]
STR R6, [R5,0x34]
STR R7, [R5,0x44]
STRB R5, [R4,9]
MOV R5, 0x3A
MOV R0, 0x73
STRB R1, [R4,0x15]
LDR R4, [R4,0x14]
STRB R7, [R5,0xD]
STRB R1, [R7,0xD]
STR R4, [R6,0x54]
SUB R2, 0x6D
LDR R5, [R4,0x40]
LSL R3, R6, 1
STRH R6, [R1,R1]
ADC R5, R1

albertnet3
26/10/2010, 23:54:03
Alguien se puede tomar la molestia de ayudarme....ya que quiero ser patch porter...pero recien estoy aprendiendo....y diganme lo que esta mal de este .asm....pues quiero saber como es el orden del las lineas...alguien que me pueda explicar solo la ubicacionn correcta....gracias de antemano.....aqui esta el asm y perdon por ponerlo desordenado

hola antes de querer ser patch porter te invito a que leas el tuto de mi amigo Cr@ShonSama que iso en este link:

[TUTORIAL]Crear tus propios archivos *.asm-TopSony- (http://www.topsony.com/forum_es/desarrollo-parches-f202/crear-tus-propios-archivos-asm-t127653.html#post759567)

Shixel
13/11/2010, 02:03:15
Saludos! Cr@cShoT. antes que nada un agradecimiento por haber realizado este tutorial.

Creo que el tutorial puede mejorar en algunos aspectos. no se, me da la impresion que esta hecho de forma muy rapida y no se si no pusiste atencion a ciertos detalles en el.

Por ejemplo, yo que empece a leer el tuturial y a seguirlo al pie de la letra, me trabe en algunos pasos, pero ¿por que?, por el pequeño detalle de que no se explican muy bien ciertos pasos y ademas existen algunos errores.

El parche que tomas de ejemplo, no me funciono, me di cuenta que los valores de los offsets no estan bien. Tu tomaste como ejemplo el w705 R1GA031, pero parece que ese no es el parche, ya que el parche que esta en la seccion de aportes de parches tiene diferentes offsets.

Mmmm, tambien no explicas muy bien lo de oprimir la tecla C o D, a ¿que te refires con los entry point?, deberias de poner un ejemplo de donde se debe de oprimir la tecla C y un ejemplo de donde se debe de oprimir la tecla D.(este es el paso donde yo me trabe)

En fin, ojala le pongas atencion a estos detallitos que te menciono, y de nueva cuenta Saludos!

DaRkMaN
13/11/2010, 02:48:06
Mmmm, tambien no explicas muy bien lo de oprimir la tecla C o D, a ¿que te refires con los entry point?, deberias de poner un ejemplo de donde se debe de oprimir la tecla C y un ejemplo de donde se debe de oprimir la tecla D.(este es el paso donde yo me trabe)
En general para anarlizar el codigo se utiliza la Tecla "C", exepto en los Entrypoint (en esos casos se utiliza la Tecla "D"), que son Full offsets invertivos en par, normalmente se encuentran al final del codigo nuevo.
Este es un ejemplo de los Entrypoint:

ROM:15D8C6E8 CD AD 0B 14 off_15D8C6E8 DCD loc_140BADCC+1
ROM:15D8C6E8
ROM:15D8C6EC 89 AE 12 14 off_15D8C6EC DCD loc_1412AE88+1
ROM:15D8C6EC
ROM:15D8C6F0 29 6B 44 14 off_15D8C6F0 DCD loc_14446B28+1
ROM:15D8C6F0 Saludos ..

Cr@cShoT
13/11/2010, 16:37:41
Saludos! Cr@cShoT. antes que nada un agradecimiento por haber realizado este tutorial.

Creo que el tutorial puede mejorar en algunos aspectos. no se, me da la impresion que esta hecho de forma muy rapida y no se si no pusiste atencion a ciertos detalles en el.

Por ejemplo, yo que empece a leer el tuturial y a seguirlo al pie de la letra, me trabe en algunos pasos, pero ¿por que?, por el pequeño detalle de que no se explican muy bien ciertos pasos y ademas existen algunos errores.

El parche que tomas de ejemplo, no me funciono, me di cuenta que los valores de los offsets no estan bien. Tu tomaste como ejemplo el w705 R1GA031, pero parece que ese no es el parche, ya que el parche que esta en la seccion de aportes de parches tiene diferentes offsets.

Mmmm, tambien no explicas muy bien lo de oprimir la tecla C o D, a ¿que te refires con los entry point?, deberias de poner un ejemplo de donde se debe de oprimir la tecla C y un ejemplo de donde se debe de oprimir la tecla D.(este es el paso donde yo me trabe)

En fin, ojala le pongas atencion a estos detallitos que te menciono, y de nueva cuenta Saludos!

El parche no funciona?? pero yo tengo un w705 y use un parche que yo mismo porte y que uso en mi celular sin ningun problema, puede que te hayas confundido ya que hay version "normal" y version "fix" del parche que use, pues la version Fix que puse en el ejemplo tiene direcciones distintas a la version "Normal", ademas... claramente dije que ningun "Patcher" arma un asm igual al otro... yo hice una guia para uqe hicieran un ASM de la forma mas rapida que existe desde mi punto de vista, a lo mejor no explique la parte de los Entrypoint, pero es algo altamente conocido para los que usamos elf, ya que las funciones de libreria son en Entrypoint todas... Felizmente DaRkMaN (http://www.topsony.com/forum_es/miembros/darkman-420827.html) ya te dio un ejemplo :D

bill_kevin
14/11/2010, 15:23:14
Alguien me puede ayudar estara bien analizado este codigo:
Segun lei unos tutoriales y Siempre tiene que mostrar los Suboutine (sub) como hago para que el ida me los mueste??

include "x.inc"


LDR R0, off_4547059C
BX R0

off_4547059C dw loc_454E9B30+1

NOP



loc_454E9B30

LDR R2, loc_454E9B54
MOV R1, 0x11
LDR R0, [R4,0x18]
BL sub_454B0554
LDR R2, loc_454E9B58
MOV R1, 0x11
LDR R0, [R4,0x18]
BL sub_454AE748
LDR R0, [R4,0x18]
ADD R2, R5, 0
MOV R1, 2
BL sub_454B0554
LDR R3, loc_454E9B5C
BX R3

NOP

loc_454E9B54
LDR R3, [SP,0x184]
CMP R6, R9

loc_454E9B58
ASR R6, R6, 0x1D
LSL R0, R0, 0

loc_454E9B5C
LSL R3, R4, 0x16
CMP R7, R8
PUSH {R0-R7,LR}
ADD R4, R0, 0
BL sub_452B8AD0
ADD R7, R0, 0
BEQ loc_454E9BA4
MOV R1, 0
MVN R1, R1
ADD R0, R7, 0
BL sub_452B8B0C
MOV R1, 1
ADD R0, R7, 0
BL sub_452B8B18
LDR R1, loc_454E9BA8
LDR R1, [R4,R1]
ADD R0, R7, 0
BL sub_452B8B80
adr R1, aUsbOtherFmradi
ADD R0, R7, 0
BL sub_452B8B2C
adr R1, aFm_amr
ADD R0, R7, 0
BL sub_452B8B4C
ADD R0, R7, 0
BL sub_452B8B94
ADD R0, R7, 0
BL sub_452B8AFC

loc_454E9BA4
POP {R0-R7,PC}

NOP

loc_454E9BA8
LSL R4, R7, 0xC
LSL R0, R0, 0

aUsbOtherFmradi unicode 0, </usb/other/FMRadio>,0
align 4
aFm_amr unicode 0, <fm.amr>,0

bill_kevin
24/11/2010, 20:47:15
ayuda alguen me podria ayudar por favor me da error al compilar este asm

include "x.inc"

;---hook---
org 0x444F6158
SUB R1, R2, 3
CMP R5, SP

;---Patch Body---
org 0x456D1ED0 ; <---Free Space adrees
newcode:
PUSH {LR}
MOV R0, 0xA
LDR R6, off_456D1EF8
BLX R6
MOV R0, 0x46
LDR R6, off_456D1EFC
BLX R6
LDR R1, loc_456D1EF4
MOV R0, 0xC8
LDR R6, off_456D1F00
BLX R6
POP {PC}

PUSH {LR}
MOV R0, 0
LDR R6, off_456D1EFC
BLX R6
POP {PC}

align 4

loc_456D1EF4
SUB R1, R5, 3
CMP R5, SP

off_456D1EF8 dw 0x45153E14+1
off_456D1EFC dw 0x44C687BC+1

off_456D1F00 dw 0x4529EAC0+1
db 0xFF
db 0
db 0
db 0

el error que me da es con loc_456D1EF4 me dice error: illegal instruction.

anarkes
24/11/2010, 22:27:29
Tu error esta en esta parte amigo


loc_456D1EF4
SUB R1, R5, 3
CMP R5, SP


Necesitas poner : (dos puntos) despues de loc_456D1EF4, deberia quedar asi:


loc_456D1EF4:
SUB R1, R5, 3
CMP R5, SP

bill_kevin
24/11/2010, 23:05:28
muchas gracias por tu respuesta lo hice haci y me lo compilo bien,lo verifique y todo es identico.


include "x.inc"

;---hook---
org 0x444F6158
SUB R1, R2, 3
CMP R5, SP

;---Estructura del Parche---
org 0x456D1ED0 ; <---Offset (espacio libre en el main)
newcode:
PUSH {LR}
MOV R0, 0xA
LDR R6, off_456D1EF8
BLX R6
MOV R0, 0x46
LDR R6, off_456D1EFC
BLX R6
LDR R1, dword_456D1EF4
MOV R0, 0xC8
LDR R6, off_456D1F00
BLX R6
POP {PC}

PUSH {LR}
MOV R0, 0
LDR R6, off_456D1EFC

dw 0xBD0047B0
align 4
dword_456D1EF4 dw 0x456D1EE9
off_456D1EF8 dw 0x45153E14+1
off_456D1EFC dw 0x44C687BC+1
off_456D1F00 dw 0x4529EAC0+1
db 0xFF
db 0
db 0
db 0


Ahora solo mi ultima pregunta como Busco Los offsett vacion en el main de destino?

Cr@cShoT
24/11/2010, 23:41:02
Esta parte aunque no hace variacion a la hora de compilar, deberia quedarte como el primer asm que hiciste



loc_456D1EF4:
SUB R1, R5, 3
CMP R5, SP
Lo analizaste con D por eso te salio asi


dw 0xBD0047B0

bill_kevin
25/11/2010, 00:22:27
Esta parte aunque no hace variacion a la hora de compilar, deberia quedarte como el primer asm que hiciste



loc_456D1EF4:
SUB R1, R5, 3
CMP R5, SP
Lo analizaste con D por eso te salio asi


dw 0xBD0047B0

Si haci es ya probe de la forma en que dijo anakes y no hay variacion.

albertnet3
25/11/2010, 01:11:55
Esta parte aunque no hace variacion a la hora de compilar, deberia quedarte como el primer asm que hiciste



loc_456D1EF4:
SUB R1, R5, 3
CMP R5, SP
Lo analizaste con D por eso te salio asi


dw 0xBD0047B0

Si haci es ya probe de la forma en que dijo anakes y no hay variacion.
hola bro dime que parche es ese para desarmarlo yo y checarlo al parecer esto me llama la atension
dw 0xBD0047B0;????
tal ves sea asi
loc_456D1EF4:
SUB R1, R5, 3
CMP R5, SP
pero por si las dudas dime que parche es y que firm lo as desensamblado asi yo lo checo mejor solo por curiosidad para ver cual de las dos formas analizadas es la correcta y te digo

bill_kevin
25/11/2010, 18:49:21
ok muchas gracias el parche es:

y el asm lo he desensamblado de un Fw W810 SW-R4EA031.

;W810 SW-R4EA031
; Clear the "Use now?" When you receive a file
; IR flashes at the end of the reception file.
; © GVELF aka Kaa
;(p) MNS81
444F6158: 55222545 D11E6D45
456D1ED0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 00B50A20084EB0474620084EB0470549
456D1EE0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF C820074EB04700BD00B50020034EB047
456D1EF0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 00BDFFFFE91E6D45153E1545BD87C644
456D1F00: FFFFFFFFFFFFFFFF C1EA2945FF000000

y lo quiero portear al W300 SW-R4EA031

DaRkMaN
25/11/2010, 20:00:52
En ese parche su primer Hook es un Entrypoint asi que se analiza con la tecla "D" , en tu asm se puede observar que tu lo analizaste con la tecla "C"
Deberia quedar asi:

dw loc_456D1ED0+1 ;<---- Es el enlace al codigo nuevoAhora esta parte se analiza con la tecla "C" ya que no es un Entrypoint:

dw 0xBD0047B0 Entonces deberia quedar asi:

BLX R6
POP {PC}
Saludos ...

bill_kevin
26/11/2010, 01:58:58
dw loc_456D1ED0+1 ;<---- Es el enlace al codigo nuevo

**me dice al compilar
C:\Armpc>make test.asm w300.raw 44140000
No se encuentra C:\Armpc\test.asm.vkp
flat assembler for ARM version 1.67.22 (1045585 kilobytes memory)
test.asm [10]:
dw loc_456D1ED0+1 ;<---- Es el enlace al codigo nuevo
error: undefined symbol.

**y cuando lo hago haci
dw 0x456D1ED0+1 ;<---- Es el enlace al codigo nuevo

me lo compila el parche haci

441421a6: 5522228006806B469E882E802F80011C D11E6D45D11E6D45FFFF00B50A20084E
441421b6: 00F01DFB211C201C00F019FB291C281C B0474620084EB0470549C820074EB047
441421c6: 00F015FB03B0F0BDC046900400426004 00BD00B50020034EB04700BDFFFFE41E
441421d6: 0042A029004C00C0FFFF550502000280 7D45103E2545B887D644BCEA3945FF00
441421e6: 0000 0000


** y cuando lo hago haci
org 0x457D1ECB+1 ;<---- Es el enlace al codigo nuevo

me lo compila haci
441421a6: 55222280 D11E6D45
457d1ecc: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 00B50A20084EB0474620084EB0470549
457d1edc: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF C820074EB04700BD00B50020034EB047
457d1eec: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 00BDFFFFE41E7D45103E2545B887D644
457d1efc: FFFFFFFFFFFFFFFF BCEA3945FF000000

La diferencia es:
456D1F00: FFFFFFFFFFFFFFFF C1EA2945FF000000-----Original

457d1efc: FFFFFFFFFFFFFFFF BCEA3945FF000000-----Port

Estara Bien haci o estare fallando en algo
-----------------------------------------------------------
;Mi asm
include "x.inc"

;---hook---
org 0x441421A6
SUB R1, R2, 3
CMP R5, SP


;---Estructura del Parche---
org 0x457D1ECB+1 ;<---- Es el enlace al codigo nuevo
newcode:
align 4
PUSH {LR}
MOV R0, 0xA
LDR R6, off_456D1EF8
BLX R6
MOV R0, 0x46
LDR R6, off_456D1EFC
BLX R6
LDR R1, off_456D1EF4
MOV R0, 0xC8
LDR R6, off_456D1F00
BLX R6
POP {PC}


loc_456D1EE8:
PUSH {LR}
MOV R0, 0
LDR R6, off_456D1EFC
BLX R6
POP {PC}
align 4

off_456D1EF4 dw 0x457D1EE3+1
off_456D1EF8 dw 0x45253E0F+1
off_456D1EFC dw 0x44D687B7+1
off_456D1F00 dw 0x4539EABB+1
db 0xFF
db 0
db 0
db 0

DaRkMaN
26/11/2010, 03:55:14
**me dice al compilar
C:\Armpc>make test.asm w300.raw 44140000
No se encuentra C:\Armpc\test.asm.vkp
flat assembler for ARM version 1.67.22 (1045585 kilobytes memory)
test.asm [10]:
dw loc_456D1ED0+1 ;<---- Es el enlace al codigo nuevo
error: undefined symbol.
Es porque en tu asm no lo tines identificado de esa manera tu pusiste "newcode:" pero tambien pudiste poner "loc_456D1ED0:" y de esa manera no te marcaria ese error



**y cuando lo hago haci
dw 0x456D1ED0+1 ;<---- Es el enlace al codigo nuevo

me lo compila el parche haci

441421a6: 5522228006806B469E882E802F80011C D11E6D45D11E6D45FFFF00B50A20084E
441421b6: 00F01DFB211C201C00F019FB291C281C B0474620084EB0470549C820074EB047
441421c6: 00F015FB03B0F0BDC046900400426004 00BD00B50020034EB04700BDFFFFE41E
441421d6: 0042A029004C00C0FFFF550502000280 7D45103E2545B887D644BCEA3945FF00
441421e6: 0000 0000
Eso sucedio porque sustituiste el "org 0x456D1ED0" por "dw 0x456D1ED0+1" y no debias hacer eso, ya que ese org indica en que offset va ir el newcode.


** y cuando lo hago haci
org 0x457D1ECB+1 ;<---- Es el enlace al codigo nuevo

me lo compila haci
441421a6: 55222280 D11E6D45
457d1ecc: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 00B50A20084EB0474620084EB0470549
457d1edc: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF C820074EB04700BD00B50020034EB047
457d1eec: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 00BDFFFFE41E7D45103E2545B887D644
457d1efc: FFFFFFFFFFFFFFFF BCEA3945FF000000

La diferencia es:
456D1F00: FFFFFFFFFFFFFFFF C1EA2945FF000000-----Original

457d1efc: FFFFFFFFFFFFFFFF BCEA3945FF000000-----Port
Esa diferencia es porque cambiaste los offsets originales, como son Entrypoint esos offset estan invertidos. si lo pones normal estarian de esta manera:
4529EAC1 ;---Ese offset esta en tu primer asm
4539EABC ;---No se porque sustituiste el offset anterior por este

Ahora, tu me entendiste mal cuando yo dije que el Hook se analiza con "D" quise decir esta parte:

;---hook---
org 0x441421A6
SUB R1, R2, 3
CMP R5, SPLa forma correcta seria asi:

;---hook---
org 0x441421A6
dw loc_456D1ED0+1Aunque como tu sustituiste el "loc_456D1ECB:" por "newcode:" en tu asm, te marcaria un error al compilar, entonces para arreglarlo ponlo de esta manera:

;---hook---
org 0x441421A6
dw newcode+1Veo que en tu asm cambiaste varios offsets incluyendo el hook, talvez los portaste (eso pienso).
Te dejo la manera como deberia estar tu asm ANTES de empesar a portar los offsets

include "x.inc"

;---hook---
org 0x444F6158
dw newcode+1

;---Estructura del Parche---
org 0x456D1ED0 ; <---Offset (espacio libre en el main)
newcode:
PUSH {LR}
MOV R0, 0xA
LDR R6, off_456D1EF8
BLX R6
MOV R0, 0x46
LDR R6, off_456D1EFC
BLX R6
LDR R1, dword_456D1EF4
MOV R0, 0xC8
LDR R6, off_456D1F00
BLX R6
POP {PC}

PUSH {LR}
MOV R0, 0
LDR R6, off_456D1EFC
BLX R6
POP {PC}

align 4
dword_456D1EF4 dw 0x456D1EE9
off_456D1EF8 dw 0x45153E14+1
off_456D1EFC dw 0x44C687BC+1
off_456D1F00 dw 0x4529EAC0+1
db 0xFF
db 0
db 0
db 0Ahora solo te faltaria portar los offsets ;)

Saludos ..

bill_kevin
26/11/2010, 16:25:16
Muchas Gracias DaRkMaN problema resuleto:
Mi ultima duda Creo que con esta ya podre crear facil mente los asm.

Cree el asm de este parche:
;W810 SW-R4EA031
;Change Sony Ericsson ROCKS! message to Sony Ericsson ROCKS!!! Nokia SUCKS!!!
;Usage: (ServiceMenu -> Model Info -> Press 2,4,6,8)
;Ability to set icon
;(c) jasiek
;(r) D-Man
;(e) jamesbond22
;(p) MNS81
450A7A1C: 1522 FF22
450A7A3C: 96379444 94896D45
450A7A28: 011CA069EEF08EFD 0049084781896D45
456D8980: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 011CA06962F6F8FF0D49A0695BF63CFB
456D8990: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 0A480047536F6E79204572696373736F
456D89A0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 6E0A524F434B532121210A0A4E6F6B69
456D89B0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 610A5355434B5321212100FF317A0A45
456D89C0: FFFFFFFF A3E90000


-------------------
include "x.inc"

;---hook---
org 0x450A7A1C
MOV R2, 0xFF

off_450A7A3C: dw aSonyEricssonRo

org 0x450A7A28
dw 0x47084900
dw loc_456D8980+1

;---Estructura del Pache---
loc_456D8980: ; Main Vacio

ADD R1, R0, 0
LDR R0, [R4,0x18]
BL sub_4553B978
LDR R1, dword_456D89C0
LDR R0, [R4,0x18]
BL sub_45534008
LDR R0, off_456D89BC
BX R0

aSonyEricssonRo db "Sony Ericsson",0xA
db "ROCKS!!!",0xA
db 0xA
db "Nokia",0xA
db "SUCKS!!!",0
db 0xFF
off_456D89BC dw loc_450A7A30+1
dword_456D89C0 dw 0xE9A3


pero al momento de compilarlo me sale el siguiente error:

test.asm [22]:
BL sub_4553B978
error: undefined symbol.

Como Lo puedo arreglar y gracias por toda la ayuda seguro que con esto ya tengo claro como crear los asm.

05M4N
26/11/2010, 17:17:22
En el asm hay saltos a otras direcciones que aun no has definido por eso no te complila, tenes que definirlas y portarlas para que funcione bien el parche. Aqui te muestro cuales son:


include "x.inc"

;---hook---
org 0x450A7A1C
MOV R2, 0xFF

off_450A7A3C: dw aSonyEricssonRo

org 0x450A7A28
dw 0x47084900
dw loc_456D8980+1

;---Estructura del Pache---
loc_456D8980: ; Main Vacio

ADD R1, R0, 0
LDR R0, [R4,0x18]
BL 0x4553B978 ;--> salto
LDR R1, dword_456D89C0
LDR R0, [R4,0x18]
BL 0x45534008 ;--> salto
LDR R0, off_456D89BC
BX R0

aSonyEricssonRo db "Sony Ericsson",0xA
db "ROCKS!!!",0xA
db 0xA
db "Nokia",0xA
db "SUCKS!!!",0
db 0xFF
off_456D89BC dw loc_450A7A30+1
dword_456D89C0 dw 0xE9A3

bill_kevin
26/11/2010, 23:59:34
Cuando lo compilo me sale este error:




test.asm [18]:
BL 0x4553B978 ;--> salto
error: relative jump out of range.

DaRkMaN
27/11/2010, 00:37:21
Cuando lo compilo me sale este error:




test.asm [18]:
BL 0x4553B978 ;--> salto
error: relative jump out of range.
Es porque no has definido el "org" del codigo nuevo.
deberia estar asi:

;---Estructura del Pache---
org 0x456D8980
loc_456D8980: ; Main VacioAunque todavia tienes mal tu asm...
En esta parte aun te falta definir el "org" y no debias poner los dos puntos despues de "off_450A7A3C":

off_450A7A3C: dw aSonyEricssonRo Entonces deberia quedar de esta manera:

org 0x450A7A3C
off_450A7A3C dw aSonyEricssonRo Tambien esta parte esta mal analizada ya que los dos no son Entrypoints:

org 0x450A7A28
dw 0x47084900
dw loc_456D8980+1Esta es la forma correcta:

org 0x450A7A28
LDR R1, off_450A7A2C
BX R1
off_450A7A2C DCD loc_456D8980+1 Ahora solo te faltaria cambiar el "loc_450A7A30+1 " de la parte de abajo del asm por "0x450A7A30+1" ya que ese offset se debe portar...

Saludos ..

bill_kevin
27/11/2010, 13:58:22
DaRkMaN
Supongo que esta parte es la que contiene el icono verdad

dword_456D89C0 dw "0xE9A3"

La puedo Cambiar a mi manera.

aqui esta mi asm ya porteado pero me sale error al compilarlo:

test.asm [22]:
LDR R1, dword_456D89C0
x.inc [109] ldr [24]:
ldr rg , [pc,(p1-($ and 0xFFFFFFFC)-4)]
error: Immediate offset not alligned.




include "x.inc"

;---hook---
org 0x45032304
MOV R2, 0xFF

org 0x45032324
off_450A7A3C dw aSonyEricssonRo

org 0x45032310
LDR R1, off_450A7A2C
BX R1
off_450A7A2C DCD loc_456D8980+1

;---Estructura del Pache---
org 0x456D8980
loc_456D8980: ; Main Vacio

ADD R1, R0, 0
LDR R0, [R4,0x18]
BL 0x45548B18 ;--> salto
LDR R1, dword_456D89C0
LDR R0, [R4,0x18]
BL 0x45204804 ;--> salto
LDR R0, off_456D89BC
BX R0

aSonyEricssonRo db "Sony Ericsson",0xA
db "ROCKS!!!",0xA
db 0xA
db "Nokia",0xA
db "SUCKS!!!",0
db 0xFF
off_456D89BC dw 0x44BF7460+1
dword_456D89C0 dw 0xE996

Cr@cShoT
27/11/2010, 17:52:43
DaRkMaN
Supongo que esta parte es la que contiene el icono verdad

dword_456D89C0 dw "0xE9A3"

La puedo Cambiar a mi manera.

aqui esta mi asm ya porteado pero me sale error al compilarlo:

test.asm [22]:
LDR R1, dword_456D89C0
x.inc [109] ldr [24]:
ldr rg , [pc,(p1-($ and 0xFFFFFFFC)-4)]
error: Immediate offset not alligned.




include "x.inc"

;---hook---
org 0x45032304
MOV R2, 0xFF

org 0x45032324
off_450A7A3C dw aSonyEricssonRo

org 0x45032310
LDR R1, off_450A7A2C
BX R1
off_450A7A2C DCD loc_456D8980+1

;---Estructura del Pache---
org 0x456D8980
loc_456D8980: ; Main Vacio

ADD R1, R0, 0
LDR R0, [R4,0x18]
BL 0x45548B18 ;--> salto
LDR R1, dword_456D89C0
LDR R0, [R4,0x18]
BL 0x45204804 ;--> salto
LDR R0, off_456D89BC
BX R0

aSonyEricssonRo db "Sony Ericsson",0xA
db "ROCKS!!!",0xA
db 0xA
db "Nokia",0xA
db "SUCKS!!!",0
db 0xFF
off_456D89BC dw 0x44BF7460+1
dword_456D89C0 dw 0xE996

Si, es el icono, puedes usar cualquiera en Hexa, el error de compilacion es porque te pide un "align 4"

bill_kevin
27/11/2010, 18:17:24
lo hice haci y me salio

ADD R1, R0, 0
LDR R0, [R4,0x18]
BL 0x45548B18+1 ;--> salto
LDR R1, dword_456D89C0
LDR R0, [R4,0x18]
BL 0x45204804+1 ;--> salto
LDR R0, off_456D89BC
BX R0


test.asm [22]:
BL 0x45548B18+1 ;--> salto
error: Relative jump destination not aligned.



Aunque ponga aling me sale el mismo error.

Josthyn
27/11/2010, 18:24:29
lo hice haci y me salio

ADD R1, R0, 0
LDR R0, [R4,0x18]
BL 0x45548B18+1 ;--> salto
LDR R1, dword_456D89C0
LDR R0, [R4,0x18]
BL 0x45204804+1 ;--> salto
LDR R0, off_456D89BC
BX R0


test.asm [22]:
BL 0x45548B18+1 ;--> salto
error: Relative jump destination not aligned.



Aunque ponga aling me sale el mismo error.


Fijate este offset a donde te lleva:

BL 0x45548B18+1

y ponle el align4 a donde te lleve.

bill_kevin
27/11/2010, 18:33:31
Ya me trabe ps en mi Ida me aparece esto


el original me muestra esto:


ROM:4553B978
ROM:4553B978 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
ROM:4553B978
ROM:4553B978
ROM:4553B978 sub_4553B978 ; CODE XREF: ROM:456D8984p
ROM:4553B978
ROM:4553B978 var_1C = -0x1C
ROM:4553B978
ROM:4553B978 ; FUNCTION CHUNK AT ROM:4519654C SIZE 00000084 BYTES
ROM:4553B978
ROM:4553B978 00 4B LDR R3, off_4553B97C
ROM:4553B97A 18 47 BX R3
ROM:4553B97A ; End of function sub_4553B978
ROM:4553B97A
ROM:4553B97A ; ---------------------------------------------------------------------------
ROM:4553B97C 4D 65 19 45 off_4553B97C DCD loc_4519654C+1 ; DATA XREF: sub_4553B978r


Esta es la referencia que me lleva


OM:4553B978
ROM:4553B978 sub_4553B978 ; CODE XREF: ROM:456D8984p
ROM:4553B978


hasta aqui:

OM:456D8984 62 F6 F8 FF BL sub_4553B978
ROM:456D8988 0D 49 LDR R1, dword_456D89C0
ROM:456D898A A0 69 LDR R0, [R4,#0x18]
ROM:456D898C 5B F6 3C FB BL sub_45534008
ROM:456D8990 0A 48 LDR R0, off_456D89BC
ROM:456D8992 00 47 BX R0
ROM:456D8992 ; ---------------------------------------------------------------------------
ROM:456D8994 53 6F 6E 79+aSonyEricssonRo DCB "Sony Ericsson",0xA
ROM:456D8994 20 45 72 69+ DCB "ROCKS!!!",0xA
ROM:456D8994 63 73 73 6F+ DCB 0xA
ROM:456D8994 6E 0A 52 4F+ DCB "Nokia",0xA
ROM:456D8994 43 4B 53 21+ DCB "SUCKS!!!",0
ROM:456D89BB FF DCB 0xFF
ROM:456D89BC 31 7A 0A 45 off_456D89BC DCD loc_450A7A30+1 ; DATA XREF: ROM:456D8990r
ROM:456D89C0 A3 E9 00 00 dword_456D89C0 DCD 0xE9A3 ; DATA XREF: ROM:456D8988r


el port solo me muestra esto,hay alguna manera de hacerle la referencia:





ROM:45548B18 ; ---------------------------------------------------------------------------
ROM:45548B18 00 4B LDR R3, off_45548B1C
ROM:45548B1A 18 47 BX R3
ROM:45548B1A ; ---------------------------------------------------------------------------
ROM:45548B1C DD 65 54 45 off_45548B1C DCD loc_455465DC+1 ; DATA XREF: ROM:45548B18r

Cr@cShoT
27/11/2010, 18:53:56
El error te marca en esta linea:


LDR R1, dword_456D89C0

Pero ese dword esta definido... es alli donde va el align 4, ponlo aqui:



align 4
off_456D89BC dw 0x44BF7460+1
dword_456D89C0 dw 0xE996

bill_kevin
27/11/2010, 19:07:45
El error te marca en esta linea:


LDR R1, dword_456D89C0

Pero ese dword esta definido... es alli donde va el align 4, ponlo aqui:



align 4
off_456D89BC dw 0x44BF7460+1
dword_456D89C0 dw 0xE996

me da el mismo error.

laurafarsa
27/11/2010, 19:58:09
aqui esta como debe quedar tu asm.
te recomiendo que primero analices los hooks para que se analize automaticamente la mayoria de tu codigo nuevo y asi ya no tengas tantos problemas.


include "x.inc"

;======================Hooks====================== ============
org 0x450A7A1C ; direccion a portar
MOV R2, 0xFF

org 0x450A7A3C; direccion a portar
DCD aSonyEricssonRo

org 0x450A7A28 ; direccion a portar
LDR R1, off_450A7A2C
BX R1
off_450A7A2C DCD loc_456D8980+1








;===================Codigo Nuevo=====================================
org 0x456D8980
loc_456D8980:

ADD R1, R0, 0
LDR R0, [R4,0x18]
BL 0x4553B978; direccion a portar
LDR R1, dword_456D89C0
LDR R0, [R4,0x18]
BL 0x45534008; direccion a portar
LDR R0, off_456D89BC
BX R0

aSonyEricssonRo DCB "Sony Ericsson",0xA
DCB "ROCKS!!!",0xA
DCB 0xA
DCB "Nokia",0xA
DCB "SUCKS!!!",0
DCB 0xFF
off_456D89BC DCD 0x450A7A30+1; direccion a portar
dword_456D89C0 DCD 0xE9A3 ; Icono
edito:
ya vi cual es tu problema.
esto deberia solucionar tu problema de fuera de rango.
si te das cuenta solo copie lo que habia en esta direccion
0x4553B978
y en esta
0x45534008

y lo puse al final del parche para evitar lo de fuera de rango. Agregue align 4 por si las dudas :D
todo deberia funcionar bien y ya puedes redireccionar a tu gusto sin problema de fuera de rango

include "x"

;======================Hooks====================== ============
org 0x450A7A1C ; direccion a portar
MOV R2, 0xFF

org 0x450A7A3C; direccion a portar
DCD aSonyEricssonRo

org 0x450A7A28 ; direccion a portar
LDR R1, off_450A7A2C
BX R1
off_450A7A2C DCD loc_456D8980+1








;===================Codigo Nuevo=====================================
org 0x456D8980
loc_456D8980:

ADD R1, R0, 0
LDR R0, [R4,0x18]
BL sub_4553B978
LDR R1, dword_456D89C0
LDR R0, [R4,0x18]
BL sub_45534008
LDR R0, off_456D89BC
BX R0

aSonyEricssonRo DCB "Sony Ericsson",0xA
DCB "ROCKS!!!",0xA
DCB 0xA
DCB "Nokia",0xA
DCB "SUCKS!!!",0
DCB 0xFF
off_456D89BC DCD 0x450A7A30+1; direccion a portar
dword_456D89C0 DCD 0xE9A3 ; Icono

align 4
sub_4553B978:
LDR R3, off_4553B97C
BX R3
off_4553B97C DCD 0x4519654C+1; direccion a portar
align 4
sub_45534008:
LDR R3, off_4553400C
BX R3
off_4553400C DCD 0x451965DC+1 ; direccion a portar

bill_kevin
27/11/2010, 20:21:49
Gracias si me decia fuera de rango ahorita pruebo y te comento.

me sigue saliendo fuera de rango.

Edit:

me rompe la cabeza:

BL 0x45204804; direccion a portar
error:relative out of range.


include "x.inc"

;======================Hooks====================== ============
org 0x45032304 ; direccion a portar
MOV R2, 0xFF

org 0x45032324; direccion a portar
DCD aSonyEricssonRo

org 0x45032310 ; direccion a portar
LDR R1, off_450A7A2C
BX R1
off_450A7A2C DCD loc_456D8980+1



;===================Codigo Nuevo=====================================
org 0x456D8980
loc_456D8980:

ADD R1, R0, 0
LDR R0, [R4,0x18]
BL 0x45548B18; direccion a portar
LDR R1, dword_456D89C0
align 4
LDR R0, [R4,0x18]
BL 0x45204804; direccion a portar
LDR R0, off_456D89BC
BX R0

aSonyEricssonRo DCB "Sony Ericsson",0xA
DCB "ROCKS!!!",0xA
DCB 0xA
DCB "Nokia",0xA
DCB "SUCKS!!!",0
DCB 0xFF
off_456D89BC DCD 0x44BF7460+1 ; direccion a portar
dword_456D89C0 DCD 0xE996 ; Icono

align 4
sub_45548B18:
LDR R3, off_45548B1C
BX R3
off_45548B1C DCD 0x455465DC+1; direccion a portar
align 4
sub_45204804:
LDR R3, off_45204808
BX R3
off_45204808 DCD 0x452045DC+1 ; direccion a portar

Cr@cShoT
27/11/2010, 20:44:17
Cambialos, no lo pongas como offset, ya que abajo estan definidos, esta linea

BL 0x45204804

cambiala por

BL sub_45204804

y en la otra tambien e intenta asi

albertnet3
27/11/2010, 22:34:16
hola mira esto esta mal aqui

ADD R1, R0, 0
LDR R0, [R4,0x18]
BL 0x45548B18; direccion a portar
LDR R1, dword_456D89C0
align 4
LDR R0, [R4,0x18]
BL 0x45204804; direccion a portar
LDR R0, off_456D89BC
BX R0
ese align 4 no debe ir ahi esta mal mira aqui analize yo el asm y me compila tal cual esta como yo lo arme te lo dejo y te dejo el parche que yo compile para que veas que es igual al que porto MNS81
este es el asm:

include "x.inc"
;W810 SW-R4EA031
;Change Sony Ericsson ROCKS! message to Sony Ericsson ROCKS!!! Nokia SUCKS!!!
;Usage: (ServiceMenu -> Model Info -> Press 2,4,6,8)
;Ability to set icon
;(c) jasiek
;(r) D-Man
;(e) jamesbond22
;(p) MNS81
;(A) albertnet3

org 0x450A7A1C;este es el primer hook y se debe portar a tu modelo y firm
MOV R2, 0xFF;este es el lenght para que entre mas texto al mensaje

org 0x450A7A3C;este es el segundo hook y se debe portar a tu modelo y firm
off_450A7A3C dw aSonyEricssonRo;esto es el link al texto del nuevo codigo del parche

org 0x450A7A28;este es el tercer hook y se debe portar a tu modelo y firm
LDR R1, off_450A7A2C
BX R1

off_450A7A2C dw loc_456D8980+1 ;este es el link al nuevo codigo del parche

org 0x456D8980;este es el espacio libre en donde se escribira el parche en tu main tambien se debe cambiar si es que este ya esta ocupado
;Nuevo codigo
loc_456D8980:
ADD R1, R0, 0
LDR R0, [R4,0x18];esto es el gui de deja como esta
BL 0x4553B978;este tambien se porta es la funsion para que sepueda agergar mas texto al mensaje
LDR R1, dword_456D89C0;este no se porta es parte del nuevo codigo es el link al icono
LDR R0, [R4,0x18];esto es el gui de deja como esta
BL 0x45534008; este tambien se porta es la funsion para poder poner el icono
LDR R0, off_456D89BC;este no se porta este es el link al retorno del parche
BX R0

aSonyEricssonRo db "Sony Ericsson",0xA ;aqui comienza el texto
db "ROCKS!!!",0xA
db 0xA
db "Nokia",0xA
db "SUCKS!!!",0
db 0xFF
off_456D89BC dw 0x450A7A30+1 ;este tambien se porta es el retorno del parche
dword_456D89C0 dw 0xE9A3;este es el icono
y este es el parche que compile :
450a7a1c: 1522 FF22
450a7a3c: 96379444 94896D45
450a7a28: 011CA069EEF08EFD 0049084781896D45
456d8980: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 011CA06962F6F8FF0D49A0695BF63CFB
456d8990: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 0A480047536F6E79204572696373736F
456d89a0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 6E0A524F434B532121210A0A4E6F6B69
456d89b0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 610A5355434B5321212100FF317A0A45
456d89c0: FFFFFFFF A3E90000

bill_kevin
05/12/2010, 17:19:50
Gracias , ya esta porteado, una pregunta en esto me confundo mucho.

Estos son Entrypoint

450A71F4: 30B50C1C01F062FB 004B184701926C45
450A8718: 0C1C002700F0D0F8 004B184765926C45
450A723A: A0692A1C0B49F4F0F0FA 014A1047FFFF23926C45

Los analizo con C o con D.

anarkes
05/12/2010, 19:00:51
Que tal, aqui lo correcto seria analizar con C y con D ya que

450A71F4: 004B184701926C45

004B = Creo que deberia ser un LDR Rx
1847 = BX Rx

01926C45 = DCD 0x456C9200+1

Al igual que en los otros 2 hooks

Pero comúnmente cuando analizas con C desde 004B la parte que deberia analizarse con D, se analiza sola.

Espero no confundirte bro.
Saludos.

bill_kevin
05/12/2010, 23:10:16
Si si entendi bueno eso creo Primero lo analizo con C y despues Analizo ese codigo con D,este es el parche que quiero Portear.


;W810 SW-R4EA031
;Add the ability to show IMEI or Show the message "Private IMEI" when you press *#06# and in
;Service -> Service Info -> Configuration.
;(!) To show IMEI or Show Message, you need press right softkey in the GUI of IMEI (*#06#)
;v. Beta Test
;(c) anarkes
;(p) MaxxxS
450A71F4: 30B50C1C01F062FB 004B184701926C45
450A8718: 0C1C002700F0D0F8 004B184765926C45
450A723A: A0692A1C0B49F4F0F0FA 014A1047FFFF23926C45
456C9200: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 30B50C1C002000F03EF8002806D05BA0
456C9210: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 06210C2200F08FF8414B184700F098F8
456C9220: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FAE7A0692A1C0D4900F094F80A49A069
456C9230: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 0B4A00F08FF8354AA069074900F08CF8
456C9240: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 002000F020F8002801D0024A10470120
456C9250: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FBE7FFFF45720A45B90F0000AF0F0000
456C9260: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF CF926C450C1C0027002000F00CF80028
456C9270: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 06D042A006250C2200F05DF8294B1847
456C9280: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 00F066F8FAE730B5244C27A501280BD0
456C9290: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 022816D0201C291C002200F057F801D4
456C92A0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 012030BD002030BD002001B4201C291C
456C92B0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 0422FF23813300F040F800F043F801B0
456C92C0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 30BD201C291C002200F03EF830BD1FB5
456C92D0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 00200F4A03B40020FFF7D5FF071C012F
456C92E0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 10D02DA006210C2200F025F8011C0948
456C92F0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 0123094CA047002F06D00220FFF7C3FF
456C9300: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 02B01FBD28A0EDE70120F7E740010000
456C9310: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 37E80000FFFFFF6F953C53454C184A44
456C9320: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FD710A4521870A456E006F0049004D00
456C9330: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 450049000000094B184708B4084B9C46
456C9340: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 08BC6047074B1847074B1847074B1847
456C9350: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 074B1847074B1847074B18479DE62F45
456C9360: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 69425B45A1545B45F54B5B45DD4A5B45
456C9370: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF C1880A4525B819450DB9194550726976
456C9380: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 61746520494D454950726F746563743A
456C9390: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 204F6E0000FFFFFF50726F746563743A
456C93A0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 204F6E0000FFFFFF50726F746563743A
456C93B0: FFFFFFFFFFFF 204F66660000
Aqui esta el asm pero a la hora de Compilar me da este error:

No se encuentra C:\Armpc\test.asm.vkp
flat assembler for ARM version 1.67.22 (1260409 kilobytes memory)
test.asm [164]:
adr R0, loc_456C9398
x.inc [80] adr [4]:
add reg,pc,(offs-($ and 0xFFFFFFFC)-4)
error: Constant not aligned.


Aqui esta el asm:

include "x.inc"
;hook's

org 0x450A71F4; hook 1
LDR R3, off_450A71F8
BX R3

off_450A71F8 dw loc_456C9200+1

org 0x450A8718; hook2

LDR R3, off_450A871C
BX R3

off_450A871C dw loc_456C9264+1


org 0x450A723A; hook 3

LDR R2, off_450A7240
BX R2
align 4
off_450A7240 dw loc_456C9222+1


;Estructura del Parche
org 0x456C9200; Nuevo Codigo

loc_456C9200:

PUSH {R4,R5,LR}
ADD R4, R1, 0
MOV R0, 0
BL sub_456C9286
CMP R0, 0
BEQ loc_456C921C
adr R0, loc_456C937C
MOV R1, 6
MOV R2, 0xC
BL sub_456C9336

loc_456C9218:
LDR R3, off_456C9320
BX R3


loc_456C921C:
BL sub_456C9350
B loc_456C9218


loc_456C9222:

LDR R0, [R4,0x18]
ADD R2, R5, 0
LDR R1, dword_456C925C
BL sub_456C9354
LDR R1, dword_456C9258
LDR R0, [R4,0x18]
LDR R2, off_456C9260
BL sub_456C9354
LDR R2, dword_456C930C
LDR R0, [R4,0x18]
LDR R1, dword_456C9258
BL sub_456C9358
MOV R0, 0
BL sub_456C9286
CMP R0, 0
BEQ loc_456C924E

loc_456C924A:
LDR R2, off_456C9254
BX R2


loc_456C924E:
MOV R0, 1
B loc_456C924A
align 4

off_456C9254 dw 0x450A7244+1
dword_456C9258 dw 0xFB9

dword_456C925C dw 0xFAF
off_456C9260 dw 0x456C92CE+1


loc_456C9264:

ADD R4, R1, 0
MOV R7, 0
MOV R0, 0
BL sub_456C9286
CMP R0, 0
BEQ loc_456C9280
adr R0, loc_456C937C
MOV R5, 6
MOV R2, 0xC
BL sub_456C9336

loc_456C927C:
LDR R3, off_456C9324
BX R3

loc_456C9280:
BL sub_456C9350
B loc_456C927C

sub_456C9286:

PUSH {R4,R5,LR}
LDR R4, loc_456C931C
adr R5, loc_456C9328
CMP R0, 1
BEQ loc_456C92A8
CMP R0, 2
BEQ loc_456C92C2
ADD R0, R4, 0
ADD R1, R5, 0
MOV R2, 0
BL sub_456C934C
BMI loc_456C92A4
MOV R0, 1
POP {R4,R5,PC}


loc_456C92A4:
MOV R0, 0
POP {R4,R5,PC}


loc_456C92A8:
MOV R0, 0
PUSH {R0}
ADD R0, R4, 0
ADD R1, R5, 0
MOV R2, 4
MOV R3, 0xFF
ADD R3, 0x81
BL sub_456C933A
BL sub_456C9344
ADD SP, SP, 4
POP {R4,R5,PC}


loc_456C92C2:
ADD R0, R4, 0
ADD R1, R5, 0
MOV R2, 0
BL sub_456C9348
POP {R4,R5,PC}


loc_456C92CE:
PUSH {R0-R4,LR}
MOV R0, 0
LDR R2, dword_456C9310
PUSH {R0,R1}
MOV R0, 0
BL sub_456C9286
ADD R7, R0, 0
CMP R7, 1
BEQ loc_456C9304
adr R0, loc_456C9398

loc_456C92E4:
MOV R1, 6
MOV R2, 0xC
BL sub_456C9336
ADD R1, R0, 0
LDR R0, dword_456C9314
MOV R3, 1
LDR R4, off_456C9318
BLX R4
CMP R7, 0
BEQ loc_456C9308
MOV R0, 2

loc_456C92FC:
BL sub_456C9286
ADD SP, SP, 8
POP {R0-R4,PC}


loc_456C9304:
adr R0, loc_456C93A8
B loc_456C92E4

loc_456C9308:
MOV R0, 1
B loc_456C92FC

dword_456C930C dw 0x140
dword_456C9310 dw 0xE837
dword_456C9314 dw 0x6FFFFFFF
off_456C9318 dw loc_45533C94+1


loc_456C931C:
ADD R4, R1, R1
ADD R2, R9

off_456C9320 dw loc_450A71FC+1
off_456C9324 dw loc_450A8720+1


loc_456C9328:
LSL R6, R5, 1
LSL R7, R5, 1
LSL R1, R1, 1
LSL R5, R1, 1
LSL R5, R0, 1
LSL R1, R1, 1
LSL R0, R0, 0


sub_456C9336:

LDR R3, off_456C935C
BX R3

sub_456C933A:

var_24 = -0x24
var_20 = -0x20
var_1C = -0x1C
var_18 = -0x18
arg_0 = 0

PUSH {R3}
LDR R3, off_456C9360
MOV R12, R3
POP {R3}
BX R12

sub_456C9344:
LDR R3, off_456C9364
BX R3

sub_456C9348:
LDR R3, off_456C9368
BX R3


sub_456C934C:
LDR R3, off_456C936C
BX R3


sub_456C9350:
var_60 = -0x60
var_5C = -0x5C
var_58 = -0x58
var_48 = -0x48
var_30 = -0x30



LDR R3, off_456C9370
BX R3

sub_456C9354:

LDR R3, off_456C9374
BX R3

sub_456C9358:
LDR R3, off_456C9378
BX R3



off_456C935C dw 0x452FE69C+1
off_456C9360 dw 0x455B4268+1
off_456C9364 dw 0x455B54A0+1
off_456C9368 dw 0x455B4BF4+1
off_456C936C dw 0x455B4ADC+1
off_456C9370 dw 0x450A88C0+1
off_456C9374 dw 0x4519B824+1
off_456C9378 dw 0x4519B90C+1

loc_456C937C:

STRB R0, [R2,9]
STRB R1, [R5,0x19]
STRB R1, [R4,0x11]
MOV R0, 0x65
LDR R5, dword_456C94AC
LDR R1, dword_456C949C
STRB R0, [R2,9]
STRB R7, [R5,0x11]
STR R5, [R4,0x34]
SUB R2, 0x74
LDR R7, dword_456C9414
LSL R6, R5, 1
db 0
align 4
db 0xFF
loc_456C9398:
STRB R0, [R2,9]
STRB R7, [R5,0x11]
STR R5, [R4,0x34]
SUB R2, 0x74
LDR R7, dword_456C9424
LSL R6, R5, 1
db 0
align 4
db 0xFF
loc_456C93A8:
STRB R0, [R2,9]
STRB R7, [R5,0x11]
STR R5, [R4,0x34]
SUB R2, 0x74
LDR R7, dword_456C9434
STR R6, [R4,0x64]
LSL R0, R0, 0Eso es lo mas que llego a hacer en el asm, me podrian decir cual es el error y Cuales son las Rutas que tengo que portar, Espero que lo demas este Bien Gracias de antemano.

walter rex
06/12/2010, 04:03:40
ayuda con star adrres de c905 r1fa035 y c510 esque llego al punto de sumar el offset con la base pero no se cual es estoy intentando portar la 4 ficha del c510 r1ha035 al sofware mencionado del c905 gracias espero la ayuda de algien

Cr@cShoT
06/12/2010, 15:12:35
ayuda con star adrres de c905 r1fa035 y c510 esque llego al punto de sumar el offset con la base pero no se cual es estoy intentando portar la 4 ficha del c510 r1ha035 al sofware mencionado del c905 gracias espero la ayuda de algien

No entiendo bien tu pregunta pero imagino que te refieres a la base del CXC, bueno, si estas usando el cxc que extraes con el A2 de tu propio celular, es 0x13FFF000, si esas el Read.exe v0.7 tambien es la misma, solo el Read 0.5 te da base 0x13FFE000

DaRkMaN
07/12/2010, 16:20:10
Aqui esta el asm pero a la hora de Compilar me da este error:

No se encuentra C:\Armpc\test.asm.vkp
flat assembler for ARM version 1.67.22 (1260409 kilobytes memory)
test.asm [164]:
adr R0, loc_456C9398
x.inc [80] adr [4]:
add reg,pc,(offs-($ and 0xFFFFFFFC)-4)
error: Constant not aligned.
Para corregir ese problema solo tienes que intercambiar el "align 4" y "db 0xFF" que estan al final del asm:

align 4
db 0xFFDeberia quedar asi:

db 0xFF
align 4Aunque aun sigue estando mal tu asm...
En esta parte no era necesario cambiar el "loc_" por "0x", ya que ese es un enlace al codigo nuevo y no se porta:

off_456C9260 dw 0x456C92CE+1Deberia quedar asi:

off_456C9260 dw loc_456C92CE+1 Esta parte se analiza con la tecla "D":

loc_456C931C:
ADD R4, R1, R1
ADD R2, R9deberia quedar asi:

off_456C931C dw 0x444A184CEsta parte esta mal analizado ya que es un texto:

loc_456C9328:
LSL R6, R5, 1
LSL R7, R5, 1
LSL R1, R1, 1
LSL R5, R1, 1
LSL R5, R0, 1
LSL R1, R1, 1
LSL R0, R0, 0Deberia quedar asi en tu asm:

aNoimei du "noIMEI",0 Tambien esta parte es texto:

loc_456C937C:

STRB R0, [R2,9]
STRB R1, [R5,0x19]
STRB R1, [R4,0x11]
MOV R0, 0x65
LDR R5, dword_456C94AC
LDR R1, dword_456C949C
STRB R0, [R2,9]
STRB R7, [R5,0x11]
STR R5, [R4,0x34]
SUB R2, 0x74
LDR R7, dword_456C9414
LSL R6, R5, 1
db 0
align 4
db 0xFF
loc_456C9398:
STRB R0, [R2,9]
STRB R7, [R5,0x11]
STR R5, [R4,0x34]
SUB R2, 0x74
LDR R7, dword_456C9424
LSL R6, R5, 1
db 0
align 4
db 0xFF
loc_456C93A8:
STRB R0, [R2,9]
STRB R7, [R5,0x11]
STR R5, [R4,0x34]
SUB R2, 0x74
LDR R7, dword_456C9434
STR R6, [R4,0x64]
LSL R0, R0, 0deberia quedar asi:

aPrivateImeipro db "Private IMEIProtect: On",0

db 0
db 0xFF
align 4
aProtectOn db "Protect: On",0
db 0
db 0xFF
align 4
aProtectOff db "Protect: Off",0
db 0Te recomiendo que crees denuevo tu asm ;)

Saludos ..

bill_kevin
07/12/2010, 20:22:35
Aqui estoy yo otra vez

aqui esta un asm:


include "x.inc"

org 0x44F27582
LDR R3, dword_44F27588
BX R3
NOP
dword_44F27588 dw 0x45660111

org 0x44F275FC
LDR R3, dword_44F27600
BX R3
dword_44F27600 dw 0x45660131

org 0x45660110
loc_45660110:
LDR R0, [R4,0x18]
MOV R1, 2
BL 0x453A70EC
LDR R0, [R4,0x18]
LDR R1, loc_45660128
BL 0x453A71B4
LDR R0, [R4,0x18]
LDR R3, loc_4566012C
BX R3
NOP

loc_45660128:
LSR R2, R6, 0xE
LSL R0, R0, 0

loc_4566012C:
STRB R5, [R1,0x16]
ADD R10, LR

loc_45660130:
ADD R5, R0, 0
LDR R0, dword_4566017C
STR R0, [SP]
MOV R1, 0
LDR R2, dword_45660180

loc_4566013A:
CMP R5, R1
BEQ loc_45660146
ADD R1, R1, 1
CMP R2, R1
BEQ loc_4566014A
B loc_4566013A

loc_45660146:
ADD R0, R1, 1
STR R0, [SP]

loc_4566014A:
MOV R1, 0

loc_4566014C:
CMP R5, R1
BEQ loc_45660158
ADD R1, R1, 1
CMP R2, R1
BEQ loc_45660166
B loc_4566014C


loc_45660158:
ADD R0, R1, 1
BL 0x454BAA70
ADD R1, R0, 0
ADD R0, R4, 0
BL 0x45376668

loc_45660166:
LDR R1, [SP]
ADD R0, R4, 0
BL 0x453A2778
LDR R2, dword_45660184
MOV R1, 0
ADD R0, R4, 0
BL 0x453A2780
ADD R0, R5, 0
POP {R4,R5,PC}

dword_4566017C dw 0x6FFFFFFF
dword_45660180 dw 0x199E
dword_45660184 dw 0xE809


que me compila haci:


44f27582: A0691149DCF00FF8A069 014B1847C04611016645
44f275fc: 401C0004000C011C 004B184731016645
45660110: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF A069022146F5EAFFA069034947F54AF8
45660120: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF A069024B1847C046B20B00008D75F244
45660130: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 051C124800900021114A8D4203D0491C
45660140: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 8A4202D0F9E7481C009000218D4203D0
45660150: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 491C8A4207D0F9E7481C5AF689FC011C
45660160: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 201C16F581FA0099201C42F505FB054A
45660170: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 0021201C42F504FB281C30BDFFFFFF6F
45660180: FFFFFFFFFFFFFFFF 9E19000009E80000


pero el parche original es haci:


44F27582: A0691149DCF00FF8A069 014B1847C04611016645
44F275FC: 401C0004000C011C 004B184731016645
45660110: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF A069022146F5EAFFA069034947F54AF8
45660120: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF A069024B1847C046B20B00008D75F244
45660130: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 051C124800900021114A8D4203D0491C
45660140: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 8A4202D0F9E7481C009000218D4203D0
45660150: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 491C8A4207D0F9E7481C5AF689FC011C
45660160: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 201C16F581FA0099201C42F505FB054A
45660170: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 0021201C42F504FB281C30BDFFFFFF6F
45660180: FFFFFFFF 9E190000
45660184: FFFFFFFF 09E80000 ; Item icon

Cual sera mi problema?

walter rex
07/12/2010, 20:24:35
te explico bien mi pregunta es estoy intendando portar 4 pestaña del c510 al c905 abro mi cxc del c510 aplico el idc y el parche luego tengo que sumar la base del mismo con el offset de c510 x eso quiero saber la base 10000000 .... 14000000 , o es la que me diste 0x13FFE000 porque si no la suma es mas grande que lo s offset de cxc espero tu respuesta y espero haberme explicado bien gracias

walter rex
07/12/2010, 20:31:53
te explico bien mi pregunta es estoy intendando portar 4 pestaña del c510 al c905 abro mi cxc del c510 aplico el idc y el parche luego tengo que sumar la base con entrypoint converter con el offset de c510 x eso quiero saber la base 10000000 .... 14000000 , o es la que me diste 0x13FFE000 porque si no la suma es mas grande que lo s offset de cxc espero tu respuesta y espero haberme explicado bien gracias

Cr@cShoT
07/12/2010, 20:35:19
Aqui estoy yo otra vez

aqui esta un asm:


include "x.inc"

org 0x44F27582
LDR R3, dword_44F27588
BX R3
NOP
dword_44F27588 dw 0x45660111

org 0x44F275FC
LDR R3, dword_44F27600
BX R3
dword_44F27600 dw 0x45660131

org 0x45660110
loc_45660110:
LDR R0, [R4,0x18]
MOV R1, 2
BL 0x453A70EC
LDR R0, [R4,0x18]
LDR R1, loc_45660128
BL 0x453A71B4
LDR R0, [R4,0x18]
LDR R3, loc_4566012C
BX R3
NOP

loc_45660128:
LSR R2, R6, 0xE
LSL R0, R0, 0

loc_4566012C:
STRB R5, [R1,0x16]
ADD R10, LR

loc_45660130:
ADD R5, R0, 0
LDR R0, dword_4566017C
STR R0, [SP]
MOV R1, 0
LDR R2, dword_45660180

loc_4566013A:
CMP R5, R1
BEQ loc_45660146
ADD R1, R1, 1
CMP R2, R1
BEQ loc_4566014A
B loc_4566013A

loc_45660146:
ADD R0, R1, 1
STR R0, [SP]

loc_4566014A:
MOV R1, 0

loc_4566014C:
CMP R5, R1
BEQ loc_45660158
ADD R1, R1, 1
CMP R2, R1
BEQ loc_45660166
B loc_4566014C


loc_45660158:
ADD R0, R1, 1
BL 0x454BAA70
ADD R1, R0, 0
ADD R0, R4, 0
BL 0x45376668

loc_45660166:
LDR R1, [SP]
ADD R0, R4, 0
BL 0x453A2778
LDR R2, dword_45660184
MOV R1, 0
ADD R0, R4, 0
BL 0x453A2780
ADD R0, R5, 0
POP {R4,R5,PC}

dword_4566017C dw 0x6FFFFFFF
dword_45660180 dw 0x199E
dword_45660184 dw 0xE809


que me compila haci:


44f27582: A0691149DCF00FF8A069 014B1847C04611016645
44f275fc: 401C0004000C011C 004B184731016645
45660110: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF A069022146F5EAFFA069034947F54AF8
45660120: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF A069024B1847C046B20B00008D75F244
45660130: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 051C124800900021114A8D4203D0491C
45660140: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 8A4202D0F9E7481C009000218D4203D0
45660150: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 491C8A4207D0F9E7481C5AF689FC011C
45660160: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 201C16F581FA0099201C42F505FB054A
45660170: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 0021201C42F504FB281C30BDFFFFFF6F
45660180: FFFFFFFFFFFFFFFF 9E19000009E80000


pero el parche original es haci:


44F27582: A0691149DCF00FF8A069 014B1847C04611016645
44F275FC: 401C0004000C011C 004B184731016645
45660110: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF A069022146F5EAFFA069034947F54AF8
45660120: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF A069024B1847C046B20B00008D75F244
45660130: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 051C124800900021114A8D4203D0491C
45660140: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 8A4202D0F9E7481C009000218D4203D0
45660150: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 491C8A4207D0F9E7481C5AF689FC011C
45660160: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 201C16F581FA0099201C42F505FB054A
45660170: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 0021201C42F504FB281C30BDFFFFFF6F
45660180: FFFFFFFF 9E190000
45660184: FFFFFFFF 09E80000 ; Item icon

Cual sera mi problema?

Alli no hay problema, si aplicas el parche que compilaste no te dara ningun problema, el "original" lo pusieron asi solo para diferenciar esa linea de icono
ejemplo:

tuyo:

45660180: FFFFFFFFFFFFFFFF 9E19000009E80000


claramente ves que el 9E ocupa el offset 45660180, entonces, el 45660181 seria el 19, el 45660182 el 00, el 45660183 00 y el 45660184 es del icono, si gustas lo mueves abajo como el "original" y eso puedes hacerlo manualmente

te explico bien mi pregunta es estoy intendando portar 4 pestaña del c510 al c905 abro mi cxc del c510 aplico el idc y el parche luego tengo que sumar la base del mismo con el offset de c510 x eso quiero saber la base 10000000 .... 14000000 , o es la que me diste 0x13FFE000 porque si no la suma es mas grande que lo s offset de cxc espero tu respuesta y espero haberme explicado bien gracias

Eso tienes que mirar en el vkp, si los offsets son 14xxxxxx o 15xxxxxx, quiere decir que la base ya esta sumada, o sino al comienzo del parche (despues de los comentarios) te da la base usada, algunos son 14000000 y otros 13fff000

quicho
14/12/2010, 20:59:47
Bueno primero que nada gracias por crear este tema ya que todos queremos a prender a portar
Ahora si estoy tratando de crear un asm de este parche

;W610 SW-R6CA001_Orange
;Mostrar texto completo en "Etiquetas de texto" en el menu de servicio
;Presione la tecla "Mostrar"
;Ahora, mostrara el numero de la etiqueta (en decimal)
;© k790Alex
;(p) Heber?????®
;v.1.1
450566de: 1049A0692A1C A0690F498847
45056720: C20F0000 F12AAC45
45ac2af0: 00000000000000000000000000000000 0FB5A0690549044A054B98470FBC0349
45ac2b00: 00000000000000000000000000000000 04A2013200BDFFFFAA170000C20F0000
45ac2b10: 00000000000000000000000000000000 6DCD3A4530B583B0081C0F4A9047431C
45ac2b20: 00000000000000000000000000000000 029301300D4A904700900FA006210322
45ac2b30: 00000000000000000000000000000000 0B4B98470190684605210322084B9847
45ac2b40: 00000000000000000000000000000000 041C0020002103B4211C002200200123
45ac2b50: 00000000000000000000000000000000 044DA84705B030BD199C3445D9283745
45ac2b60: 000000000000000000000000 8D2B3745595E2E453A0A0A00


el problema es que no se si vaya bien o no asi que aqui les dejo lo que llevo

include "x.inc"
Dir1 equ 0x45AC2B10
Dir2 equ 0x45AC2B14
Dir3 equ 0x45AC2B68
Dir4 equ 0x45AC2B60
Dir4 equ 0x45AC2B60
patch equ 0x45AC2AF0
Org patch
loc_45AC2AF0:
PUSH {R0-R3,LR}
LDR R0, [R4,0x18]
LDR R1, dword_45AC2B0C
LDR R2, dword_45AC2B08
LDR R3, 0x45AC2B10
BLX R3
POP {R0-R3}
LDR R1, dword_45AC2B0C
adr R2, 0x45AC2B14
ADD R2, 1
POP {PC}
DCB 0xFF
DCB 0xFF
dword_45AC2B08 DCD 0x17AA
dword_45AC2B0C DCD 0xFC2
loc_45AC2B10:
LDMIA R5!, {R0,R2,R3,R5,R6}
CMP R2, R7
loc_45AC2B14:
PUSH {R4,R5,LR}
SUB SP, SP, 0xC
ADD R0, R1, 0
LDR R2, off_45AC2B58
BLX R2
ADD R3, R0, 1
STR R3, [SP,8]
ADD R0, 1
LDR R2, off_45AC2B5C
BLX R2
STR R0, [SP]
adr R0, 0x45AC2B68
MOV R1, 6
MOV R2, 3
LDR R3, 0x45AC2B60
BLX R3
STR R0, [SP,4]
MOV R0, SP
MOV R1, 5
MOV R2, 3
LDR R3, 0x45AC2B60
BLX R3
ADD R4, R0, 0
MOV R0, 0
MOV R1, 0
PUSH {R0,R1}
ADD R1, R4, 0
MOV R2, 0
MOV R0, 0
MOV R3, 1
LDR R5, off_45AC2B64
BLX R5
ADD SP, SP, 0x14
POP {R4,R5,PC}
align 4
off_45AC2B58 DCD 0x45349C18+1
off_45AC2B5C DCD 0x453728D8+1
loc_45AC2B60:
CMP R3, 0x8D
CMP R7, R6
espero me digan si voy bien o voy tan mal que mejor me retire de esto

DaRkMaN
14/12/2010, 22:11:17
Bueno primero que nada gracias por crear este tema ya que todos queremos a prender a portar
Ahora si estoy tratando de crear un asm de este parche

;W610 SW-R6CA001_Orange
;Mostrar texto completo en "Etiquetas de texto" en el menu de servicio
;Presione la tecla "Mostrar"
;Ahora, mostrara el numero de la etiqueta (en decimal)
;© k790Alex
;(p) Heber?????®
;v.1.1
450566de: 1049A0692A1C A0690F498847
45056720: C20F0000 F12AAC45
45ac2af0: 00000000000000000000000000000000 0FB5A0690549044A054B98470FBC0349
45ac2b00: 00000000000000000000000000000000 04A2013200BDFFFFAA170000C20F0000
45ac2b10: 00000000000000000000000000000000 6DCD3A4530B583B0081C0F4A9047431C
45ac2b20: 00000000000000000000000000000000 029301300D4A904700900FA006210322
45ac2b30: 00000000000000000000000000000000 0B4B98470190684605210322084B9847
45ac2b40: 00000000000000000000000000000000 041C0020002103B4211C002200200123
45ac2b50: 00000000000000000000000000000000 044DA84705B030BD199C3445D9283745
45ac2b60: 000000000000000000000000 8D2B3745595E2E453A0A0A00
el problema es que no se si vaya bien o no asi que aqui les dejo lo que llevo

include "x.inc"
Dir1 equ 0x45AC2B10
Dir2 equ 0x45AC2B14
Dir3 equ 0x45AC2B68
Dir4 equ 0x45AC2B60
Dir4 equ 0x45AC2B60
patch equ 0x45AC2AF0
Org patch
loc_45AC2AF0:
PUSH {R0-R3,LR}
LDR R0, [R4,0x18]
LDR R1, dword_45AC2B0C
LDR R2, dword_45AC2B08
LDR R3, 0x45AC2B10
BLX R3
POP {R0-R3}
LDR R1, dword_45AC2B0C
adr R2, 0x45AC2B14
ADD R2, 1
POP {PC}
DCB 0xFF
DCB 0xFF
dword_45AC2B08 DCD 0x17AA
dword_45AC2B0C DCD 0xFC2
loc_45AC2B10:
LDMIA R5!, {R0,R2,R3,R5,R6}
CMP R2, R7
loc_45AC2B14:
PUSH {R4,R5,LR}
SUB SP, SP, 0xC
ADD R0, R1, 0
LDR R2, off_45AC2B58
BLX R2
ADD R3, R0, 1
STR R3, [SP,8]
ADD R0, 1
LDR R2, off_45AC2B5C
BLX R2
STR R0, [SP]
adr R0, 0x45AC2B68
MOV R1, 6
MOV R2, 3
LDR R3, 0x45AC2B60
BLX R3
STR R0, [SP,4]
MOV R0, SP
MOV R1, 5
MOV R2, 3
LDR R3, 0x45AC2B60
BLX R3
ADD R4, R0, 0
MOV R0, 0
MOV R1, 0
PUSH {R0,R1}
ADD R1, R4, 0
MOV R2, 0
MOV R0, 0
MOV R3, 1
LDR R5, off_45AC2B64
BLX R5
ADD SP, SP, 0x14
POP {R4,R5,PC}
align 4
off_45AC2B58 DCD 0x45349C18+1
off_45AC2B5C DCD 0x453728D8+1
loc_45AC2B60:
CMP R3, 0x8D
CMP R7, R6espero me digan si voy bien o voy tan mal que mejor me retire de esto
Tu asm tiene algunos errores...
En estas partes:

loc_45AC2AF0:
PUSH {R0-R3,LR}
LDR R0, [R4,0x18]
LDR R1, dword_45AC2B0C
LDR R2, dword_45AC2B08
LDR R3, 0x45AC2B10
BLX R3
POP {R0-R3}
LDR R1, dword_45AC2B0C
adr R2, 0x45AC2B14
ADD R2, 1
POP {PC}
loc_45AC2B14:
PUSH {R4,R5,LR}
SUB SP, SP, 0xC
ADD R0, R1, 0
LDR R2, off_45AC2B58
BLX R2
ADD R3, R0, 1
STR R3, [SP,8]
ADD R0, 1
LDR R2, off_45AC2B5C
BLX R2
STR R0, [SP]
adr R0, 0x45AC2B68
MOV R1, 6
MOV R2, 3
LDR R3, 0x45AC2B60
BLX R3
STR R0, [SP,4]
MOV R0, SP
MOV R1, 5
MOV R2, 3
LDR R3, 0x45AC2B60No es necesario ponerle "0x" a los offsets: 0x45AC2B10, 0x45AC2B14, 0x45AC2B68 y 0x45AC2B60
Ya que son enlaces al codigo nuevo y no es necesario portarlo

Esta parte esta mal analizada:

loc_45AC2B10:
LDMIA R5!, {R0,R2,R3,R5,R6}
CMP R2, R7Lo correcto seria analizarlo con la tecla "D", entonces deberia quedar asi:

off_45AC2B10 dw 0x453ACD6C+1 Esta parte tambien esta mal analizada:

loc_45AC2B60:
CMP R3, 0x8D
CMP R7, R6lo correcto seria asi:

off_45AC2B60 dw 0x45372B8C+1
En esta parte:

DCB 0xFF
DCB 0xFF
Lo correcto seria poner:

align 4
Tambien te falto analizar un poco de codigo:

off_45AC2B64 dw 0x452E5E58+1
asc_45AC2B68 db ":",0xA
db 0xA,0

bill_kevin
18/12/2010, 13:01:21
Hola he visto que algunos asm llevan esto:

include "x.inc"
include "W580_R8BE001_ORANGE.lib.asm"

o otros haci:

include "x.inc"
include "w705.inc"

alguien sabe donde puedo conseguir esos archivos y como hago para saber que mi asm necesita esos archivos para su compilacion.

Josthyn
18/12/2010, 13:59:23
Hola he visto que algunos asm llevan esto:

include "x.inc"
include "W580_R8BE001_ORANGE.lib.asm"

o otros haci:

include "x.inc"
include "w705.inc"

alguien sabe donde puedo conseguir esos archivos y como hago para saber que mi asm necesita esos archivos para su compilacion.


No es nada del otro mundo, solo en esos ASM estan incluyendo la libreria de tu modelo, el cual tu sabes que la libreria trae la mayoria de las funcoines que ocupa tu firm.

bill_kevin
18/12/2010, 14:08:13
Hola he visto que algunos asm llevan esto:

include "x.inc"
include "W580_R8BE001_ORANGE.lib.asm"

o otros haci:

include "x.inc"
include "w705.inc"

alguien sabe donde puedo conseguir esos archivos y como hago para saber que mi asm necesita esos archivos para su compilacion.


No es nada del otro mundo, solo en esos ASM estan incluyendo la libreria de tu modelo, el cual tu sabes que la libreria trae la mayoria de las funcoines que ocupa tu firm.


Si gracias Sabes donde puedo conseguir los asm de las librerias para mi modelo?

kevinbgp
18/12/2010, 15:01:39
Hola he visto que algunos asm llevan esto:

include "x.inc"
include "W580_R8BE001_ORANGE.lib.asm"

o otros haci:

include "x.inc"
include "w705.inc"

alguien sabe donde puedo conseguir esos archivos y como hago para saber que mi asm necesita esos archivos para su compilacion.


No es nada del otro mundo, solo en esos ASM estan incluyendo la libreria de tu modelo, el cual tu sabes que la libreria trae la mayoria de las funcoines que ocupa tu firm.


Si gracias Sabes donde puedo conseguir los asm de las librerias para mi modelo?

amigo primero aprende a portar normalmente, ya que portar con libreria ocupas mas archivos amigo, lo correcto seria que empiezes desde abajo, ya luego iras creciendo amigo, te lo digo por experiencia, esas son palabras que me decian todas esas personas que me enseñaron a portar, yo siempre queria todo de un solo amigo, es por eso que con el tiempo vas a ir aprendiendo cosas diferentes, ahi poco a poco amigo....saludos

bill_kevin
18/12/2010, 15:31:51
Gracias amigo, yo quiero ese asm para poder compilar un parche.

laurafarsa
18/12/2010, 16:08:58
arrastra tu lbreria.vkp a lib2func y te creara libreria.asm

borras esto

RSEG CODE

CODE32

defadr MACRO a,b
PUBLIC a
a EQU b
ENDM

RSEG CODE


esto


defadr


esto


END

esto (si quieres)


+1

y cambia esto
, por esto
=

bill_kevin
18/12/2010, 16:35:24
@laurafarsa:

Gracias por ejemplo me tendria que quedar haci?

memset=0x44145350
memcpy=0x442D0C94
sprintf=0x4457FBD4
snwprintf=0x4458019C

Cr@cShoT
18/12/2010, 16:46:39
@laurafarsa:

Gracias por ejemplo me tendria que quedar haci?

memset=0x44145350
memcpy=0x442D0C94
sprintf=0x4457FBD4
snwprintf=0x4458019C

En la libreria asm si, ya que generalmente cuando armas un ASM te vienen las funcion con "+1" ya que son offsets impares, entonces tu lib.asm debe ser sin el +2, asi como esta... esta bien

bill_kevin
23/12/2010, 14:48:55
Hola amigos necesito ayuda estoy tratando de portar este parche :



;W300-R4EA031
;Multiple SMStones
;Ability to toggle between 5 sounds when a message is received.
;Rename SMStones to smstone01.mp3, smstone02.mp3... smstone05.mp3
;and put them in /usb/audio/ringtones.
;Messaging-> Settings-> Message Alert -> Multi SMStones
;;Alerta msje 6 Renombrar la etiqueta a Multi SMStone (D0D)
;© Mike006
;(p) Bill_Kevin
include "x.inc"

org 0x4451E693;0x4451CDB7----------------Hook 1 XREF 448D0F30-----b-m
db 0xFF

org 0x4505FC56;0x450D5C1E----------------Hook 2 --------------b
LDR R7, off_450D5C24
BLX R7
B 0x4505FC60;0x450D5C28----------------Salto 1 ---------b

off_450D5C24 dw loc_456D7000+1

org 0x4540B27C;0x45483B48----------------Hook 3----------b
LDR R6, off_45483BE4
BLX R6

org 0x4540B318;0x45483BE4----------------Hook 4-----------b
off_45483BE4 dw loc_456D7090+1

org 0x4540B65C;0x45483F28----------------Hook 5-----------b
LDR R6, off_45483F90
BLX R6
MOV R0, SP

org 0x4540B6BE;0x45483F8A----------------Hook 6-----------b
loc_4540B6BE:
LDRB R0, [R0]
ADD SP, SP, 0x10
POP {R4-R7,PC}
off_45483F90 dw loc_456D7074+1

org 0x4540B2D4;0x45483BA0----------------Hook 7-----------b
LDR R6, off_45483BA8
BLX R6
B 0x4540B2EA;;0x45483BB6----------------Salto 2--b
align 4
off_45483BA8 dw loc_456D70D0+1

org 0x4540B690;0x45483F5C----------------Hook 8------------b
LDR R6, off_45483F64
BLX R6
B 0x4540B6A6;0x45483F72----------------Salto 3---b
align 4
off_45483F64 dw loc_456D70D0+1

org 0x4465ED2C;0x456900FC---------------------------------Hook 9
aSmstone01_mp_0 du "smstone01.mp3",0

;---------------------Nuevo Codigo---------------------
org 0x456D7000
loc_456D7000:
LDR R2, [R0]
LDRB R1, [R0,0x14]
ADD R4, R0, 0
MOV R5, 0
MOV R6, 0
PUSH {R0-R4,LR}
LDR R4, off_456D71A0
MOV R2, 0
ADD R1, R4, 0
LDR R0, off_456D71A4
BL 0x4553CF74;0x455B4ADC----------------Salto 4------------b
CMP R0, 0
BNE loc_456D7024
BL sub_456D712E
CMP R0, 0
BMI loc_456D7068

loc_456D7024:
ADD R1, R4, 0
LDR R0, off_456D71AC
BL sub_456D7104
CMP R0, 0
BMI loc_456D706C
MOV R3, 0
ADD R2, R4, 0
B loc_456D7038


loc_456D7036:
ADD R2, 0x1C

loc_456D7038:
ADD R0, R2, 0
ADD R1, R2, 0
ADD R1, 0x1C
ADD R3, R3, 1
BL sub_456D7104
CMP R0, 0
BMI loc_456D706C
CMP R3, 4
BNE loc_456D7036
ADD R2, 0x1C
LDR R1, off_456D71AC
ADD R0, R2, 0
BL sub_456D7104
CMP R0, 0
BMI loc_456D706C
BL sub_456D7118
CMP R0, 0
BMI loc_456D7064
POP {R0-R4,PC}


loc_456D7064:
MOV R0, 0
B loc_456D706E


loc_456D7068:
MOV R0, 1
B loc_456D706E


loc_456D706C:
MOV R0, 2

loc_456D706E:
BL sub_456D713C
POP {R0-R4,PC}


loc_456D7074:
PUSH {R5,LR}
LDR R5, dword_456D71B0
CMP R5, R1
BNE loc_456D7088
LDR R0, off_456D718C
LDR R2, dword_456D7180
MOV R1, 6
BL 0x455ECC38;0x45664E94----------------Salto 5-------------b
ADD R1, R0, 0

loc_456D7088:
ADD R0, R7, 0
BL 0x455D258C;0x4564A7F0----------------Salto 6-------------b
POP {R5,PC}


loc_456D7090:
LDR R0, [R4,0x3C]
LDR R1, off_456D719C
PUSH {R0-R2,LR}
LDR R0, [R4,0x3C]
MOV R1, 2
LDR R2, off_456D71B8
BL 0x455D4340;0x4564C5A4----------------Salto 7------------b
LDR R2, dword_456D717C
LDR R0, [R4,0x3C]
MOV R1, 2
BL 0x455D2554;0x4564A7B8----------------Salto 8-----------b
POP {R0-R2,PC}


loc_456D70AC:
PUSH {R0-R4,LR}
LDR R0, off_456D71B4
LDR R2, dword_456D7180
MOV R1, 6
BL 0x455ECC38;0x45664E94----------------Salto 5-----------b
ADD R4, R0, 0
MOV R0, 0
MOV R1, 0
PUSH {R0,R1}
MOV R3, 1
LDR R0, dword_456D7184
ADD R1, R4, 0
LDR R2, dword_456D7184
BL 0x454BB6E8;0x45533C94----------------Salto 10-----------b
ADD SP, SP, 8
POP {R0-R4,PC}


loc_456D70D0:
PUSH {R3,LR}
CMP R0, 0xFF
BEQ loc_456D70E2
CMP R0, 0
BEQ loc_456D70E2
CMP R7, 8
BCS loc_456D70E2
MOV R2, 1
B loc_456D70E4


loc_456D70E2:
MOV R2, 0

loc_456D70E4:
LDR R0, [R4,0x3C]
MOV R1, 0
BL 0x455D4208;0x4564C46C----------------Salto 11--------b
LDR R3, off_456D7188
LDRB R0, [R3,R7]
CMP R0, 0xFF
BNE loc_456D70F8
MOV R2, 1
B loc_456D70FA


loc_456D70F8:
MOV R2, 0

loc_456D70FA:
LDR R0, [R4,0x3C]
MOV R1, 2
BL 0x455D4208;0x4564C46C----------------Salto 11-------- b
POP {R3,PC}

sub_456D7104:
PUSH {R2,R3,LR}
ADD R3, R0, 0
LDR R2, off_456D71A8
MOV R0, 0
PUSH {R0}
ADD R0, R2, 0
BL 0x4553D4EC;0x455B5054----------------Salto 11----------b
ADD SP, SP, 4
POP {R2,R3,PC}

sub_456D7118:
PUSH {R1-R3,LR}
MOV R0, 0
LDR R1, off_456D71A0
ADD R3, R1, 0
PUSH {R0}
LDR R2, off_456D71A4
LDR R0, off_456D71A8
BL 0x4553D35C;0x455B4EC4----------------Salto 12----------b
ADD SP, SP, 4
POP {R1-R3,PC}

sub_456D712E:
PUSH {R1,R2,LR}
MOV R2, 0
LDR R1, off_456D71A0
LDR R0, off_456D71A4
BL 0x4553D08C;0x455B4BF4----------------Salto 13---------b
POP {R1,R2,PC}

sub_456D713C:
PUSH {R1-R5,LR}
CMP R0, 0
BEQ loc_456D714A
CMP R0, 1
BEQ loc_456D714E
LDR R0, off_456D7194
B loc_456D7150

loc_456D714A:
LDR R0, off_456D7190
B loc_456D7150

loc_456D714E:
LDR R0, off_456D7198

loc_456D7150:
LDR R2, dword_456D7180
MOV R1, 6
BL 0x455ECC38;0x45664E94----------------Salto 5---------b
ADD R4, R0, 0
LDR R0, off_456D718C
LDR R2, dword_456D7180
MOV R1, 6
BL 0x455ECC38;0x45664E94----------------Salto 5---------b
ADD R5, R0, 0
MOV R1, 0
MOV R0, 0
PUSH {R0,R1}
MOV R3, 2
ADD R0, R5, 0
ADD R1, R4, 0
LDR R2, dword_456D7184
BL 0x454BB6E8;0x45533C94----------------Salto 10-------------b
ADD SP, SP, 8
POP {R1-R5,PC}



dword_456D717C dw 0x3A9 ;Info------------------etiquetas
dword_456D7180 dw 0xFFFF
dword_456D7184 dw 0x6FFFFFFF
off_456D7188 dw 0x4451E68C;0x4451CDB0 ----------------Salto 10----------b-m
off_456D718C dw aMultiSmstones
off_456D7190 dw aWarningHasOcur
off_456D7194 dw aWarningHasOc_0
off_456D7198 dw aWarningHasOc_1
off_456D719C dw 0x4540B625;0x45483EF1 ----------------Salto 11----------b
off_456D71A0 dw aSmstone01_mp3
off_456D71A4 dw aTpaPresetSyste
off_456D71A8 dw aUsbAudioRingto
off_456D71AC dw aTemp
dword_456D71B0 dw 0xCFF
off_456D71B4 dw aMultipleSmston
off_456D71B8 dw loc_456D70AC+1
aWarningHasOc_1 db "Warning!",0xA
db "Has ocurred a error when you tried delete a file.",0xA
db "Check the file ",0x22,"smstone01.mp3",0x22," in /tpa/preset"
db "/system/sound",0
align 4
aWarningHasOcur db "Warning!",0xA
db "Has ocurred a error when you tried copy a file.",0xA
db "Check the file ",0x22,"smstone01.mp3",0x22," in /tpa/preset"
db "/system/sound and /usb/audio/ringtones",0
align 4
aWarningHasOc_0 db "Warning!",0xA
db "Has ocurred a error when you tried rename a files.",0xA
db "Check the files in /usb/audio/ringtones",0
aMultipleSmston db "Multiple SMStones v.1.0",0xA
db "(c) Mike006",0xA
db "www.topsony.com",0xA
db "(p) Bill_Kevin",0xA
db "Thank to 05M4N",0xA
db "Se-Developers",0
db 0xFF
aMultiSmstones db "Multi SMStones",0
db 0xFF
aSmstone01_mp3 du "smstone01.mp3",0
aSmstone02_mp3 du "smstone02.mp3",0
aSmstone03_mp3 du "smstone03.mp3",0
aSmstone04_mp3 du "smstone04.mp3",0
aSmstone05_mp3 du "smstone05.mp3",0
aTpaPresetSyste du "/tpa/preset/system/sound",0
aTemp du "temp",0
aUsbAudioRingto du "/usb/audio/ringtones",0

Pero me sale este error:

80602

ya tengo los archivos

80603

pero segun veo no me crea el archivo temp , cual Puede ser mi problema?

Cr@cShoT
24/12/2010, 23:58:59
Todo parece indicar que tu parche esta bien, solo que no tienes los archivos en sus rutas o los tienes mal nombrados... ya que ese mensaje de "error" es parte del parche

bill_kevin
28/12/2010, 01:13:55
Alguien me puede ayudar a solucionar esto


;W580 SW-R8BE001 ORANGE
;My Shortcusts V1.2
;Add option in main menu "My Shortcuts" and add icon.
;and add acces directly to:
;===========================
;>themes and add icon.
;>Brightness and add icon.
;>Bluetooth and add icon.
;>RAdio and add icon.
;>mediaplayer_Video and add icon.
;>sound_Recorder and add icon.
;===========================
;and add item info for all items.
;Add option in main menu "My Elfs" and add icon.
;The links to the best elfs more used for you:
;in subItmen add this elfs:
;===========================
;BcfgEdit and add icon. path => "/tpa/user/other/ZBin/BcfgEdit.elf"
;DynCheck and add icon. path => "/tpa/user/other/ZBin/DynCheck.elf"
;NShooter and add icon. path => "/tpa/user/other/ZBin/NShooter.elf"
;EPManager and add icon. path => "/tpa/user/other/ZBin/EPManager.elf"
;FindFiles and add icon. path => "/tpa/user/other/ZBin/FindFiles.elf"
;MyShortcuts and add icon. path => "/tpa/user/other/ZBin/MyShortcuts.elf"
;===========================
;and add item info for all elfs.
;and add option for show about of the patch.
;© albertnet3
;(p) Bill_kevin
;(i) Original idea by yener90
;(!) conflict whit patch "Add "More Menu" to Main Menu"
;-------------------------------------------------------------------------------------------
include "x.inc"
include "W580_R6CA001_Orange.lib.asm"
;================================================= =============
org 0x453B391E;0x453C1C6A
Hook:
LDR R3, off_body
BX R3
align 4
off_body dw _body+1
return:


;================================================= =============
org 0x45bfdc60;0x45C2B090
_body:
LDR R2, _carga
LDR R1, a_ACTION_SELECT1
ADD R0, R4, 0
BL _SetAction
;================================================= =============
MOV R2, 0
MOV R1, 2
ADD R0, R4, 0
BL _SetAction
LDR R2, aMisAtajos_lng
MOV R1, 2
ADD R0, R4, 0
BL _SetText
LDR R2, atajos_icn
MOV R1, 2
ADD R0, R4, 0
BL _SetIcon
;================================================= =============
MOV R2, 3
MOV R1, 2
ADD R0, R4, 0
BL a_SetItemAsSubItem
LDR R2, aThemes_lng
MOV R1, 3
ADD R0, R4, 0
BL _SetText
LDR R2, _db_list_theme_icn
MOV R1, 3
ADD R0, R4, 0
BL _SetIcon
LDR R2, aThemes_lng
MOV R1, 3
ADD R0, R4, 0
BL _SetInfoText
LDR R2, link__Display_setthe
MOV R1, 3
ADD R0, R4, 0
BL _SetAction
;================================================= =============
MOV R2, 4
MOV R1, 2
ADD R0, R4, 0
BL a_SetItemAsSubItem
LDR R2, aWallpaper_lng
MOV R1, 4
ADD R0, R4, 0
BL _SetText
LDR R2, _db_list_image_directory_icn
MOV R1, 4
ADD R0, R4, 0
BL _SetIcon
LDR R2, aWallpaper_lng
MOV R1, 4
ADD R0, R4, 0
BL _SetInfoText
LDR R2, link__Settings_backg
MOV R1, 4
ADD R0, R4, 0
BL _SetAction
;================================================= =============
MOV R2, 5
MOV R1, 2
ADD R0, R4, 0
BL a_SetItemAsSubItem
LDR R2, aBrightness_lng
MOV R1, 5
ADD R0, R4, 0
BL _SetText
LDR R2, _rn_vert_bookmarks_ani_icn
MOV R1, 5
ADD R0, R4, 0
BL _SetIcon
LDR R2, aBrightness_lng
MOV R1, 5
ADD R0, R4, 0
BL _SetInfoText
LDR R2, link__Settings_brigh
MOV R1, 5
ADD R0, R4, 0
BL _SetAction
;================================================= =============
MOV R2, 6
MOV R1, 2
ADD R0, R4, 0
BL a_SetItemAsSubItem
LDR R2, aBluetooth_lng
MOV R1, 6
ADD R0, R4, 0
BL _SetText
LDR R2, _menu_bt_remote_control_icn
MOV R1, 6
ADD R0, R4, 0
BL _SetIcon
LDR R2, aBluetooth_lng
MOV R1, 6
ADD R0, R4, 0
BL _SetInfoText
LDR R2, link__Menuitem_bt_ac
MOV R1, 6
ADD R0, R4, 0
BL _SetAction
;================================================= =============
MOV R2, 7
MOV R1, 2
ADD R0, R4, 0
BL a_SetItemAsSubItem
LDR R2, aRadio_lng
MOV R1, 7
ADD R0, R4, 0
BL _SetText
LDR R2, aEntertainnement_menu_radio_icn
MOV R1, 7
ADD R0, R4, 0
BL _SetIcon
LDR R2, aRadio_lng
MOV R1, 7
ADD R0, R4, 0
BL _SetInfoText
LDR R2, link_aFmradio
MOV R1, 7
ADD R0, R4, 0
BL _SetAction
;================================================= =============
MOV R2, 8
MOV R1, 2
ADD R0, R4, 0
BL a_SetItemAsSubItem
LDR R2, aVideo_lng
MOV R1, 8
ADD R0, R4, 0
BL _SetText
LDR R2, aDB_list_video_file_icn
MOV R1, 8
ADD R0, R4, 0
BL _SetIcon
LDR R2, aVideo_lng
MOV R1, 8
ADD R0, R4, 0
BL _SetInfoText
LDR R2, link__Mediaplayer_vi
MOV R1, 8
ADD R0, R4, 0
BL _SetAction
;================================================= =============
MOV R2, 9
MOV R1, 2
ADD R0, R4, 0
BL a_SetItemAsSubItem
LDR R2, asoundrecorder_lng
MOV R1, 9
ADD R0, R4, 0
BL _SetText
LDR R2, aentertainament_menu_soundrecorder_icn
MOV R1, 9
ADD R0, R4, 0
BL _SetIcon
LDR R2, asoundrecorder_lng
MOV R1, 9
ADD R0, R4, 0
BL _SetInfoText
LDR R2, link__Soundrecorder
MOV R1, 9
ADD R0, R4, 0
BL _SetAction
;================================================= =============
MOV R2, 0
MOV R1, 0xA
ADD R0, R4, 0
BL _SetAction
adr R0, aMy_elfs
MOV R1, 0
MOV R2, 0xF0
BL aStr2ID
ADD R2, R0, 0
MOV R1, 0xA
ADD R0, R4, 0
BL _SetText
LDR R2, atajos_icn
MOV R1, 0xA
ADD R0, R4, 0
BL _SetIcon
;================================================= =============
MOV R2, 0xB
MOV R1, 0xA
ADD R0, R4, 0
BL a_SetItemAsSubItem
adr R0, aBcfgEdit
MOV R1, 0
MOV R2, 0xF0
BL aStr2ID
ADD R2, R0, 0
MOV R1, 0xB
ADD R0, R4, 0
BL _SetText
adr R0, aBcfgEdit
MOV R1, 0
MOV R2, 0xF0
BL aStr2ID
ADD R2, R0, 0
MOV R1, 0xB
ADD R0, R4, 0
BL _SetInfoText
LDR R2, BcfgEdit_Icon
MOV R1, 0xB
ADD R0, R4, 0
BL _SetIcon
LDR R2, link_Load_BcfgEdit
MOV R1, 0xB
ADD R0, R4, 0
BL _SetAction
;================================================= =============
MOV R2, 0xC
MOV R1, 0xA
ADD R0, R4, 0
BL a_SetItemAsSubItem
adr R0, aDynCheck
MOV R1, 0
MOV R2, 0xF0
BL aStr2ID
ADD R2, R0, 0
MOV R1, 0xC
ADD R0, R4, 0
BL _SetText
adr R0, aDynCheck
MOV R1, 0
MOV R2, 0xF0
BL aStr2ID
ADD R2, R0, 0
MOV R1, 0xC
ADD R0, R4, 0
BL _SetInfoText
LDR R2, DynCheck_Icon
MOV R1, 0xC
ADD R0, R4, 0
BL _SetIcon
LDR R2, link_Load_DynCheck
MOV R1, 0xC
ADD R0, R4, 0
BL _SetAction
;================================================= =============
MOV R2, 0xD
MOV R1, 0xA
ADD R0, R4, 0
BL a_SetItemAsSubItem
adr R0, aNShooter
MOV R1, 0
MOV R2, 0xF0
BL aStr2ID
ADD R2, R0, 0
MOV R1, 0xD
ADD R0, R4, 0
BL _SetText
adr R0, aNShooter
MOV R1, 0
MOV R2, 0xF0
BL aStr2ID
ADD R2, R0, 0
MOV R1, 0xD
ADD R0, R4, 0
BL _SetInfoText
LDR R2, NShooter_Icon
MOV R1, 0xD
ADD R0, R4, 0
BL _SetIcon
LDR R2, link_Load_NShooter
MOV R1, 0xD
ADD R0, R4, 0
BL _SetAction
;================================================= =============
MOV R2, 0xE
MOV R1, 0xA
ADD R0, R4, 0
BL a_SetItemAsSubItem
adr R0, aEpmanager
MOV R1, 0
MOV R2, 0xF0
BL aStr2ID
ADD R2, R0, 0
MOV R1, 0xE
ADD R0, R4, 0
BL _SetText
adr R0, aEpmanager
MOV R1, 0
MOV R2, 0xF0
BL aStr2ID
ADD R2, R0, 0
MOV R1, 0xE
ADD R0, R4, 0
BL _SetInfoText
LDR R2, Epmanager_Icon
MOV R1, 0xE
ADD R0, R4, 0
BL _SetIcon
LDR R2, link_Load_EPManager
MOV R1, 0xE
ADD R0, R4, 0
BL _SetAction
;================================================= =============
MOV R2, 0xF
MOV R1, 0xA
ADD R0, R4, 0
BL a_SetItemAsSubItem
adr R0, aFindFiles
MOV R1, 0
MOV R2, 0xF0
BL aStr2ID
ADD R2, R0, 0
MOV R1, 0xF
ADD R0, R4, 0
BL _SetText
adr R0, aFindFiles
MOV R1, 0
MOV R2, 0xF0
BL aStr2ID
ADD R2, R0, 0
MOV R1, 0xF
ADD R0, R4, 0
BL _SetInfoText
LDR R2, FindFiles_Icon
MOV R1, 0xF
ADD R0, R4, 0
BL _SetIcon
LDR R2, link_Load_FindFiles
MOV R1, 0xF
ADD R0, R4, 0
BL _SetAction
;================================================= =============
MOV R2, 0x10
MOV R1, 0xA
ADD R0, R4, 0
BL a_SetItemAsSubItem
adr R0, aMyShortcuts
MOV R1, 0
MOV R2, 0xF0
BL aStr2ID
ADD R2, R0, 0
MOV R1, 0x10
ADD R0, R4, 0
BL _SetText
adr R0, aMyShortcuts
MOV R1, 0
MOV R2, 0xF0
BL aStr2ID
ADD R2, R0, 0
MOV R1, 0x10
ADD R0, R4, 0
BL _SetInfoText
LDR R2, MyShortcuts_Icon
MOV R1, 0x10
ADD R0, R4, 0
BL _SetIcon
LDR R2, link_Load_MyShortcuts
MOV R1, 0x10
ADD R0, R4, 0
BL _SetAction
;================================================= =============
LDR R2, A_autor_inf_o
MOV R1, 0x11
ADD R0, R4, 0
BL _SetAction
LDR R2, aAbout_lng
MOV R1, 0x11
ADD R0, R4, 0
BL _SetText
LDR R2, aInfo_icn
MOV R1, 0x11
ADD R0, R4, 0
BL _SetIcon
LDR R2, aAbout_lng
MOV R1, 0x11
ADD R0, R4, 0
BL _SetInfoText
;================================================= =============
LDR R0, [R6,8]
LDR R3, _retorno
BX R3
;================================================= =============
_Display_setthe:
PUSH {LR}
LDR R0, aDisplay_setthe
B _GoToMenuLink
;================================================= =============
_Settings_backg:
PUSH {LR}
LDR R0, aSettings_backg
B _GoToMenuLink
;================================================= =============
_Settings_brigh:
PUSH {LR}
LDR R0, aSettings_brigh
B _GoToMenuLink
;================================================= =============
_Menuitem_bt_ac:
PUSH {LR}
LDR R0, aMenuitem_bt_ac
B _GoToMenuLink
;================================================= =============
_Mediaplayer_vi:
PUSH {LR}
LDR R0, aMediaplayer_vi
B _GoToMenuLink
;================================================= =============
_Soundrecorder:
PUSH {LR}
LDR R0, aSoundrecorder
B _GoToMenuLink
;================================================= =============
_aFmradio:
PUSH {LR}
LDR R0, aFmradio
;================================================= =============
_GoToMenuLink:
BL aGoToMenuLink
POP {PC}
;================================================= =============
autor_info:
PUSH {R0-R7,LR}
adr R0, aMy_Shortcusts
MOV R1, 6
MOV R2, 0x40
BL aStr2ID
ADD R1, R0, 0
LDR R0, aEMPTY_SID
ADD R4, R0, 0
MOV R2, 0
MOV R3, 1
BL aMessageBox
POP {R0-R7,PC}
align 4
_carga dw 0x453B35E9;0x453C1935
a_ACTION_SELECT1 dw 0xFC2
;=================Labels========================== ===================
aThemes_lng dw 0x5CF
aWallpaper_lng dw 0x5A3
aBrightness_lng dw 0xFCC
aBluetooth_lng dw 0xDDA
aRadio_lng dw 0x818
aVideo_lng dw 0x5F5
asoundrecorder_lng dw 0xF04
aMisAtajos_lng dw 0x946
aAbout_lng dw 0x4C8
;=================Icons=========================== ==================
_db_list_theme_icn dw 0xEA2B
_db_list_image_directory_icn dw 0xEA03
_rn_vert_bookmarks_ani_icn dw 0xEE94
_menu_bt_remote_control_icn dw 0xEE6F
aEntertainnement_menu_radio_icn dw 0xEAE5
aDB_list_video_file_icn dw 0xEA2E
aentertainament_menu_soundrecorder_icn dw 0xEAE6
atajos_icn dw 0xEE79
aInfo_icn dw 0xEB97
BcfgEdit_Icon dw 0xF426
DynCheck_Icon dw 0xF421
NShooter_Icon dw 0xF427
Epmanager_Icon dw 0xF428
FindFiles_Icon dw 0xF406
MyShortcuts_Icon dw 0xF40E
;=================links=========================== ==================
link__Display_setthe dw _Display_setthe+1
link__Settings_backg dw _Settings_backg+1
link__Settings_brigh dw _Settings_brigh+1
link__Menuitem_bt_ac dw _Menuitem_bt_ac+1
link_aFmradio dw _aFmradio+1
link__Mediaplayer_vi dw _Mediaplayer_vi+1
link__Soundrecorder dw _Soundrecorder+1
link_Load_BcfgEdit dw Load_BcfgEdit
link_Load_DynCheck dw Load_DynCheck
link_Load_NShooter dw Load_NShooter
link_Load_EPManager dw Load_EPManager
link_Load_FindFiles dw Load_FindFiles
link_Load_MyShortcuts dw Load_MyShortcuts
A_autor_inf_o dw autor_info+1
;=====================functions=================== ======================
_SetAction:
LDR R3, aGUIObject_Softkey_SetAction
BX R3
;================================================= =============
_SetText:
LDR R3, aGUIObject_Softkey_SetText
BX R3
;================================================= =============
a_SetItemAsSubItem:
LDR R3, aGUIObject_SoftKeys_SetItemAsSubItem
BX R3
;================================================= =============
_SetIcon:
LDR R3, aGUIObject_SoftKeys_SetIcon
BX R3
;================================================= =============
aGoToMenuLink:
LDR R3, aGoToMenuLinkX
BX R3
;================================================= =============
aStr2ID:
LDR R3, offaStr2ID
BX R3
;================================================= =============
aMessageBox:
LDR R3, off_Box
BX R3
;================================================= =============
_SetInfoText:
LDR R3, off_InfoText
BX R3
;=====================branchs===================== ====================

align 4
aDisplay_setthe dw 0x45BB3D70 ;0x45BD40D4 ;"Display_SetTheme_Id",0 ---------B ---------B
aSettings_backg dw 0x45BCAE34 ;0x45BEB1FC ;"Settings_Background_Id",0 ---------B ---------B
aSettings_brigh dw 0x45BCB520 ;0x45BEB8E4 ;"Settings_Brightness_Id",0 ---------B ---------B
aMenuitem_bt_ac dw 0x45BCE2A0 ;0x45BEE664 ;"MenuItem_Bt_Activation",0 ---------B
aFmradio dw 0x45BCD678 ;0x45BEDA3C ;"FMRadio",0 ---------B
aMediaplayer_vi dw 0x45BCA450 ;0x45BEA7FC ;aMediaplayer_video ---------M
aSoundrecorder dw 0x45BCA0D4 ;0x45BEA480 ;aSoundrecorder
_retorno dw return+1 ;0x453C1C76+1
off_InfoText dw GUIObject_SoftKeys_SetInfoText+1
off_Box dw MessageBox+1
offaStr2ID dw Str2ID+1
aGUIObject_Softkey_SetAction dw GUIObject_SoftKeys_SetAction+1
aGUIObject_Softkey_SetText dw GUIObject_SoftKeys_SetText+1
aGUIObject_SoftKeys_SetItemAsSubItem dw GUIObject_SoftKeys_SetItemAsSubItem+1
aGUIObject_SoftKeys_SetIcon dw 0x453AEDF8+1 ;0x453BD124+1
aGoToMenuLinkX dw 0x453B4628+1 ;0x453C2974+1
aEMPTY_SID dw 0x6FFFFFFF
;=================texts=========================== ==================
aMy_elfs du 'My Elfs',0
align 4
aBcfgEdit du 'BcfgEdit',0
align 4
aDynCheck du 'DynCheck',0
align 4
aNShooter du 'NShooter',0
align 4
aEpmanager du 'EPManager',0
aFindFiles du 'FindFiles',0
aMyShortcuts du 'MyShortcuts',0
aMy_Shortcusts db 'My Shortcuts v1.2', 0xA, '© albertnet3', 0xA, 'www.topsony.com', 0xA, '(p)Bill_Kevin',0

align 4
;=======================elfs1===================== ==================
CODE32
Load_BcfgEdit:
STMFD SP!, {LR}
LDR R1, [R0,0x74]
MOV R3, 0
LDR R2, [R1,8]
LDR R1, [R1,4]
adr R0, aTpaOtherZbinBc
SWI 0x10D
LDMFD SP!, {PC}
CODE16
aTpaOtherZbinBc du '/tpa/user/other/ZBin/BcfgEdit.elf',0
align 4
CODE32
;=======================elfs2===================== ==================
Load_DynCheck:
STMFD SP!, {LR}
LDR R1, [R0,0x74]
MOV R3, 0
LDR R2, [R1,8]
LDR R1, [R1,4]
adr R0, aTpaOtherZbinDy
SWI 0x10D
LDMFD SP!, {PC}
CODE16
aTpaOtherZbinDy du '/tpa/user/other/ZBin/DynCheck.elf',0
align 4
CODE32
;=======================elfs3===================== ==================
Load_NShooter:
STMFD SP!, {LR}
LDR R1, [R0,0x74]
MOV R3, 0
LDR R2, [R1,8]
LDR R1, [R1,4]
adr R0, aTpaOtherZbinNS
SWI 0x10D
LDMFD SP!, {PC}
CODE16
aTpaOtherZbinNS du '/tpa/user/other/ZBin/NShooter.elf',0
align 4
CODE32
;=======================elfs4===================== ==================
Load_EPManager:
STMFD SP!, {LR}
LDR R1, [R0,0x74]
MOV R3, 0
LDR R2, [R1,8]
LDR R1, [R1,4]
adr R0, aTpaOtherZbinEP
SWI 0x10D
LDMFD SP!, {PC}
CODE16
aTpaOtherZbinEP du '/tpa/user/other/ZBin/EPManager.elf',0
align 4
CODE32
;=======================elfs5===================== ==================
Load_FindFiles:
STMFD SP!, {LR}
LDR R1, [R0,0x74]
MOV R3, 0
LDR R2, [R1,8]
LDR R1, [R1,4]
adr R0, aUsbOtherZbinFi
SWI 0x10D
LDMFD SP!, {PC}

CODE16
aUsbOtherZbinFi du '/tpa/user/other/ZBin/FindFiles.elf',0
align 4
CODE32
;=======================elfs6===================== ==================
Load_MyShortcuts:
STMFD SP!, {LR}
LDR R1, [R0,0x74]
MOV R3, 0
LDR R2, [R1,8]
LDR R1, [R1,4]
adr R0, aUsbOtherZbinMy
SWI 0x10D
LDMFD SP!, {PC}
CODE16
aUsbOtherZbinMy du '/tpa/user/other/ZBin/MyShortcuts.elf',0

Cuando lo quiero aplicar con el setool me sale el miss mathc value ya lo movi a un offset vacio pero siempre me sale.

05M4N
28/12/2010, 22:45:29
eso no es problema del asm sino de algun parche que tengas puesto en el cel que use el mismo espacio libre, revisa el espacio usado en ese firm para estar bien seguro. Saludos

michel1907
28/12/2010, 22:58:44
bill_kevin ay conflicto con otro parche
uno de estos debes tener aplicado
;(!) conflict whit patch "Add "More Menu" to Main Menu"
;(!)conflict whit patch Choose menu style
esos dos parche contienen este offset 0x453B391E

bill_kevin
14/01/2011, 17:36:01
Agluien me puede explicar eso estoy tratando de portar el master patch para w300 pero no entendi eso de buferizador??? :a23:

W200 SW-R4HA014
;Master-Patch
;Ver 6.82
;To manage the patches directly from the phone
;Before starting to create a folder /usb/other/patches/pcf
;And create an empty file in the folder Configs.txt
;Master-patch starts when you start your phone
;When you have a patch/fixes needed to call Refresher
;Refresher called it : "Options> General> Tips an Tricks"
;!Patcheram!
;Bufferizator serves to provide buffer under Patch
;Included r0-PatchId
;When he goes to Buferizatoru : r0, r6-bufer
;Example treatment patch to Buferizatoru :
;ldr r0, config+4; r0-PatchId
;bl Bufferizator;Bufferizator = 0x455500F0
;beq NoPatch
;PatchId fabricating themselves, above, so that it does not coincide with the others later


y como porto este parche si solo es codigo nuevo??

;W200 SW-R4HA014
;API v3
;---------------------------------
;info 4 patchmakers:
;OpenReadCloseFile - 0x45550000
;OpenWriteCloseFile - 0x45550022
;Get size file - 0x45550044
;Zero ram - 0x45550054
;Get_active_profile - 0x45550074
;Set_active_profile - 0x45550088
;CreateWriteCloseFile - 0x4555009B
;---------------------------------
;(c) JokerXT
;(p) ZEN
+44140000
;----------------------------------
;OpenReadCloseFile
; r0 - äè*åêòî*èÿ ãäå ëåæèò ôàéë, êîò ÷èòàåì (unicode)
; r1 - íàçâàíèå ôàéëà, êîò ÷èòàåì (unicode)
; r2 - êîë-âî áàéò äëÿ ÷òåíèÿ
; r3 - êóäà ÷èòàåì
;© Joker XT
;(p) ZEN
1410000: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FEB50EB400230122D6F67AFE0EBC0028
1410010: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 06D4051C191CD7F651FE281CD7F61EFD
1410020: FFFF FEBD
;----------------------------------
;OpenWriteCloseFile
; r0 - äè*åêòî*èÿ ãäå ëåæèò ôàéë, â êîò çàïèñûâàåì (unicode)
; r1 - íàçâàíèå ôàéëà, â êîò çàïèñûâàåì (unicode)
; r2 - êîë-âî áàéò äëÿ çàïèñè
; r3 - îòêóäà ÷èòàåì
;© Joker XT
;(p) ZEN
1410022: FFFFFFFFFFFFFFFFFFFFFFFFFFFF FEB50EB400230422D6F669FE0EBC
1410030: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 002806D4051C191CD7F632FF281CD7F6
1410040: FFFFFFFF 0DFDFEBD
;----------------------------------
;Get size file
;Ïîëó÷åíèå *àçìå*à ôàéëà
;r0 - ïàïêà ãäå ëåæèò ôàéë (unicode)
;r1 - èìÿ ôàéëà (unicode)
;Â r0 âûõîäèò *àçìå* ôàéëà
;v1
;© Joker XT
;(p) ZEN
1410044: FFFFFFFFFFFFFFFFFFFFFFFF FEB56A46D7F626F868460830
1410050: FFFFFFFF 0068FEBD
;----------------------------------
;Îáíóëåíèå ram
; r0 - àä*åñ ram, ñ êîò íà÷èíàåì îáíóëÿòü
; r1 - ÷èñëî áàéò äëÿ îáíóëåíèÿ
;© Joker XT
;(p) ZEN
1410054: FFFFFFFFFFFFFFFFFFFFFFFF FFB501394218013800F001F8
1410060: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFBD00B501301378002B02D000240470
1410070: FFFFFFFF F8E700BD
;----------------------------------
;Get_active_profile
;Ïîëó÷åíèå àêòèâíîãî ï*îôèëÿ
;Â r0 âûõîäèò íîìå* ï*îôèëÿ
;© Joker XT
;(p) ZEN
1410074: FFFFFFFFFFFFFFFFFFFFFFFF FEB503480068694661F7A4FA
1410080: FFFFFFFFFFFFFFFF 0098FEBD006E4744
;----------------------------------
;Set_active_profile
;Óñòàíîâêà àêòèâíîãî ï*îôèëÿ
;r0 - íîìå* ï*îôèëÿ (0...6)
;© Joker XT
;(p) ZEN
1410088: FFFFFFFFFFFFFFFF FFB5011C02480068
1410090: FFFFFFFFFFFFFFFFFFFFFFFF 61F7C8FAFFBDFFFF3C644744
;----------------------------------
;CreateWriteCloseFile
; r0 - äè*åêòî*èÿ ãäå ëåæèò ôàéë, â êîò ñîçäà¸ì (unicode)
; r1 - íàçâàíèå ôàéëà, â êîò çàïèñûâàåì (unicode)
; r2 - êîë-âî áàéò äëÿ çàïèñè
; r3 - îòêóäà ÷èòàåì
;© Joker XT
;(p) ZEN
141009c: FFFFFFFF FFB5051C
14100a0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 002001B41F1C161C00230422281CD6F6
14100b0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF B9FB01B0051C321C391CD7F6F1FE281C
14100c0: FFFFFFFFFFFF D7F6CCFCFFBD

SoLiDuS
27/01/2011, 14:10:12
Hola, disculpuen como agrego mas espacio a mi phone_app.cxc, es que intento aplicar un parche con el ida y no me lo permite.
Me mencionaron que esto se hace con el winhex pero no se en donde :(, no se si me podrian facilitar un tutorial
gracias de antemano

DaRkMaN
27/01/2011, 15:54:52
Hola, disculpuen como agrego mas espacio a mi phone_app.cxc, es que intento aplicar un parche con el ida y no me lo permite.
Me mencionaron que esto se hace con el winhex pero no se en donde :(, no se si me podrian facilitar un tutorial
gracias de antemano
Es muy fácil amigo, solo abre tu phone_app.cxc con el far y le colocas el ultimo parche que han portado o creado para tu modelo, después sales y de nuevo vuelves a entrar al phone_app.cxc y remueves el parche que habías colocado, después sales y Listo!

Saludos ..

Cr@cShoT
27/01/2011, 16:33:47
Hola, disculpuen como agrego mas espacio a mi phone_app.cxc, es que intento aplicar un parche con el ida y no me lo permite.
Me mencionaron que esto se hace con el winhex pero no se en donde :(, no se si me podrian facilitar un tutorial
gracias de antemano

De preferencia aplicale un vkp "falso" con la direccion, por ejemplo:

15fff000: 00 00

Lo aplicas y lo remueves, eso te servira para que no estes creando un IDB cada vez que te toque un parche con direccion mas lejana

SoLiDuS
27/01/2011, 18:39:43
Ya pude abrir el phone_app con el ida

estoy intentando portar este parche


;W995 SW-R1GA026
;??????????? ?????? ???????? ??? SIM-?????
;???????? ??? ????? ???????, ??? ??????? ?????????? ??????? ?????
;Original idea by Zormax aka mobilefree
;v.1.2
;(c) 2007KrasH
;(p) HotRabbit (Mobilefree.Ru)
;pAtChFiLe=/boot/phone_app.cxc
15D0A594: 495B0415 0129E215
15E22900: 00000000000000000000000000000000 12B582B00C1C694600200870019001A8
15E22910: 00000000000000000000000000000000 00F00DF80198002803D1211C00F009F8
15E22920: 00000000000000000000000000000000 02E0211C00F007F802B0012012BD034B
15E22930: 00000000000000000000000000000000 1847034B1847034B1847FFFF6D883314
15E22940: 0000000000000000 0565DA14495B0415

Y me da este ASM


include "x.inc"
------------hoock-------------
Org 0x15D0A594;
CMP R1, 1
ASR R2, R4, 0x17

-----------new code------------------
org 0x15E22900:
PUSH {R1,R4,LR}
SUB SP, SP, 8
ADD R4, R1, 0
MOV R1, SP
MOV R0, 0
STRB R0, [R1]
STR R0, [SP,4]
ADD R0, SP, 4
BL sub_15E2292E
LDR R0, [SP,4]
CMP R0, 0
BNE loc_15E22922
ADD R1, R4, 0
BL sub_15E22932
B loc_15E22928


loc_15E22922:
ADD R1, R4, 0
BL sub_15E22936

loc_15E22928:
ADD SP, SP, 8
MOV R0, 1
POP {R1,R4,PC}

sub_15E2292E:
LDR R3, off_15E2293C
BX R3

sub_15E22932:

LDR R3, off_15E22940
BX R3

sub_15E22936:

LDR R3, off_15E22944
BX R3

align 4
off_15E2293C dw 0x1433886C+1
off_15E22940 dw 0x14DA6504+1
off_15E22944 dw 0x15045B48+1



No se que le falte todavia o si este bien desensamblado :p

kevinbgp
27/01/2011, 19:04:13
hola amigo, tienes un error, esta aqui.

Org 0x15D0A594;
CMP R1, 1
ASR R2, R4, 0x17

ese hook se analiza con D o con O, eso es un entrypoint, tu lo analizaste con C, ese es el enlace al newcode.
saludos...

SoLiDuS
28/01/2011, 14:33:32
ok, lo volvi a anilizar y me dio


Org 0x15D0A594;
DCD 0x15E22901Yo creo que si asi debe quedar el hoock :)

Pd:
El asm anterior solo tenie ese error?
----------------------------------------------------------------------------------------------------------
Edito:

volvi a revisar el asm y tenia un error, ahora si aqui esta


include "x.inc"

;----hoock------
org 0x15D0A594
dw loc_15E22900+1
;----new code-----
org 0x15E22900
loc_15E22900:
PUSH {R1,R4,LR}
SUB SP, SP, 8
ADD R4, R1, 0
MOV R1, SP
MOV R0, 0
STRB R0, [R1]
STR R0, [SP,4]
ADD R0, SP, 4
BL sub_15E2292E
LDR R0, [SP,4]
CMP R0, 0
BNE loc_15E22922
ADD R1, R4, 0
BL sub_15E22932
B loc_15E22928
loc_15E22922:
ADD R1, R4, 0
BL sub_15E22936
loc_15E22928:
ADD SP, SP, 8
MOV R0, 1
POP {R1,R4,PC}
sub_15E2292E:
LDR R3, off_15E2293C
BX R3
sub_15E22932:

LDR R3, off_15E22940
BX R3
sub_15E22936:
LDR R3, off_15E22944
BX R3

align 4
off_15E2293C dw 0x1433886C+1
off_15E22940 dw 0x14DA6504+1
off_15E22944 dw 0x15045B48+1


Ahora otra pregunta...como ejecuto el compilador?

kevinbgp
28/01/2011, 15:39:08
ok mira amigo ya el asm se ve correcto. con respecto al compilador, yo tengo dos, el ARMPC y el compilador java, no se cual de los dos tengas.si es el de java, solo pones la base, buscas el main, el asm, y listo compilas.si es el armpc necesitas meter el phone_app.cxc en la carpeta del armpc, al igual que el asm, y le das doble click al archivo CMD.EXE y ahi pones el comando MAKE NOMBRE.ASM PHONE_APP.CXC, y listo amigo te crea el parche, cualquier duda posteala aqui amigo.saludos

SoLiDuS
28/01/2011, 16:18:35
No tengo el compilador java pero si el de la pagina de den_po, pero no viene el archivo cmd.exe :(

sotel
28/01/2011, 16:26:29
El cmd lo puedes abrir desde windows.
Vas a inicio y le das ejecutar y en la ventana que te aparece escribes : cmd y asi te abrirá la ventana del cmd.

kevinbgp
28/01/2011, 16:47:58
o tambie si quieres tener el archivo en el compilador, que es como lo hago yo, te vas a esta ruta en la pc.
inicio - mi pc - disco local c - windows - system 32 - y aqui ubicas el archivo CMD.EXE y lo copias al compilador y eso seria todo..
saludos

Cr@cShoT
28/01/2011, 21:52:47
No tengo el compilador java pero si el de la pagina de den_po, pero no viene el archivo cmd.exe :(

Te conviene el Armpc, ya que para compilar parches largos te detecta automaticamente la base y no hay necesidad de agrandar el cxc, ya quer con el java si tienes que saber que base tiene tu cxc y agregarle bytes en "blanco" o sea ceros... dependiendo de que tan lejos este ocupando lineas en el cxc

SoLiDuS
29/01/2011, 14:31:30
ya pude compilarlo pero el parche salio asi


15d0a594: 00000000 0129E215
15e22900: 00000000000000000000000000000000 12B582B00C1C694600200870019001A8
15e22910: 00000000000000000000000002000100 00F00DF80198002803D1211C00F009F8
15e22920: EA4D8D914F49872FEC3D67C491044D1D 02E0211C00F007F802B0012012BD034B
15e22930: 42BCBF4000C0E201706D09000000F017 1847034B1847034B1847FFFF6D883314
15e22940: 0010000000B0E201 0565DA14495B0415

y deberia ser asi

15E22900: 00000000000000000000000000000000 12B582B00C1C694600200870019001A8
15E22910: 00000000000000000000000000000000 00F00DF80198002803D1211C00F009F8
15E22920: 00000000000000000000000000000000 02E0211C00F007F802B0012012BD034B
15E22930: 00000000000000000000000000000000 1847034B1847034B1847FFFF6D883314
15E22940: 0000000000000000 0565DA14495B0415

Cr@cShoT
29/01/2011, 15:55:22
ya pude compilarlo pero el parche salio asi


15d0a594: 00000000 0129E215
15e22900: 00000000000000000000000000000000 12B582B00C1C694600200870019001A8
15e22910: 00000000000000000000000002000100 00F00DF80198002803D1211C00F009F8
15e22920: EA4D8D914F49872FEC3D67C491044D1D 02E0211C00F007F802B0012012BD034B
15e22930: 42BCBF4000C0E201706D09000000F017 1847034B1847034B1847FFFF6D883314
15e22940: 0010000000B0E201 0565DA14495B0415

y deberia ser asi

15E22900: 00000000000000000000000000000000 12B582B00C1C694600200870019001A8
15E22910: 00000000000000000000000000000000 00F00DF80198002803D1211C00F009F8
15E22920: 00000000000000000000000000000000 02E0211C00F007F802B0012012BD034B
15E22930: 00000000000000000000000000000000 1847034B1847034B1847FFFF6D883314
15E22940: 0000000000000000 0565DA14495B0415

Que compilador usaste? al parecer es el java, lo que indica que debes agregarle mas 00000 al cxc, pero como es un parche corto, si lo haces manualmente tambien deberia funcionar

SoLiDuS
29/01/2011, 16:29:17
Es un compilador viejo ya que el de la pagina de den_po no me deja compilar y el java no lo he encontrado :p

DaRkMaN
29/01/2011, 19:25:48
Es un compilador viejo ya que el de la pagina de den_po no me deja compilar y el java no lo he encontrado :p
Te dejo el Armpc que yo utilizo ;)

Saludos ..

SoLiDuS
29/01/2011, 20:11:38
Ya pude compilar sin ningun problema...ahora una preguntas mas...

como utilizo el patsearchnt o que otro progama puedo utilizar??
tambien tengo que aumentar el tamaño del phone_app.cxc del modelo al que voy a portar?

Cr@cShoT
30/01/2011, 00:33:57
Ya pude compilar sin ningun problema...ahora una preguntas mas...

como utilizo el patsearchnt o que otro progama puedo utilizar??
tambien tengo que aumentar el tamaño del phone_app.cxc del modelo al que voy a portar?

Otra opciones que tienes es el Smelter, pero personalmente prefiero el patsearchnt, a ese no necesitas agregarle lineas al CXC solo la base de tu cxc (dependiendo de la version que tengas)

albertnet3
14/02/2011, 21:49:23
ola bro nesecito que me digas este parche que le faltal

;W760 SW-R3EF001
;ifs/settings/camera A card/other/camera
;(c) rAcEr
;pAtChFiLe=/boot/phone_app.cxc
+FFFE000
14A60C: 2F006900660073 2F63007200610072006400
14A61C: 2F00730065007400740069006E00670073 2F6F007400680065007200
14A62C: 2F630061006D00650072006100 2F630061006D00650072006100

yo ya lo prober y no funciona

Acavo de checar en el ida y si esta mal la base con el offset ke estas sumando no dan el full offset correcto a la ruta ke estas intentando cambiar sabes portar? si es asi mejor abre ida y usa full offset es mas facil ya porte el correcto offset
es este:

org 0x11FFEB78
aIfsSettingsCam du "/card/other/camera ",0
y la ruta original es esta

;aIfsSettingsCam du "/ifs/settings/camera",0si te das cuenta la ruta vieja tiene mas caracteres que la ruta que estas queriendo poner entonces si lo haces en asm
pones la ruta y al final le agregas los espacios faltantes para rellenar todos los caracteres usados por la ruta original o si lo haces por editor hexa reemplazas los caracteres sobrantes por 0000 en este caso la ruta vieja usa 20 caracteres y tu ruta nueva solo usa 18 entonces le agrege dos espacios para que se llenen los 20 caracteres de la ruta original para que quede bien tu nueva ruta. espero me allas entendido ;)
y tambien igual no te iva a funcionar por mas que hubieces tenido el offset correcto por que tambien pusiste mal la ruta en tu parche lo pusiste asi bro
/crard/other/camera
y deveria ser como te lo puse arriba

aIfsSettingsCam du "/card/other/camera ",0

rAcEr
14/02/2011, 22:23:54
entonces lo puedes armar bien el parche para probarlo ya te entendi pero nesecito que lo armes jejejeje

rAcEr
26/02/2011, 00:03:51
Ya pude compilar sin ningun problema...ahora una preguntas mas...

como utilizo el patsearchnt o que otro progama puedo utilizar??
tambien tengo que aumentar el tamaño del phone_app.cxc del modelo al que voy a portar?

Otra opciones que tienes es el Smelter, pero personalmente prefiero el patsearchnt, a ese no necesitas agregarle lineas al CXC solo la base de tu cxc (dependiendo de la version que tengas)

ayuda con mi nuevo codigo me sale esto quiero pasarlo al w760

pues este es el parche original

;W595 SW-R3EF001
;Cambia el color del borde de las ventanas Pop-up y la entrada del Standby
;(c) HotRabbit
;(p) DaRkMaN
;pAtChFiLe=/boot/phone_app.cxc
109C90E2: 6B464880598AF980726A306AFF210906 024904E0C046C046C04641307A128847
127A3040: 000000000000000000000000 6B4657805A8A01497047FFFF
127A304C: 00000000 FF9933FF ;Color del borde

y este es el resultado del programa ARM Patch Compiler

109c90e2: E069002809D1A269002A52D0101C1268 024904E0C046C046C04641307A128847
127a3040: 81CF31FD4EACDE64944D8D1874F963CC 6B4657805A8A01497047FFFFFF9933FF

pienso yo que esto ya es compilado

segui el tuto de Como poner Nuevo código a un Parche y Como se redirecciona un Parche

pues y se todo y este fue mi resultado del 12844540

lo reste mi offset disponible que es este 12844540 - 109C90E2 = 12844540 y el resultado sigue siendo el mismo

y ya me quedaria asi no?????????

;W760 SW-R3EF001
;Cambia el color del borde de las ventanas Pop-up y la entrada del Standby
;(c) HotRabbit
;(p) rAcEr
109c90e2: E069002809D1A269002A52D0101C1268 024904E0C046C046C04641307A128847
127a3040: 81CF31FD4EACDE64944D8D1874F963CC 6B4657805A8A01497047FFFFFF9933FF
12844540: 00000000 FF9933FF ;Color del borde

en el far me sale mismach 16/36 bytes

ayuda :a07:

y como funciona? Por que le hago doble click y me sale una pantalla negra y rapido se quita y aparte estan dos exe y pues no se cuales el que compila

Editado por Heber
Razón: Mensajes consecutivos - Use el botón http://img577.imageshack.us/img577/4339/sinttulo3b.png

05M4N
26/02/2011, 20:08:31
Te falta cambiarle el espacio vacio en el firm. Del parche que lo estas portando tiene el espacion libre 0x127A3040 y es el mismo que tiene el parche que compilaste; cambiaselo a uno que este vacio en tu firm y te funcionara. Salu2

rAcEr
26/02/2011, 21:22:31
Te falta cambiarle el espacio vacio en el firm. Del parche que lo estas portando tiene el espacion libre 0x127A3040 y es el mismo que tiene el parche que compilaste; cambiaselo a uno que este vacio en tu firm y te funcionara. Salu2

y como puedo ver el espacio de mi firm????????????' oo los offset disponibles???

laurafarsa
26/02/2011, 23:50:40
pues usa IDA y selecciona un espacion en blanco, no?

albertnet3
26/02/2011, 23:51:44
Te falta cambiarle el espacio vacio en el firm. Del parche que lo estas portando tiene el espacion libre 0x127A3040 y es el mismo que tiene el parche que compilaste; cambiaselo a uno que este vacio en tu firm y te funcionara. Salu2

y como puedo ver el espacio de mi firm????????????' oo los offset disponibles???
pues si te fijas puedes usar el ultimo espacio usado por un parche sumandole +10 en hexadecimal ejemplo por lo que vi este es el ultimo parche que se a portado a tu firmware:
;W760 SW-R3EF001
;Add a new item Radio on the menu "Start phone"
;(i) Need to use patch "The work of the radio in Flight Mode"
;(c) Tartes
;(e1) jamesbond22
;(e2) albertnet3
;(e3) DaRkMaN
;(p) Josthyn
;changue Style GUI of the items
;add:
;+calendar
;+sound recorder
;+camera
;Added:
;+FileManager
;+Calculator
;+Stopwatch
;pAtChFiLe=/boot/phone_app.cxc
y el codigo usado para este parche fue este:
128442F0 - 12844530
entonces ahora al ultimo offset usado le sumas +10 en hexadecimal y ya tienes tu espacio libre entonces ahora a 12844530 le sumas +10 y te da 12844540 y ya tienes un nuevo espacio libre para usar en el parche que portes o quieras hacer.

Juanchy
10/03/2011, 15:44:54
hola tengo una duda! alguien podria indicarme como encontrar este valor en el siguiente parche?

dw 0x2004AE78 ;2004FFE0
esta direccion ZuRyMX/ALTHOM la encontro en un patch portado por mns81 pero una version anterior v1.2 de no ser por este no lo hubiese podido portar. alguien me indica com encontrar esto?

el parche funciona solo quisiera saber como encontrar esto

se porto de W580 R8BE001 a W710 R1CJ002


include "x.inc"
;w710 SW-R1CJ002
;draw the background of the menu 'Options. "with the menu background theme
;Fixed bugs in fullscreen otrisovok books
;Changed the animation menu appears
;© Therion & Va_st
;(p) ZuRyMX/ALTHOM
;(r) MSN81
;alt. version 1.5


;fun1
org 0x453673E0 ;4537F76C
dword_4537F76C dw 0x68200168

;fun2
org 0x452EE1C0 ;45306A0C
LDR R3, saltox1
BX R3

align 4
saltox1 dw hook4+1

;fun3
org 0x452EE2DE ;45306B3E
LDR R3, saltox2
BX R3

NOP
align 4
saltox2 dw hook3+1

;fun4
org 0x452F0632 ;45308E92
LDR R1, saltox3
BLX R1
B 0x452F063C ;45308E9C

align 4
saltox3 dw hook2+1


;fun5
org 0x45367386 ;4537F712
LDR R1, saltox4
BLX R1
B 0x45367390 ;4537F71C

align 4
saltox4 dw patch+1


;fun 6
org 0x452F061C ;45308E7C
LDR R1, saltox5
BLX R1
B 0x452F0628 ;45308E88

NOP
align 4
saltox5 dw hook1+1


;patch
org 0x45565340 ;45DD9000
patch:
PUSH {R1-R7,LR}
LDR R4, dword_45DD90C8
LDR R0, [R4]
LDR R3, off_45DD90AC
BLX R3
LDR R3, off_45DD90B0
BLX R3
LDR R3, off_45DD90B4
BLX R3
CMP R0, 0
BEQ loc_45DD9016

loc_45DD9016:
LDR R0, [R4,8]
POP {R1-R7,PC}



hook1:

PUSH {R1-R7,LR}
LDR R4, dword_45DD90C8
LDR R0, [R4]
LDR R3, off_45DD90AC
BLX R3
LDR R3, off_45DD90B0
BLX R3
LDR R3, off_45DD90B4
BLX R3
CMP R0, 0
BEQ loc_45DD9030

loc_45DD9030:
LDR R0, [R4,8]
POP {R1-R7,PC}


hook2:

PUSH {R0-R5,LR}
LDR R5, [SP,0x14]
MOV R1, 1
ADD R0, R5, 0
LDR R3, off_45DD90B8
BLX R3
ADD R0, R5, 0
LDR R3, off_45DD90BC
BLX R3
LDR R1, dword_45DD90C4
ADD R0, R5, 0
LDR R3, off_45DD90C0
BLX R3
STR R5, [SP]
POP {R0-R5,PC}


hook3:
MOV R1, 1
MOV R0, 0x2F
BL sub_45DD90A4
LSL R0, R0, 8
LSR R0, R0, 8
MOVL R1, 0xFF000000
ADD R0, R0, R1
MOVL R1, 0x2F000000
SUB R0, R0, R1
ADD R1, R0, 0
LDR R0, [SP,0x48]
BL sub_45DD90A0
ADD R0, SP, 0x50
LDRB R0, [R0]
LDR R3, off_45DD90CC
BX R3



hook4:

MOV R1, 1
MOV R0, 0x2F
BL sub_45DD90A4
LSL R0, R0, 8
LSR R0, R0, 8
MOVL R1, 0xFF000000
ADD R0, R0, R1
MOVL R1, 0x4F000000
SUB R0, R0, R1
ADD R1, R0, 0
ADD R0, R4, 0
BL sub_45DD90A0
ADD R0, R4, 0
LDR R3, off_45DD90D0
BX R3





sub_45DD90A0:
LDR R3, off_45DD90D4
BX R3






sub_45DD90A4:
LDR R3, off_45DD90D8
BX R3


align 4
dw 0x2004AE78 ;2004FFE0
off_45DD90AC dw 0x45345124+1 ;4535D6D4+1
off_45DD90B0 dw 0x45289A88+1 ;452ADCB4+1
off_45DD90B4 dw 0x4528A9F0+1 ;452AEC2C+1
off_45DD90B8 dw 0x453426B4+1 ;4535AD50+1
off_45DD90BC dw 0x453420B4+1 ;4535A750+1
off_45DD90C0 dw 0x453449C4+1 ;4535CF74+1
dword_45DD90C4 dw 0x66000100
dword_45DD90C8 dw 0x2004AE78 ;2004FFE0
off_45DD90CC dw 0x452EE2EA+1 ;45306B4A+1
off_45DD90D0 dw 0x452EE1CA+1 ;45306A16+1
off_45DD90D4 dw 0x45344910+1 ;4535CEC0+1
off_45DD90D8 dw 0x4536BFC4+1 ;45384460+1

Cr@cShoT
11/03/2011, 00:28:04
hola tengo una duda! alguien podria indicarme como encontrar este valor en el siguiente parche?

dw 0x2004AE78 ;2004FFE0
esta direccion ZuRyMX/ALTHOM la encontro en un patch portado por mns81 pero una version anterior v1.2 de no ser por este no lo hubiese podido portar. alguien me indica com encontrar esto?

el parche funciona solo quisiera saber como encontrar esto

se porto de W580 R8BE001 a W710 R1CJ002


include "x.inc"
;w710 SW-R1CJ002
;draw the background of the menu 'Options. "with the menu background theme
;Fixed bugs in fullscreen otrisovok books
;Changed the animation menu appears
;© Therion & Va_st
;(p) ZuRyMX/ALTHOM
;(r) MSN81
;alt. version 1.5


;fun1
org 0x453673E0 ;4537F76C
dword_4537F76C dw 0x68200168

;fun2
org 0x452EE1C0 ;45306A0C
LDR R3, saltox1
BX R3

align 4
saltox1 dw hook4+1

;fun3
org 0x452EE2DE ;45306B3E
LDR R3, saltox2
BX R3

NOP
align 4
saltox2 dw hook3+1

;fun4
org 0x452F0632 ;45308E92
LDR R1, saltox3
BLX R1
B 0x452F063C ;45308E9C

align 4
saltox3 dw hook2+1


;fun5
org 0x45367386 ;4537F712
LDR R1, saltox4
BLX R1
B 0x45367390 ;4537F71C

align 4
saltox4 dw patch+1


;fun 6
org 0x452F061C ;45308E7C
LDR R1, saltox5
BLX R1
B 0x452F0628 ;45308E88

NOP
align 4
saltox5 dw hook1+1


;patch
org 0x45565340 ;45DD9000
patch:
PUSH {R1-R7,LR}
LDR R4, dword_45DD90C8
LDR R0, [R4]
LDR R3, off_45DD90AC
BLX R3
LDR R3, off_45DD90B0
BLX R3
LDR R3, off_45DD90B4
BLX R3
CMP R0, 0
BEQ loc_45DD9016

loc_45DD9016:
LDR R0, [R4,8]
POP {R1-R7,PC}



hook1:

PUSH {R1-R7,LR}
LDR R4, dword_45DD90C8
LDR R0, [R4]
LDR R3, off_45DD90AC
BLX R3
LDR R3, off_45DD90B0
BLX R3
LDR R3, off_45DD90B4
BLX R3
CMP R0, 0
BEQ loc_45DD9030

loc_45DD9030:
LDR R0, [R4,8]
POP {R1-R7,PC}


hook2:

PUSH {R0-R5,LR}
LDR R5, [SP,0x14]
MOV R1, 1
ADD R0, R5, 0
LDR R3, off_45DD90B8
BLX R3
ADD R0, R5, 0
LDR R3, off_45DD90BC
BLX R3
LDR R1, dword_45DD90C4
ADD R0, R5, 0
LDR R3, off_45DD90C0
BLX R3
STR R5, [SP]
POP {R0-R5,PC}


hook3:
MOV R1, 1
MOV R0, 0x2F
BL sub_45DD90A4
LSL R0, R0, 8
LSR R0, R0, 8
MOVL R1, 0xFF000000
ADD R0, R0, R1
MOVL R1, 0x2F000000
SUB R0, R0, R1
ADD R1, R0, 0
LDR R0, [SP,0x48]
BL sub_45DD90A0
ADD R0, SP, 0x50
LDRB R0, [R0]
LDR R3, off_45DD90CC
BX R3



hook4:

MOV R1, 1
MOV R0, 0x2F
BL sub_45DD90A4
LSL R0, R0, 8
LSR R0, R0, 8
MOVL R1, 0xFF000000
ADD R0, R0, R1
MOVL R1, 0x4F000000
SUB R0, R0, R1
ADD R1, R0, 0
ADD R0, R4, 0
BL sub_45DD90A0
ADD R0, R4, 0
LDR R3, off_45DD90D0
BX R3





sub_45DD90A0:
LDR R3, off_45DD90D4
BX R3






sub_45DD90A4:
LDR R3, off_45DD90D8
BX R3


align 4
dw 0x2004AE78 ;2004FFE0
off_45DD90AC dw 0x45345124+1 ;4535D6D4+1
off_45DD90B0 dw 0x45289A88+1 ;452ADCB4+1
off_45DD90B4 dw 0x4528A9F0+1 ;452AEC2C+1
off_45DD90B8 dw 0x453426B4+1 ;4535AD50+1
off_45DD90BC dw 0x453420B4+1 ;4535A750+1
off_45DD90C0 dw 0x453449C4+1 ;4535CF74+1
dword_45DD90C4 dw 0x66000100
dword_45DD90C8 dw 0x2004AE78 ;2004FFE0
off_45DD90CC dw 0x452EE2EA+1 ;45306B4A+1
off_45DD90D0 dw 0x452EE1CA+1 ;45306A16+1
off_45DD90D4 dw 0x45344910+1 ;4535CEC0+1
off_45DD90D8 dw 0x4536BFC4+1 ;45384460+1

Primero, busca que ese offset no sea una funcion de libreria, verifica eso, segundo... podria ser un offset "Heapshift" pero segun el comentario de tu parche no lo es... lo mas seguro es que sea una funcion de libreria, en todo caso, si no lo fuera, inviertelo y buscalo en un editor hexa

anarkes
11/03/2011, 01:29:01
Es una direccion de heap (NO heapshift), para portarlo puedes hacer lo que dice cr@cshot "inviertelo"


2004FFE0 = E0,FF,04,20

y busca coincidencias en PatSearch, ese es del w580 R8BE001 verdad?

Juanchy
11/03/2011, 16:40:26
si es de w580, entonces se busca solo invertido!! seria la direccion de origen ahi buscar los valores que contenga cierto?

edito: no entendi como hacer la busqueda jajaja xD

podrian ser un poquito mas especificos xD si no es mucho pedir

y alguien puede postear el lib2func porfa o indiquenme donde lo encuentro!!

laurafarsa
12/03/2011, 14:58:38
pues ya te dijeron como lo inviertas(E0,FF,04,20)
yo esas direcciones las busco en IDA del firm original y despues porto la direccion en la que se encuentra como cualquier otro offset


aqui esta el lib2func yael - Revision 47: /elfloader/_Utils (http://svn.assembla.com/svn/yael/elfloader/_Utils/)

Juanchy
12/03/2011, 19:41:57
ok busque el valor ya invertido pero me aparecen muchos :a23:, como saber cual de todos es!!!

gracias laura por el lib2func...

albertnet3
12/03/2011, 19:42:53
si es de w580, entonces se busca solo invertido!! seria la direccion de origen ahi buscar los valores que contenga cierto?

edito: no entendi como hacer la busqueda jajaja xD

podrian ser un poquito mas especificos xD si no es mucho pedir

y alguien puede postear el lib2func porfa o indiquenme donde lo encuentro!!
es mas facil con hexworkshop.exe o winhex.exe
es un editor hexadecimal
y lo que haces es como te dijo laura invertir la instruccion a la ram en el main original y lo inviertes mas facil con entrypoint que esta aqui posteado
EntryPoint Converter.exe-TopSony (http://www.topsony.com/forum_es/desarrolladores-f200/entrypoint-converter-exe-t128000.html)


pones el valor en donde dice offset y en el ultima linea te dara el entrypoint osea el offset invertido
luego abres tu main en hexworkshop y presionas alt+F y pegas ahi el entrypoint luego das click a aceptar y ahi te buscara ese valor una ves encontrado te posisionas de donde empiesa ese valor 4bytes antes o despues lo copias abres el main al que quieres portar la instruccion a ram en otra pestaña presionas alt+F y pegas ahi lo que copiaste y lo buscara te dara el resultado y si lo encontro entonces acuerdate que despues de esos 4bytes que buscaste estara tu instruccion asia la ram que portaste

Juanchy
12/03/2011, 19:51:13
hice exacto loque dices albernet3 pero al momento de buscar en el hexadecimal (uso el HxD) me aparecieron muchos vlalores identicos y no se cual tomar de todos! :a26:

anarkes
12/03/2011, 20:47:49
Continuo con la manera que yo uso:

Despues de que buscas con el patsearch, te salen aproximadamente 12 coincidencias, seleccionamos la primera 4537CE38 y nos dirigimos a ella en el IDB. Ya estando hay veremos lo siguente:

ROM:4537CE38 E0 FF 04 20 dword_4537CE38 DCD 0x2004FFE0 ; DATA XREF: sub_4537CCB4+2r
ROM:4537CE38 ; sub_4537CD48+2r

Haces doble click sobre sub_4537CCB4+2r y te llebara a el principio de esa funcion 4537CCB6 en otras palabras donde se llama esa direccion de heap. Ahora hay seleccionas algo de codigo (con el cual buscaremos en el nuevo firm)

Yo seleccione:

ROM:4537CCB6 60 4D LDR R5, dword_4537CE38
ROM:4537CCB8 04 1C ADD R4, R0, #0
ROM:4537CCBA 28 68 LDR R0, [R5]
ROM:4537CCBC 00 28 CMP R0, #0
ROM:4537CCBE 42 D0 BEQ loc_4537CD46
ROM:4537CCC0 5E 4A LDR R2, off_4537CE3C
ROM:4537CCC2 2E 1C ADD R6, R5, #0
ROM:4537CCC4 30 36 ADD R6, #0x30
ROM:4537CCC6 30 68 LDR R0, [R6]
ROM:4537CCC8 21 1C ADD R1, R4, #0


Ya limpio

??,4D
??,1C
??,68
??,28
??,D0
??,4A
??,1C
??,36
??,68
??,1C

Y ahora eso usaremos para buscar en el nuevo firm.

Y por ejemplo busque en un w380 R11CA002 y me dio de resultado 211236AE.

Despues vamos a ese offset en el nuevo firm (en mi caso 211236AE) y notaremos que hay un LDR, Rx, cualquierNombre hacemos clic sobre el nombre (en mi caso dword_21123828) y eso nos llebara a un nuevo offset donde esta algo asi:
dword_21123828 DCD 0x48040DE8
Y listo, ya lo he portado mi heap para w380 seria 0x48040DE8.

Nota: Esto era a lo que se referia laura :)

Espero haberme dado a entender :).
Saludos.

rAcEr
02/06/2011, 01:52:45
alguien me puede ayudar por que me sale esto en el Armpc


Microsoft Windows XP [Versión 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
C:\Documents and Settings\Administrador>cd \armpc
C:\Armpc>make tu.asm phone_app.raw
No se encuentra C:\Armpc\tu.asm.vkp
flat assembler for ARM version 1.67.22 (808872 kilobytes memory)
tu.asm [13]:
LDR R1, dword_10840278
x.inc [109] ldr [24]:
ldr rg , [pc,(p1-($ and 0xFFFFFFFC)-4)]
error: undefined symbol.
cant open temp.bin
No se encuentra C:\Armpc\temp.bin

este es mi asm


include "x.inc"
loc_108401A4:
LDR R3, off_108401A8
BLX R3
off_108401A8 dw loc_12789FD0+1

loc_108401AC:

LDR R1, dword_10840278
LDR R0, [R6]
BL 0x1080D710
LDR R0, [R6]
MOV R1, 2
BL 0x10A641E8
LDR R0, [R6]
LDR R1, off_1084027C
BL 0x10A66AFC
ADD R1, R5, 0
ADD R0, R7, 0
BL 0x10C3E0EC
CMP R0, 0
BEQ 0x108401E0
LDR R0, [R6]
MOV R1, 1
BL 0x10B63F08
LDR R0, [R6]
MOV R1, 1
BL 0x10B63F10
loc_108401E0:
LDR R0, [R6]
MOV R1, 2
BL sub_10B63EE8
LDR R0, [R6]
BL sub_109D2184
MOV R1, 0
ADD R0, R4, 0
BL 0x1083FBF4
B 0x108400D4
;------Cuerpo---
loc_12789FD0:

LDRH R1, [R6,0xC]
LDR R0, [R6]
LDR R3, off_12789FE4
BLX R3
MOV R1, 4
LDR R0, [R6]
LDR R3, off_12789FE8
BLX R3
LDR R2, off_12789FEC
BX R2
off_12789FE4 dw 0x11A7DE30+1
off_12789FE8 dw 0x109D21DC+1
off_12789FEC dw 0x108401AC+1


los que pasa es que quiero compilar este parche
;W595 SW-R3EF001
;Show fullscreen in Inbox, Drafts, Sent Messages and Saved messages
;Mostrar a pantalla completa en la Bandeja de entrada, borradores, mensajes enviados y guardados los mensajes
;(c) Antoniomun
;(p) Thilina
;pAtChFiLe=/boot/phone_app.cxc
108401A4: B189306826F2A4FC 004B9847D19F7812
12789FD0: 00000000000000000000000000000000 B1893068034B984704213068024B9847
12789FE0: 00000000000000000000000000000000 024A104731DEA711DD219D10AD018410

y lo quiero pasar al w760 alguien me guia con ese error

les dejo abjuntos los archivos

Heber
02/06/2011, 02:04:28
De donde salio esta parte marcada con rojo? porque la pusiste? no veo que sea del hook ni del codigo nuevo :a18: lo que te esta marcando indefinido esta ahi, lo puse con azul


include "x.inc"
loc_108401A4:
LDR R3, off_108401A8
BLX R3
off_108401A8 dw loc_12789FD0+1

loc_108401AC:

LDR R1, dword_10840278
LDR R0, [R6]
BL 0x1080D710
LDR R0, [R6]
MOV R1, 2
BL 0x10A641E8
LDR R0, [R6]
LDR R1, off_1084027C
BL 0x10A66AFC
ADD R1, R5, 0
ADD R0, R7, 0
BL 0x10C3E0EC
CMP R0, 0
BEQ 0x108401E0
LDR R0, [R6]
MOV R1, 1
BL 0x10B63F08
LDR R0, [R6]
MOV R1, 1
BL 0x10B63F10
loc_108401E0:
LDR R0, [R6]
MOV R1, 2
BL sub_10B63EE8
LDR R0, [R6]
BL sub_109D2184
MOV R1, 0
ADD R0, R4, 0
BL 0x1083FBF4
B 0x108400D4
;------Cuerpo---
loc_12789FD0:

LDRH R1, [R6,0xC]
LDR R0, [R6]
LDR R3, off_12789FE4
BLX R3
MOV R1, 4
LDR R0, [R6]
LDR R3, off_12789FE8
BLX R3
LDR R2, off_12789FEC
BX R2
off_12789FE4 dw 0x11A7DE30+1
off_12789FE8 dw 0x109D21DC+1
off_12789FEC dw 0x108401AC+1


Quita esa parte (todo lo rojo y lo azul) e intenta compilar de nuevo.

rAcEr
06/06/2011, 21:48:46
ya le hice y pues no me compila nada te dejo mis pruebas


Microsoft Windows XP [Versión 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
C:\Documents and Settings\Administrador>cd \armpc
C:\Armpc>make tu.asm phone_app.raw
No se encuentra C:\Armpc\tu.asm.vkp
flat assembler for ARM version 1.67.22 (907561 kilobytes memory)
2 passes, 40 bytes.
:-/
C:\Armpc>

te dejo mi asm.vkp

Josthyn
06/06/2011, 22:41:40
ya le hice y pues no me compila nada te dejo mis pruebas



te dejo mi asm.vkp



C:\Armpc>make tu.asm phone_app.raw

La extension del phone.app es "cxc" no "raw", de donde me sacar el raw???, raw solo se usa para los db2010/20 no en A2.

zyonyluc
27/08/2012, 19:08:59
que tal amigos

estoy iniciandome en esto de portar parches y quiero portar este:


;C510 SW-R1HA035
;Vibra en una llamada saliente cuando el receptor contesta
;(c) IronMaster
;(p) Ax
;pAtChFiLe=/boot/phone_app.cxc
1504B490: 24342078 27488047
1504B530: 180A0000 A154D215
15D254A0: 00000000000000000000000000000000 24342078FFB581B06846064988470098
15D254B0: 00000000000000000000000000000000 7D21C90032220B1C0668D4003659B047
15D254C0: 0000000000000000 01B0FFBD1DA3DB14

lo tengo en mi c510 y funciona bien pero lo quiero para mi c905 ya cree el asm pero porfavor diganme si esta bien o que estoy haciendo mal, este es el ams:


include "x.inc" ;<---------- Incluye el archivo necesario a la hora de compilar

org 0x1504B490
STRMI R4, [R0,R7,LSR#16]
ANDNV R7, R0, R1,ROR#16
STMVCDA R1!, {R0,R1,R5,R6,R11-PC}
ANDNV R1, R0, R8,LSR#24
STMCSDA R0, {R0,R1,R3,R4,R6,R11-PC}
ANDCS SP, R1, R1,LSL#2
SBCCSS R11, R10, #0x3C00
STMNEIA LR!, {R1,R4,R6}
STRCSH R6, [R0],-R1
ADDMI R4, R1, #3
ANDCS SP, R2, R2
STMNVDA R4, {R12-PC}^
LDMNVDA R2, {R12-PC}^
TSTLE R0, R0,LSL#16
STRNVB R1, [R6,#-0xC28]
STMCSDA R0, {R0,R2,R11-PC}
STCNE p0, c13, [R8],#-0x2C!
LDMNVDA R0, {R12-PC}^
LDMNVDA R2, {R12-PC}^
TSTLE R1, R2,LSL#16
AND R2, R0, R2
BICNV R2, R12, #1
ANDCS PC, R0, #0x114000
ANDCS R1, R1, R1,LSL R12
LDMNVDA R6, {R12-PC}^
STRNVB R1, [R4,#-0xC28]!



org 0x1504B530
LDRNEB R5, [R2,#0x4A1]
ANDEQ R0, R0, LR,ASR#29
SWIVS 0xFFFFFF
STRNE R12, [R3,#0x504]!
LDRMI R4, [R8,-R0,LSL#22]
LDRNE R9, [R2],#-0x3FD
LDRMI R4, [R8,-R0,LSL#22]
LDRNE R4, [PC],#-0x64D
LDRMI R4, [R8,-R0,LSL#22]
LDRNE R10, [R7],#-0x7F1
LDRMI R4, [R8,-R0,LSL#22]
STRNET R7, [R1],#-0xEA1
LDRMI R4, [R8,-R0,LSL#22]
STRNET R7, [R1],#-0xE6D
LDRMI R4, [R8,-R0,LSL#22]
STRNE R10, [R11],#-0xF95
LDRMI R4, [R8,-R0,LSL#22]
LDRNEB R1, [R9],#0x4D9
LDRMI R4, [R8,-R0,LSL#22]
STRNEB R10, [R6],#-0x7E1
LDRMI R4, [R8,-R0,LSL#22]
STRNE R7, [R10],#-0xD45
LDRMI R4, [R8,-R0,LSL#22]
STRNEB R7, [R1,#-0x775]
LDRMI R4, [R8,-R0,LSL#22]
LDRNEB PC, [R10],#0x6F9
LDRMI R4, [R8,-R0,LSL#22]
STRNEB R8, [R3],#-0x185
STCNE p5, c11, [SP],#-0x1C0
LDCNE p9, c4, [R6],#-0x38
STCNE p10, c4, [R4],#-0x40
UMULLEQ R2, R0, R12, R0
STRLT R1, [R3],#-0x810
ANDCS R2, R1, #off_14000000
ANDCS R2, R0, R4,LSL#2
STRNV R4, [R12,#0x3C0]!
STCNE p13, c15, [R1],#-0x114
ANDLE R11, R8, R2
STMMIDA R7, {R1,R2,R9,R11,LR}
SUBVC R7, SP, R12
ANDNV R8, R0, LR,ASR#32
ANDCS PC, R1, SP,LSL#16
ANDCS R11, R0, R0,ROR SP


;------------------- NEW CODE ----------------------

Org 0x15D254A0

STMVCDA R0!, {R2,R5,R10,R12,SP}
STRLTD R11, [R1],PC
STMMIDB R6, {R3,R5,R6,R9,R10,LR}
STMLSDA R0, {R3,R7-R10,LR}
SBCEQ R2, R9, SP,ROR R1
STCNE p2, c2, [R11],#-0xC8
SBCEQS R6, R4, R6,LSL#16



LDCLTL p0, c11, [PC,#4]!
LDRNEB R10, [R11],#0x31D



y perdonen si tiene muchos errores pero es mi primer ams

saludossssss

anarkes
27/08/2012, 20:58:29
Se me hace muy raro tu asm amigo:

Según parece esta en CODE32, oprime ALT+G o CTRL+G (No recuerdo) y cambias lo de ROM por un 1.
Parece que copiaste demaciado codigo en los dos primeros hooks, deveria ser algo asi los primeros dos hooks



org 0x1504B490:
LDR off_xxxxxxx
BX RX ; <--- La X deberia ser un numero

org 0x1504B530

off_xxxxxxx DCD 0x15D254A0+1


Tambien lo del codigo nuevo esta en CODE32 esa parte se me hace un poco más dificil decirte como sería por que no tengo IDA u_u.

Que bueno que se siguen preocupando por estos temas :D

zyonyluc
28/08/2012, 05:03:17
gracias a al amigo anarkes por su ayuda volvi a crear el asm y ahora me salio asi:


include "x.inc"
org 0x1504B490
LDR R0, off_1504B530
BLX R0
LDRB R1, [R4,1]
BL sub_1504B560
LDRB R1, [R4]
ADD R0, R5, 0
BL sub_1504B558
CMP R0, 0
BNE loc_1504B4AA

loc_1504B4A6
MOV R0, 1
POP {R4-R7,PC}
org 0x1504B530

loc_1504B530
STRB R1, [R4,R2]
ASR R2, R2, 0x17

dword_1504B534 dw 0xECE
dword_1504B538 dw 0x6FFFFFFF



org 0x15D254A0
ADD R4, 0x24
LDRB R0, [R4]
PUSH {R0-R7,LR}
SUB SP, SP, 4
MOV R0, SP
LDR R1, off_15D254C4
BLX R1
LDR R0, [SP]
MOVL R1, 0x3E8
MOV R2, 0x32
ADD R3, R1, 0
LDR R6, [R0]
LSL R4, R2, 3
LDR R6, [R6,R4]
BLX R6
ADD SP, SP, 4
POP {R0-R7,PC}

off_15D254C4 dw loc_14DBA31C+1

me pueden decir que estoy haciendo mal por que trate de compilarlo con el arm patch Compiler pero me da este error


loc_1504B4A6
error: illegal instruction

ademas en el arm patch compiler hay que poner la base addresss y no se cual es ya que estoy creando el asm de un c510 para portarlo a un c905 y ojala los patch porter , los patch master y todos los que tengan conocimiento en el tema se decidieran a crear un nuevo tuto para portar desde cero seria de graan ayuda y mejor si hacen el tuto portando para a2 por que hasta ahorita solo he visto tutoriales para crear el asm pero no para portar

solo es una sugerencia

saludos a todos!!!!!

anarkes
28/08/2012, 19:58:14
Eso ya se ve un poco mejor :D

En el primer hook copiaste código de más deberías de haber copiado hasta 1504B493 debería quedar así




org 0x1504B490

LDR R0, off_1504B530
BLX R0



¿Como lo se?
Es facil solo debes de ver el parche compilado y te lo dira

1504B490: 24342078 27488047

En la parte izquierda después de los dos puntos esta el código original, y en la derecha esta el código nuevo. Ahora, supe que es hasta el 1504B493 por que solo hice la suma de 4 bytes (creo que son cuatro XD) así

1504B490: 24 27
1504B491: 34 48
1504B492 : 20 80
1504B493: 78 47

Ese codigo debería hacer exactamente lo mismo que en una sola linea

En el segundo hook analizaste mal, en lugar de analizar eso con la tecla C analizalo con la tecla D para que te quede así



org 0x1504B530
loc_1504B530 DCD 0x15D254A0+1


Hecho eso, el asm debe quedar algo así

include "x.inc"org 0x1504B490
LDR R0, off_1504B530 ;Carga en R0 lo que exista en off_1504B530
BLX R0 ; Ve, ejecuta lo que esta en R0, y regresa el contador de programa a la siguiente instruccion


org 0x1504B530
loc_1504B530 DCD 0x15D254A0+1 ;Salto hacia codigo nuevo


;Codigo nuevo
org 0x15D254A0: ;Aqui le agregue dos puntos (:) por que se trata de una función
ADD R4, 0x24
LDRB R0, [R4]
PUSH {R0-R7,LR}
SUB SP, SP, 4
MOV R0, SP
LDR R1, off_15D254C4
BLX R1
LDR R0, [SP]
MOVL R1, 0x3E8
MOV R2, 0x32
ADD R3, R1, 0
LDR R6, [R0]
LSL R4, R2, 3
LDR R6, [R6,R4]
BLX R6
ADD SP, SP, 4
POP {R0-R7,PC}


off_15D254C4 dw 0x14DBA31C+1

Sobre la base creo que es 0x14000000 :D

Saludos.

zyonyluc
29/08/2012, 05:38:12
de nuevo gracias amigo anarkes por ayudarme :a01:

ya volvi a hacer otro asm y me quedo asi:


include "x.inc"

Org 0x1504B490

LDR R0, off_1504B530
BLX R0



Org 0x1504B530

loc_1504B530 DCD 0x15D254A0+1


Org 0x15D254A0
ADD R4, 0x24
LDRB R0, [R4]
PUSH {R0-R7,LR}
SUB SP, SP, 4
MOV R0, SP
LDR R1, off_15D254C4
BLX R1
LDR R0, [SP]
MOVL R1, 0x3E8
MOV R2, 0x32
ADD R3, R1, 0
LDR R6, [R0]
LSL R4, R2, 3
LDR R6, [R6,R4]
BLX R6
ADD SP, SP, 4
POP {R0-R7,PC}

off_15D254C4 dw loc_14DBA31C+1



pero me sigue dando error al compilar:a19:

me podrian decir por fa en que estoy mal o si me falta algo:a11:

saludos a todos y en especial a anarkes por tomarse la molestia en ayudarme:a12:

anarkes
29/08/2012, 13:20:15
Que tal :D

Si me dijeras que errores te da sería mas fácil, pero según veo el error puede que te lo de en


off_15D254C4 dw loc_14DBA31C+1

Y eso es por que loc_14DBA31C+1 esta fuera de rango y eso lo se por que es mucho menor a la dirección del código nuevo. En estos casos lo que se debe de hacer es poner la dirección de memoria



off_15D254C4 dw 0x14DBA31C+1

Cr@cShoT
30/08/2012, 17:32:26
Si mal no recuerdo deberia quedar asi:



Org 0x1504B490
LDR R0, off_1504B530
BLX R0

Org 0x1504B530
off_1504B530 DCD Newcode+1;<--Este es el codigo nuevo, deberia tener un nombre

Org 0x15D254A0
Newcode:

ADD R4, 0x24
LDB R0, [R4]

Lo marcado en rojo es lo que te faltaba aparte de lo que ya te dijo anarkes pues ese "off_" no estaba nombrado o por asi decirlo, no tenia valor pues le quitaste el enlace, y lo del codigo nuevo deberia estar asi como te lo deje no necesariamente tiene que llamarse "Newcode" pero si necesita un texto, pues ese hook te lleva al cuerpo del parche

anarkes
30/08/2012, 19:13:56
Que tal crac :D

Pues no es que sea TAN necesario, es recomendable eso de newcode cuando la dirección pueda variar.
Esta tan correcto poner una etiqueta, como poner la dirección de memoria, eso depende de gustos :D

newcode+1 = 0x15D254A0+1

Saludos.


A los años :D

zyonyluc
31/08/2012, 04:10:26
aqui dando lata de nuevo

gracias a anarkes y a cracshot por ayudarme :a32:

gracias a sus consejos el asm me quedo asi


include "x.inc"

Org 0x1504B490
LDR R0, off_1504B530
BLX R0


Org 0x1504B530
off_1504B530 DCD 0x15D254A0+1


Org 0x15D254A0


ADD R4, 0x24
LDRB R0, [R4]
PUSH {R0-R7,LR}
SUB SP, SP, 4
MOV R0, SP
LDR R1, off_15D254C4
BLX R1
LDR R0, [SP]
MOVL R1, 0x3E8
MOV R2, 0x32
ADD R3, R1, 0
LDR R6, [R0]
LSL R4, R2, 3
LDR R6, [R6,R4]
BLX R6
ADD SP, SP, 4
POP {R0-R7,PC}

off_15D254C4 dw 0x14DBA31C+1


al compilarlo me sale asi:


1504b490: FF235433 27488047
1504b530: 1DF80028 A154D215
15d254a0: 00000000000000000000000000000000 24342078FFB581B06846064988470098
15d254b0: 00000000000000000000000000000000 7D21C90032220B1C0668D4003659B047
15d254c0: 0000000000000000 01B0FFBD1DA3DB14


y el parche original es asi:


1504B490: 24342078 27488047
1504B530: 180A0000 A154D215
15D254A0: 00000000000000000000000000000000 24342078FFB581B06846064988470098
15D254B0: 00000000000000000000000000000000 7D21C90032220B1C0668D4003659B047
15D254C0: 0000000000000000 01B0FFBD1DA3DB14



hay unas diferencias por que sera? o asi esta bien? pero no me deberia quedar igualito? o en que falle

gracias por su ayuda amigos

saludosssss:a04:

Cr@cShoT
31/08/2012, 23:23:27
aqui dando lata de nuevo

gracias a anarkes y a cracshot por ayudarme :a32:

gracias a sus consejos el asm me quedo asi


include "x.inc"

Org 0x1504B490
LDR R0, off_1504B530
BLX R0


Org 0x1504B530
off_1504B530 DCD 0x15D254A0+1


Org 0x15D254A0


ADD R4, 0x24
LDRB R0, [R4]
PUSH {R0-R7,LR}
SUB SP, SP, 4
MOV R0, SP
LDR R1, off_15D254C4
BLX R1
LDR R0, [SP]
MOVL R1, 0x3E8
MOV R2, 0x32
ADD R3, R1, 0
LDR R6, [R0]
LSL R4, R2, 3
LDR R6, [R6,R4]
BLX R6
ADD SP, SP, 4
POP {R0-R7,PC}

off_15D254C4 dw 0x14DBA31C+1


al compilarlo me sale asi:


1504b490: FF235433 27488047
1504b530: 1DF80028 A154D215
15d254a0: 00000000000000000000000000000000 24342078FFB581B06846064988470098
15d254b0: 00000000000000000000000000000000 7D21C90032220B1C0668D4003659B047
15d254c0: 0000000000000000 01B0FFBD1DA3DB14


y el parche original es asi:


1504B490: 24342078 27488047
1504B530: 180A0000 A154D215
15D254A0: 00000000000000000000000000000000 24342078FFB581B06846064988470098
15D254B0: 00000000000000000000000000000000 7D21C90032220B1C0668D4003659B047
15D254C0: 0000000000000000 01B0FFBD1DA3DB14



hay unas diferencias por que sera? o asi esta bien? pero no me deberia quedar igualito? o en que falle

gracias por su ayuda amigos

saludosssss:a04:

Aparentemente el parche esta bien pues las lineas que te dan diferencia son los hooks pero no del asm que armaste sino de los que estan en el CXC, a la hora de compilar... usaste un CXC en blanco?? o del mismo modelo??