At the last few steps before booting the linux kernel, SPL will read the value in booting image which determines where the kernel will be loaded to.
In desire it looks like below.
So if we can set a value which it maps just to 0x8e00f64c it will overwrite the code which is about to execute so we can patch SPL.
ioremap function I reversed is in the attachment.
Can we do this? Someone did similar thing on G2.
Refer this youself.
showthread.php?t=559806
In desire it looks like below.
Code:
RAM:8E00F5F4 MOV R4, boot_img_header_addr
RAM:8E00F5FC LDR R0, [R4,#0xC]
RAM:8E00F600 BL ioremap
RAM:8E00F604 MOV R2, R0
RAM:8E00F608 MOV R0, R5
RAM:8E00F60C MOV R1, R7
RAM:8E00F610 LDR R3, [R4,#8]
RAM:8E00F614 BL partition_read_some
RAM:8E00F618 RSB R2, R7, #0
RAM:8E00F61C LDR R3, [R4,#8]
RAM:8E00F620 SUB R3, R3, #1
RAM:8E00F624 ADD R3, R3, R7
RAM:8E00F628 AND R3, R2, R3
RAM:8E00F62C ADD R7, R3, R7
RAM:8E00F630 LDR R0, [R4,#0x14]
RAM:8E00F634 BL ioremap
RAM:8E00F638 MOV R2, R0
RAM:8E00F63C MOV R0, R5
RAM:8E00F640 MOV R1, R7
RAM:8E00F644 LDR R3, [R4,#0x10]
RAM:8E00F648 BL partition_read_some
RAM:8E00F64C B loc_8E00F65C
So if we can set a value which it maps just to 0x8e00f64c it will overwrite the code which is about to execute so we can patch SPL.
ioremap function I reversed is in the attachment.
Can we do this? Someone did similar thing on G2.
Refer this youself.
showthread.php?t=559806
Attachments
Last edited by a moderator: