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
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
26/11/2010, 03:55:14
DaRkMaN
Respuesta: [Discusión] Archivos Assembling (ASM)
Cita:
Iniciado por bill_kevin
**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
Cita:
Iniciado por bill_kevin
**y cuando lo hago haci
dw 0x456D1ED0+1 ;<---- Es el enlace al codigo nuevo
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:
Código:
;---hook---
org 0x441421A6
SUB R1, R2, 3
CMP R5, SP
La forma correcta seria asi:
Código:
;---hook---
org 0x441421A6
dw loc_456D1ED0+1
Aunque como tu sustituiste el "loc_456D1ECB:" por "newcode:" en tu asm, te marcaria un error al compilar, entonces para arreglarlo ponlo de esta manera:
Código:
;---hook---
org 0x441421A6
dw newcode+1
Veo 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
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:
Como Lo puedo arreglar y gracias por toda la ayuda seguro que con esto ya tengo claro como crear los asm.
26/11/2010, 17:17:22
05M4N
Respuesta: [DISCUSION] Archivos Assembling (ASM)
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:
Código:
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
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
26/11/2010, 23:59:34
bill_kevin
Respuesta: [DISCUSION] Archivos Assembling (ASM)
Cuando lo compilo me sale este error:
test.asm [18]:
BL 0x4553B978 ;--> salto
error: relative jump out of range.
27/11/2010, 00:37:21
DaRkMaN
Respuesta: [DISCUSION] Archivos Assembling (ASM)
Cita:
Iniciado por bill_kevin
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:
Código:
;---Estructura del Pache---
org 0x456D8980
loc_456D8980: ; Main Vacio
Aunque 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":
Código:
off_450A7A3C: dw aSonyEricssonRo
Entonces deberia quedar de esta manera:
Código:
org 0x450A7A3C
off_450A7A3C dw aSonyEricssonRo
Tambien esta parte esta mal analizada ya que los dos no son Entrypoints:
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
27/11/2010, 17:52:43
Cr@cShoT
Respuesta: [DISCUSION] Archivos Assembling (ASM)
Cita:
Iniciado por bill_kevin
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.
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"