[DISCUSION] Archivos Assembling (ASM)
Aquí se discutiran todas las dudas que tengan en cuanto a estos temas:
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-
Respuesta: [Discusión] Archivos Assembling (ASM)
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
Código:
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?
Código:
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.
Respuesta: [Discusión] Archivos Assembling (ASM)
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:
Código:
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
Deberia ser asi
Código:
aI_Bt du "Âêë. BT",0
Ademas si no estoy mal esto tambien es texto y habria que traducirlo
Código:
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
lo dejo indefinido para que vean y si estoy mal me corrijan
Código:
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 0
Y lo que tienes que traducir tambien es Âêë. BT que es lo que esta entre comillas
Respuesta: [Discusión] Archivos Assembling (ASM)
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
Respuesta: [Discusión] Archivos Assembling (ASM)
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:
Código:
status.asm [21]:
LDR R0, [SP,0x1C+var_1C]
x.inc [85] ldr [5]:
ldr rg,[a,b,c]
error: Expecting square bracket "]".
Respuesta: [Discusión] Archivos Assembling (ASM)
Cita:
Iniciado por
05M4N
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:
Código:
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
Código:
LDR R0, [SP,0x1C+var_1C]
prueva de esta manera
Código:
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
Respuesta: [Discusión] Archivos Assembling (ASM)
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
Código:
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
Respuesta: [Discusión] Archivos Assembling (ASM)
Cita:
Iniciado por
ivanzxzx
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-
Respuesta: [Discusión] Archivos Assembling (ASM)
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!
Respuesta: [Discusión] Archivos Assembling (ASM)
Cita:
Iniciado por
Shixel
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:
Código:
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 ..