• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

Root [WIP][DEV] Custom Recovery/Bootloader unlocking Work In Progress Thread

Custom ROM's/kernel's I believe. I really am not sure, just knew people wanted it done, and I have nothing better to do.

makes sense...yeah we would love a true OC'd kernel and all that....that is a fair point...i'm not complaining...keep doing what you're doin! i'm loving that we got some serious people working on this


Well, if their bootloader is the same, couldn't we at least just modify theirs to work with our phone?

logically that does make sense...

i am willing to test anything btw :P
 
Okay...i love that this thread is getting tons of work going on with the bootloader and all....

can someone explain to me though, in easier to understand terms, why we can't use a modded version of the optimus 4x recovery 1.0 apk? it booted me into CWM, and I was able to navigate and reboot to system...

i did not mean to hijack your thread with boot loader stuff


when you did reboot to system, did the Android OS load ?, were you able to get into CWM again after wards ?
 
i did not mean to hijack your thread with boot loader stuff


when you did reboot to system, did the Android OS load ?, were you able to get into CWM again after wards ?

no worries....keep going on! progress is good!

and no, it bootlooped and i had to do the unbrick process...i installed the 1.0 apk, flashed recovery, booted into recovery and it was CWM, but the resolution was wayyyy off, but I was still able to navigate with the volume rocker and went to reboot system and it bootlooped in the middle of the boot animation
 
ya, taking apart this apk might help us out...

if you read through some of the earlier posts i know we had some people working on it for a time...so there may be some info you might need or can use there...


and if i recall it was only the 1.0 apk that worked...none of the others

and if anything, we won't be able to flash kernels but we'll be able to flash ROMs and themes and stuff....it'll make the users happy to have something and then we can focus on the bootloader and not feel as much pressure
 
Yes, but knowing how they were getting it to boot would be helpful. Hopefully they weren't just somehow emulating a tethered boot.
 
no worries....keep going on! progress is good!

and no, it bootlooped and i had to do the unbrick process...i installed the 1.0 apk, flashed recovery, booted into recovery and it was CWM, but the resolution was wayyyy off, but I was still able to navigate with the volume rocker and went to reboot system and it bootlooped in the middle of the boot animation


it boot looped because of the netd file that was replaced, you could of got your system booting again, by pushing the original netd file back
 
Ok so I decided to get a little daring

I flashed the LG Regard aboot file to /dev/block/mmcblk0p5

and everything seems to work fine

I made a small change to the LG Regard aboot file with a hex editor, I changed the two areas that say wipe_data to gipe_data. I wanted to see if I could get it to stop wiping data

well when I flash this modded file to /dev/block/mmcblk0p5
It would not turn on anymore, it would just black screen and then it would vibrate once


The very good news is that I was able to unbrick using sammyz unbrick guide, thank you sammyz

So after I unbricked and re-rooted using aaronmy Root guide (thank you aaronmy, alexp999 and especially qaz753 and anyone else involved with that root method)

I decided to flash the aboot-att-freegee.img to /dev/block/mmcblk0p5

Same thing as before, does not turn on, black screen, and vibrates once

I was able to unbrick again using sammyz method, thank you again sammyz

Well I did not accomplish anything, but I am not so afraid to flash something to the aboot partition "mmcblk0p5" anymore








.
 
ya, I did the same thing with freegee. I think e-mode on our phone is kinda like bios on a computer, no matter what you do, you can't get rid of it.

EDIT:
However, why not flash the aboot file onto our actual aboot?
 
ya, I did the same thing with freegee. I think e-mode on our phone is kinda like bios on a computer, no matter what you do, you can't get rid of it.

EDIT:
However, why not flash the aboot file onto our actual aboot?


mmcblk0p5 is the actual aboot partition
 
here are all the partitons on the LG Motion

mmcblk0p1 modem
mmcblk0p2 sbl1
mmcblk0p3 sbl2
mmcblk0p4 sbl3
mmcblk0p5 aboot
mmcblk0p6 rpm
mmcblk0p7 boot
mmcblk0p8 tz
mmcblk0p9 pad
mmcblk0p10 modemst1
mmcblk0p11 modemst2
mmcblk0p12 sns
mmcblk0p13 misc
mmcblk0p14 system
mmcblk0p15 userdata
mmcblk0p16 persist
mmcblk0p17 cache
mmcblk0p18 tombstones
mmcblk0p19 recovery
mmcblk0p20 fsg
mmcblk0p21 ssd
mmcblk0p22 drm
mmcblk0p23 fota
mmcblk0p24 mpt
mmcblk0p25 tzbak
mmcblk0p26 rpmbak
mmcblk0p27 encrypt
mmcblk0p28 reserved
mmcblk0p29 grow
 
I flash everything with dd if=/data/local/tmp/aboot.img of=/dev/block/platform/msm_sdcc.1/by-name/aboot That is also where the aboot file was pulled from, and where (as far as I know) it should go.
 
I flash everything with dd if=/data/local/tmp/aboot.img of=/dev/block/platform/msm_sdcc.1/by-name/aboot That is also where the aboot file was pulled from, and where (as far as I know) it should go.


/dev/block/platform/msm_sdcc.1/by-name/aboot

is a symbolic link to

/dev/block/mmcblk0p5

I just feel more comfortable flashing to the real partition name, but either should work


.
 
Oh, ok, thanks. This at least tells us that the Regard actually is exactly the same as our phone.

I am not sure how similar they are, but they are pretty close

this also verifies that that aboot is sig checked, and just changing that one little letter breaks the signature
 
wait, aboot is sig checked... Then what verifies aboot? Aboot verifies everything... Does it verify itself?
 
Wonderful, that adds a 4th file to the list of things to modify, and 4,5,6 to search. But hey, it's more progress.

EDIT:
DBL (on chip) -> PBL (on chip?) -> SBL1 -> SBL2 -> NON-HLOS -> SBL3 -> ABOOT -> Android Kernel

EDIT2:
There is another file with a flag that sets whether sbl3 verifies aboot, and aboot verifies android. Going to work on finding/disassembling/recreating this.
 
Wonderful, that adds a 4th file to the list of things to modify, and 4,5,6 to search. But hey, it's more progress.

EDIT:
DBL (on chip) -> PBL (on chip?) -> SBL1 -> SBL2 -> NON-HLOS -> SBL3 -> ABOOT -> Android Kernel


yes, something like that, Im really not an expert on this stuff, but that is what I gather from the E:V:A thread on XDA

it would be nice if we can find an LG signed aboot that is very similar to our phone, that does not have that wipe data command(if you go into recovery) and does not require boot.img or recovery.img to be signed

the first step would be to look up all LG model phones that have the msm8960, and see if we can get the aboot files for them

pdadb. net says the LG Motion has the Qualcomm Snapdragon APQ8060

but I think that is wrong

I am pretty sure it is the MSM8960

shell@android:/ $ cat /proc/cpuinfo
cat /proc/cpuinfo
Processor : ARMv7 Processor rev 0 (v7l)
processor : 0
BogoMIPS : 13.53

Features : swp half thumb fastmult vfp edsp neon vfpv3 tls vfpv4
CPU implementer : 0x51
CPU architecture: 7
CPU variant : 0x1
CPU part : 0x04d
CPU revision : 0

Hardware : LGE MSM8960 Lx
Revision : 000a
Serial : 0000000000000000
shell@android:/ $
 
[17:50] <IOMonster_work> boot chain is this:
[17:50] <IOMonster_work> DBL (on chip) -> PBL (on chip?) -> SBL1 -> SBL2 -> NON-HLOS -> SBL3 -> ABOOT -> Android Kernel
[17:50] <IOMonster_work> each of those steps is sigchecked
[17:50] <IOMonster_work> each partition contains a signature chain
[17:50] <IOMonster_work> so they can also verify who loaded them
[17:50] <IOMonster_work> aboot can verify up the chain as well
[17:51] <zeest> Ah, ok. So first thing we need to bypass is SBL3, correct?
[17:51] <IOMonster_work> sort of
[17:52] <IOMonster_work> sbl3 actually contains a flag
[17:52] <IOMonster_work> that is set in misc
[17:52] <IOMonster_work> that can say "ignore sig of aboot"
[17:52] <zeest> oh
[17:52] <IOMonster_work> then you can mod aboot to your heart's desire
[17:52] <IOMonster_work> the issue is a) finding that flag, and b) if that flag is encrypted... finding out how to make one
[17:52] <zeest> hmmm. Then how do we bypass aboot's verifying process?
[17:52] <IOMonster_work> also, aboot itself contains a flag in misc that can be set to "ignore sig of android"
[17:53] <IOMonster_work> that's the trick
[17:53] <IOMonster_work> you need to decompile it to figure out what it's doing
[17:53] <zeest> ah, so we only really need to modify misc?
[17:53] <zeest> Can't you only decompile into assemly?
[17:56] <IOMonster_work> yep
[17:56] <IOMonster_work> so, from the ASM we need to figure out what's going on
[17:56] <IOMonster_work> ...and that's not my specialty
[17:57] <zeest> Nor mine, I can understand very little.
[17:58] <zeest> So misc is like aboot, not boot, correct? BTW, recovery and boot both have wallpaper on my phone
[17:58] <IOMonster_work> misc is something else
[17:58] <IOMonster_work> misc is like scratch space on the phone
[17:58] <IOMonster_work> it's just storage for the SBLs
[17:58] <IOMonster_work> and modems
[17:59] <zeest> Ah, I meant it can't be unpacked like boot can.
[17:59] <IOMonster_work> nope
[17:59] <IOMonster_work> it's just storage
[17:59] <zeest> ok, so I need to find someone who is good with asm?
[17:59] <IOMonster_work> pretty much
[18:00] <IOMonster_work> but if your bootloader is like ours
[18:00] <IOMonster_work> #5348883 - Pastie <-- will go a long way
[18:00] <zeest> And give them a decompiled version of misc?
[18:00] <IOMonster_work> misc can't be decompiled
[18:00] <zeest> disassembled* into asm*
[18:02] <IOMonster_work> nope
[18:02] <IOMonster_work> misc isn't asm
[18:02] <IOMonster_work> it's just a big file
[18:02] <IOMonster_work> there's no code in it
[18:02] <zeest> then.. where are the flags? I thought you said in misc?
[18:02] <IOMonster_work> imagine it like a giant config file
[18:02] <IOMonster_work> but with no "unlocked=true" statements
[18:02] <IOMonster_work> just things like 01 00 00 00
[18:02] <IOMonster_work> the flags are in misc
[18:02] <IOMonster_work> but they're not labeled
[18:03] <IOMonster_work> it's just data
[18:03] <zeest> Oh. And boot finds the relevant line number for the data it needs? or...
[18:03] <IOMonster_work> hexdump -C /dev/block/platform/msm_sdcc.1/by-name/misc
[18:03] <IOMonster_work> to see what i mean
[18:03] <IOMonster_work> sort of
[18:03] <IOMonster_work> it uses hex offsets
[18:03] <IOMonster_work> so, it'll look for something at 0x800+4
[18:03] <IOMonster_work> meaning read a 4-byte long int from offset 0x800 in the file
[18:04] <IOMonster_work> which if you convert 0x800 into decimal, it'll tell you how many bytes into the file that is
[18:05] <zeest> hm, ok.
[18:06] <zeest> Any idea how to find this line in aboot? Anything that really gives it away?
[18:07] <IOMonster_work> trust me it requires a lot of skill lol
[18:07] <IOMonster_work> get yourself IDA pro
[18:07] <IOMonster_work> and find someone who knows more than i do on that one
Any takers?
 
Back
Top Bottom