[H815EU _ONLY_] Relock BL cust/misc/persistent.img preemptive dump

blake_spector

Senior Member
Nov 29, 2008
70
73
0
---
DISCLAIMER: Everything mentioned in this thread is not for personal use and will destroy your device.


---

I know (seriously) I should wait for xVANKO to finish his guide but, I really want to unlock the bootloader and/but before I do that even more so take the precautions to be able to relock it again (ILAPO, warranty, you know the deal).

Back in the days I used http://forum.xda-developers.com/g4/general/lg-g4-100-root-success-directives-root-t3180586 and http://forum.xda-developers.com/showpost.php?p=62028523&postcount=2 to root, so I am familiar with "dd" etc.

The following information is collected from across these forums, therefore I neither take any credit nor any responsibility!

Trying to execute those commands on my H815EU (DO NOT TRY THIS AT HOME, especially with anything other than H815EU. It will destroy your device and your house will catch on fire!)
Code:
dd if=/dev/block/mmcblk0 bs=8192 skip=585216 count=32768 of=/data/media/0/cust.img
dd if=/dev/block/mmcblk0 bs=8192 skip=16384 count=2048 of=/data/media/0/misc.img
dd if=/dev/block/mmcblk0 bs=8192 skip=23808 count=256 of=/data/media/0/persistent.img

In addition to that - to my understanding these then would be the commands to flash the dumped data back to the unlocked device?


(You have been warned!)

Code:
dd if=/data/media/0/cust.img bs=8192 seek=585216 count=32768 of=/dev/block/mmcblk0
dd if=/data/media/0/misc.img bs=8192 seek=16384 count=2048 of=/dev/block/mmcblk0
dd if=/data/media/0/persistent.img bs=8192 seek=23808 count=256 of=/dev/block/mmcblk0




Anyhow,
TLDR; and this is basically the problem here - it simply sais "FAIL".
Is this because of Marshmallow? Do I have to downgrade to Lollipop first?
I am able to use Send_Command.exe and I have set the right COM port, proper drivers installed (autoprime), connected via USB 2.0 on Win10x64.



THANKS SO MUCH FOR YOUR HELP, IT REALLY IS MUCH APPRECIATED!

PS: Obviously I would ask this in the dedicated thread, but it is locked atm. Sorry for the inconvenience!

Honorable mention aka 'Credits' not including any responsibility for aforementioned potential damages!
xVANKO (for: http://forum.xda-developers.com/g4/general/h815-relock-bootloader-t3506634)
^ btw, please please continue your awesome work for this community! <3
 
Last edited:
  • Like
Reactions: JoHnNy08PL

jskasia

Senior Member
Jun 4, 2016
206
138
43
Victoria
---
DISCLAIMER: Everything mentioned in this thread is not for personal use and will destroy your device.


---

I know (seriously) I should wait for xVANKO to finish his guide but, I really want to unlock the bootloader and/but before I do that even more so take the precautions to be able to relock it again (ILAPO, warranty, you know the deal).

Back in the days I used http://forum.xda-developers.com/g4/general/lg-g4-100-root-success-directives-root-t3180586 and http://forum.xda-developers.com/showpost.php?p=62028523&postcount=2 to root, so I am familiar with "dd" etc.

The following information is collected from across these forums, therefore I neither take any credit nor any responsibility!

Trying to execute those commands on my H815EU (DO NOT TRY THIS AT HOME, especially with anything other than H815EU. It will destroy your device and your house will catch on fire!)
Code:
dd if=/dev/block/mmcblk0 bs=8192 skip=585216 count=32768 of=/data/media/0/cust.img
dd if=/dev/block/mmcblk0 bs=8192 skip=16384 count=2048 of=/data/media/0/misc.img
dd if=/dev/block/mmcblk0 bs=8192 skip=23808 count=256 of=/data/media/0/persistent.img

In addition to that - to my understanding these then would be the commands to flash the dumped data back to the unlocked device?


(You have been warned!)

Code:
dd if=/data/media/0/cust.img bs=8192 seek=585216 count=32768 of=/dev/block/mmcblk0
dd if=/data/media/0/misc.img bs=8192 seek=16384 count=2048 of=/dev/block/mmcblk0
dd if=/data/media/0/persistent.img bs=8192 seek=23808 count=256 of=/dev/block/mmcblk0




Anyhow,
TLDR; and this is basically the problem here - it simply sais "FAIL".
Is this because of Marshmallow? Do I have to downgrade to Lollipop first?
I am able to use Send_Command.exe and I have set the right COM port, proper drivers installed (autoprime), connected via USB 2.0 on Win10x64.



THANKS SO MUCH FOR YOUR HELP, IT REALLY IS MUCH APPRECIATED!

PS: Obviously I would ask this in the dedicated thread, but it is locked atm. Sorry for the inconvenience!

Honorable mention aka 'Credits' not including any responsibility for aforementioned potential damages!
xVANKO (for: http://forum.xda-developers.com/g4/general/h815-relock-bootloader-t3506634)
^ btw, please please continue your awesome work for this community! <3
If you wanna use Send_Command.exe with MM, please visit this thread and examine Method 2. :fingers-crossed:
 

blake_spector

Senior Member
Nov 29, 2008
70
73
0
If you wanna use Send_Command.exe with MM, please visit this thread and examine Method 2. :fingers-crossed:
Ah, I see! Thanks.
Seems a bit troublesome, I guess I'll just flash a Lollipop KDZ for the Send_Command.exe tasks.
Then unlock, TWRP, Root, and "back" to MM . . . :angel:
. . . and eventually, flash Lollipop KDZ again, and "relock" Bootloader for warranty round#2.
 
Last edited:

JoHnNy08PL

Senior Member
Oct 11, 2010
453
132
0
Bydgoszcz
Ah, I see! Thanks.
Seems a bit troublesome, I guess I'll just flash a Lollipop KDZ for the Send_Command.exe tasks.
Then unlock, TWRP, Root, and "back" to MM . . . :angel:
. . . and eventually, flash Lollipop KDZ again, and "relock" Bootloader for warranty round#2.
No, it is really simple. After few times you can do this with eyes closed(ok only one eye ;) ). It's the Marshmallow's bootloader "security".
So after all it's as simple as dumping few partitions to SD and uploading them back again? No HEX editing or other stuff?
Or is it dumping before bootloader unlock and to relock just flash them back?
 
  • Like
Reactions: blake_spector

letama

Senior Member
Feb 13, 2008
1,690
2,324
0
You don't have to downgrade to be able to use the send_command.exe

There is only an extra trick: you have to use LGUP to enable the com port in download mode.

Here is how to do it:
- Backup your data first :)
- launch LGUP, select a kdz (preferably the one you currently have),
- Make sure you select upgrade, not refurbish. I missed it once, it will do a factory reset right away!
- start flashing.
- Your device will go in download mode. Few seconds later (around 5% I believe), it will display a com port.
- As soon as you see the COM port displayed on the G4 screen, unplug the usb cable.
- Close LGUP
- Replug the usb cable, send_commands is now working.

If you still want to go ahead before having xVANKO information, I would suggest to also dump the drm partition. And if you want to be extra cautious, dump the whole mmc until userdata. It's a bit big, around 5 GB, but it would allow to extract any other partition if needed.
 
  • Like
Reactions: blake_spector

dnkncht

Senior Member
Nov 4, 2012
97
55
0
Nuremberg
How do you find out you got a H815EU model?

I'm based in germany and bought a local one. The package simply says LG-H815 as well as the hardware informations inside the settings menu.

Edit: I know there are different types out there, but haven't read about a 'H815EU' model. Do you mean a european device or the unique 'H815EU' type?

Edit 2: Running the commands to backup the partitions shouldn't brick your device. The 'dd' command only reads bytes between skip and count. Executing without those parameter would simply clone your flash drive. Since it seems that there are different partition sizes per model, it could only happen that you read invalid data from the storage. Flashing those backups are the main reason for hard-bricks.
 
Last edited:

Minto107

Senior Member
Aug 10, 2013
3,934
1,383
253
20
How do you find out you got a H815EU model?

I'm based in germany and bought a local one. The package simply says LG-H815 as well as the hardware informations inside the settings menu.

Edit: I know there are different types out there, but haven't read about a 'H815EU' model. Do you mean a european device or the unique 'H815EU' type?

Edit 2: Running the commands to backup the partitions shouldn't brick your device. The 'dd' command only reads bytes between skip and count. Executing without those parameter would simply clone your flash drive. Since it seems that there are different partition sizes per model, it could only happen that you read invalid data from the storage. Flashing those backups are the main reason for hard-bricks.
H815EU or H815 EUR is another name for unkockable H815 variant(keep in mind that not every H815 variant can be unlocked, that's why we call it like that). To determine if you have H815EU just download LG phone info check provider. There should be 3 letter long text. There is a list of unkockable H815s so check your letters and find yours on the list. Fortunately, my G4 is H815EU/H815 EUR ;)

Wysłane z mojego LG-H815 przy użyciu Tapatalka
 

blake_spector

Senior Member
Nov 29, 2008
70
73
0
- Backup your data first :)
- launch LGUP, select a kdz (preferably the one you currently have),
- Make sure you select upgrade, not refurbish. I missed it once, it will do a factory reset right away!
- start flashing.
- Your device will go in download mode. Few seconds later (around 5% I believe), it will display a com port.
- As soon as you see the COM port displayed on the G4 screen, unplug the usb cable.
- Close LGUP
- Replug the usb cable, send_commands is now working.

If you still want to go ahead before having xVANKO information, I would suggest to also dump the drm partition. And if you want to be extra cautious, dump the whole mmc until userdata. It's a bit big, around 5 GB, but it would allow to extract any other partition if needed.
Thanks a lot for the clear instructions!
In regard to dumping drm partition, or whole mmc . . . I found this, but I don't know how those values translate to the "skip" and "count" parts of the dd command. Do you know the appropriate values?


I'm based in germany and bought a local one. The package simply says LG-H815 [ . . . ]

Edit 2: Running the commands to backup the partitions shouldn't brick your device. The 'dd' command only reads bytes between skip and count. Executing without those parameter would simply clone your flash drive. Since it seems that there are different partition sizes per model, it could only happen that you read invalid data from the storage. Flashing those backups are the main reason for hard-bricks.
A german H815 does apply to the shenanigans discussed here. My device is the same.
To 'edit 2', you're right! The "reading" part isn't the problem . . . still, better safe than sorry.
 
Last edited:

dnkncht

Senior Member
Nov 4, 2012
97
55
0
Nuremberg
Thanks a lot for the clear instructions!
In regard to dumping drm partition, or whole mmc . . . I found this, but I don't know how those values translate to the "skip" and "count" parts of the dd command. Do you know the appropriate values?

skip declares the start point, where dd should start to read. count names the amount ob bytes to read.

For example take a look at the cust partition:
48 4794089472B 5062524927B 268435456B ext4 cust

The command would be:
dd if=/dev/block/mmcblk0 bs=8192 skip=585216 count=32768 of=/data/media/0/cust.img

bs equals the block size -> 8192

skip equals = 4794089472 / 8192 -> 585216
count equals = 268435456 / 8192 -> 32768

Now you can calculate your values yourself :)
 
  • Like
Reactions: blake_spector

blake_spector

Senior Member
Nov 29, 2008
70
73
0
skip declares the start point, where dd should start to read. count names the amount ob bytes to read.

For example take a look at the cust partition:
48 4794089472B 5062524927B 268435456B ext4 cust

The command would be:
dd if=/dev/block/mmcblk0 bs=8192 skip=585216 count=32768 of=/data/media/0/cust.img

bs equals the block size -> 8192

skip equals = 4794089472 / 8192 -> 585216
count equals = 268435456 / 8192 -> 32768

Now you can calculate your values yourself :)
Marvellous piece of information, vielen vielen Dank! :)
 
  • Like
Reactions: dnkncht

letama

Senior Member
Feb 13, 2008
1,690
2,324
0
Thanks a lot for the clear instructions!
In regard to dumping drm partition, or whole mmc . . . I found this, but I don't know how those values translate to the "skip" and "count" parts of the dd command. Do you know the appropriate values?
You're welcome.

To get the exact offsets for dd commands, I took a dump of the gpt partition table and then used a tool that gave me this (FRA/EUR model):

Code:
[+] Primary GPT header
 [-] Signature: b'EFI PART'
 [-] Revision: 65536
 [-] Header Size: 92
 [-] CRC32 of header: F1E68634 (VALID) => Real: F1E68634
 [-] Current LBA: 0x00000001
 [-] Backup LBA: 0x03A3DFFF
 [-] First usable LBA for partitions: 0x00000022
 [-] Last usable LBA for partitions: 0x03A3DFDE
 [-] Disk GUID: 98101B32-BBE2-4BF2-A06E-2BB33D000C20
 [-] Partition entries starting LBA: 0x00000002
 [-] Number of partition entries: 52
 [-] Size of partition entry: 0x00000080
 [-] CRC32 of partition array: 0x7330FD5F

[+] Primary GPT header md5: a22b35048e8f33a3df50a3bf2cc6c1b2


[+] Partition table
 [-] WARNING!! CRC32 Check : E177F4F2 (INVALID)

 [-] Partition 1
  [-] First LBA: 32768
  [-] Last LBA: 208895
      => First Offset: 0x01000000
      => Last Offset: 0x065FFE00
  [-] Partition Name: modem

 [-] Partition 2
  [-] First LBA: 229376
  [-] Last LBA: 230399
      => First Offset: 0x07000000
      => Last Offset: 0x0707FE00
  [-] Partition Name: pmic

 [-] Partition 3
  [-] First LBA: 230400
  [-] Last LBA: 232447
      => First Offset: 0x07080000
      => Last Offset: 0x0717FE00
  [-] Partition Name: sbl1

 [-] Partition 4
  [-] First LBA: 232448
  [-] Last LBA: 234495
      => First Offset: 0x07180000
      => Last Offset: 0x0727FE00
  [-] Partition Name: tz

 [-] Partition 5
  [-] First LBA: 234496
  [-] Last LBA: 235519
      => First Offset: 0x07280000
      => Last Offset: 0x072FFE00
  [-] Partition Name: sdi

 [-] Partition 6
  [-] First LBA: 235520
  [-] Last LBA: 236543
      => First Offset: 0x07300000
      => Last Offset: 0x0737FE00
  [-] Partition Name: hyp

 [-] Partition 7
  [-] First LBA: 236544
  [-] Last LBA: 237567
      => First Offset: 0x07380000
      => Last Offset: 0x073FFE00
  [-] Partition Name: rpm

 [-] Partition 8
  [-] First LBA: 237568
  [-] Last LBA: 241663
      => First Offset: 0x07400000
      => Last Offset: 0x075FFE00
  [-] Partition Name: aboot

 [-] Partition 9
  [-] First LBA: 241664
  [-] Last LBA: 243711
      => First Offset: 0x07600000
      => Last Offset: 0x076FFE00
  [-] Partition Name: sbl1bak

 [-] Partition 10
  [-] First LBA: 243712
  [-] Last LBA: 244735
      => First Offset: 0x07700000
      => Last Offset: 0x0777FE00
  [-] Partition Name: pmicbak

 [-] Partition 11
  [-] First LBA: 244736
  [-] Last LBA: 246783
      => First Offset: 0x07780000
      => Last Offset: 0x0787FE00
  [-] Partition Name: tzbak

 [-] Partition 12
  [-] First LBA: 246784
  [-] Last LBA: 247807
      => First Offset: 0x07880000
      => Last Offset: 0x078FFE00
  [-] Partition Name: hypbak

 [-] Partition 13
  [-] First LBA: 247808
  [-] Last LBA: 248831
      => First Offset: 0x07900000
      => Last Offset: 0x0797FE00
  [-] Partition Name: rpmbak

 [-] Partition 14
  [-] First LBA: 248832
  [-] Last LBA: 252927
      => First Offset: 0x07980000
      => Last Offset: 0x07B7FE00
  [-] Partition Name: abootbak

 [-] Partition 15
  [-] First LBA: 252928
  [-] Last LBA: 253951
      => First Offset: 0x07B80000
      => Last Offset: 0x07BFFE00
  [-] Partition Name: sdibak

 [-] Partition 16
  [-] First LBA: 253952
  [-] Last LBA: 254975
      => First Offset: 0x07C00000
      => Last Offset: 0x07C7FE00
  [-] Partition Name: limits

 [-] Partition 17
  [-] First LBA: 254976
  [-] Last LBA: 255999
      => First Offset: 0x07C80000
      => Last Offset: 0x07CFFE00
  [-] Partition Name: devinfo

 [-] Partition 18
  [-] First LBA: 256000
  [-] Last LBA: 257023
      => First Offset: 0x07D00000
      => Last Offset: 0x07D7FE00
  [-] Partition Name: apdp

 [-] Partition 19
  [-] First LBA: 257024
  [-] Last LBA: 258047
      => First Offset: 0x07D80000
      => Last Offset: 0x07DFFE00
  [-] Partition Name: msadp

 [-] Partition 20
  [-] First LBA: 258048
  [-] Last LBA: 259071
      => First Offset: 0x07E00000
      => Last Offset: 0x07E7FE00
  [-] Partition Name: dpo

 [-] Partition 21
  [-] First LBA: 259072
  [-] Last LBA: 262143
      => First Offset: 0x07E80000
      => Last Offset: 0x07FFFE00
  [-] Partition Name: spare1

 [-] Partition 22
  [-] First LBA: 262144
  [-] Last LBA: 294911
      => First Offset: 0x08000000
      => Last Offset: 0x08FFFE00
  [-] Partition Name: misc

 [-] Partition 23
  [-] First LBA: 294912
  [-] Last LBA: 360447
      => First Offset: 0x09000000
      => Last Offset: 0x0AFFFE00
  [-] Partition Name: persist

 [-] Partition 24
  [-] First LBA: 360448
  [-] Last LBA: 363519
      => First Offset: 0x0B000000
      => Last Offset: 0x0B17FE00
  [-] Partition Name: modemst1

 [-] Partition 25
  [-] First LBA: 363520
  [-] Last LBA: 366591
      => First Offset: 0x0B180000
      => Last Offset: 0x0B2FFE00
  [-] Partition Name: modemst2

 [-] Partition 26
  [-] First LBA: 366592
  [-] Last LBA: 369663
      => First Offset: 0x0B300000
      => Last Offset: 0x0B47FE00
  [-] Partition Name: fsg

 [-] Partition 27
  [-] First LBA: 369664
  [-] Last LBA: 370687
      => First Offset: 0x0B480000
      => Last Offset: 0x0B4FFE00
  [-] Partition Name: fsc

 [-] Partition 28
  [-] First LBA: 370688
  [-] Last LBA: 371711
      => First Offset: 0x0B500000
      => Last Offset: 0x0B57FE00
  [-] Partition Name: ssd

 [-] Partition 29
  [-] First LBA: 371712
  [-] Last LBA: 372735
      => First Offset: 0x0B580000
      => Last Offset: 0x0B5FFE00
  [-] Partition Name: keystore

 [-] Partition 30
  [-] First LBA: 372736
  [-] Last LBA: 376831
      => First Offset: 0x0B600000
      => Last Offset: 0x0B7FFE00
  [-] Partition Name: DDR

 [-] Partition 31
  [-] First LBA: 376832
  [-] Last LBA: 377855
      => First Offset: 0x0B800000
      => Last Offset: 0x0B87FE00
  [-] Partition Name: sec

 [-] Partition 32
  [-] First LBA: 377856
  [-] Last LBA: 378879
      => First Offset: 0x0B880000
      => Last Offset: 0x0B8FFE00
  [-] Partition Name: encrypt

 [-] Partition 33
  [-] First LBA: 378880
  [-] Last LBA: 379903
      => First Offset: 0x0B900000
      => Last Offset: 0x0B97FE00
  [-] Partition Name: eksst

 [-] Partition 34
  [-] First LBA: 379904
  [-] Last LBA: 380927
      => First Offset: 0x0B980000
      => Last Offset: 0x0B9FFE00
  [-] Partition Name: rct

 [-] Partition 35
  [-] First LBA: 380928
  [-] Last LBA: 385023
      => First Offset: 0x0BA00000
      => Last Offset: 0x0BBFFE00
  [-] Partition Name: persistent

 [-] Partition 36
  [-] First LBA: 385024
  [-] Last LBA: 393215
      => First Offset: 0x0BC00000
      => Last Offset: 0x0BFFFE00
  [-] Partition Name: spare2

 [-] Partition 37
  [-] First LBA: 393216
  [-] Last LBA: 491519
      => First Offset: 0x0C000000
      => Last Offset: 0x0EFFFE00
  [-] Partition Name: laf

 [-] Partition 38
  [-] First LBA: 491520
  [-] Last LBA: 573439
      => First Offset: 0x0F000000
      => Last Offset: 0x117FFE00
  [-] Partition Name: boot

 [-] Partition 39
  [-] First LBA: 573440
  [-] Last LBA: 655359
      => First Offset: 0x11800000
      => Last Offset: 0x13FFFE00
  [-] Partition Name: recovery

 [-] Partition 40
  [-] First LBA: [B]655360[/B]
  [-] Last LBA: [B]671743[/B]
      => First Offset: 0x14000000
      => Last Offset: 0x147FFE00
  [-] Partition Name: drm

 [-] Partition 41
  [-] First LBA: 671744
  [-] Last LBA: 688127
      => First Offset: 0x14800000
      => Last Offset: 0x14FFFE00
  [-] Partition Name: sns

 [-] Partition 42
  [-] First LBA: 688128
  [-] Last LBA: 753663
      => First Offset: 0x15000000
      => Last Offset: 0x16FFFE00
  [-] Partition Name: mpt

 [-] Partition 43
  [-] First LBA: 753664
  [-] Last LBA: 847871
      => First Offset: 0x17000000
      => Last Offset: 0x19DFFE00
  [-] Partition Name: factory

 [-] Partition 44
  [-] First LBA: 847872
  [-] Last LBA: 868351
      => First Offset: 0x19E00000
      => Last Offset: 0x1A7FFE00
  [-] Partition Name: fota

 [-] Partition 45
  [-] First LBA: 868352
  [-] Last LBA: 876543
      => First Offset: 0x1A800000
      => Last Offset: 0x1ABFFE00
  [-] Partition Name: raw_resources

 [-] Partition 46
  [-] First LBA: 876544
  [-] Last LBA: 884735
      => First Offset: 0x1AC00000
      => Last Offset: 0x1AFFFE00
  [-] Partition Name: raw_resourcesbak

 [-] Partition 47
  [-] First LBA: 884736
  [-] Last LBA: 9363455
      => First Offset: 0x1B000000
      => Last Offset: 0x11DBFFE00
  [-] Partition Name: system

 [-] Partition 48
  [-] First LBA: 9363456
  [-] Last LBA: 9887743
      => First Offset: 0x11DC00000
      => Last Offset: 0x12DBFFE00
  [-] Partition Name: cust

 [-] Partition 49
  [-] First LBA: 9895936
  [-] Last LBA: 12419071
      => First Offset: 0x12E000000
      => Last Offset: 0x17AFFFE00
  [-] Partition Name: cache

 [-] Partition 50
  [-] First LBA: 12419072
  [-] Last LBA: 61046783
      => First Offset: 0x17B000000
      => Last Offset: 0x746FFFE00
  [-] Partition Name: userdata

 [-] Partition 51
  [-] First LBA: 61046784
  [-] Last LBA: 61071326
      => First Offset: 0x747000000
      => Last Offset: 0x747BFBC00
  [-] Partition Name: grow

[+] Partition table md5: ea0c8acec7957b09de3d317ab378824a
LBA is the index ofa 512 bytes block, so for instance to dump drm partition, dd looks like this:

Code:
dd if=/dev/block/mmcblk0 of=/data/media/0/drm.img bs=[COLOR="Red"][B]512[/B][/COLOR] skip=[COLOR="Red"][B]655360[/B][/COLOR] count=[COLOR="red"][B]16384[/B][/COLOR]
skip value is exactly First LBA in table (=> 655360),
count value is (Last LBA - first LBA +1) (=> 671743 - 655360 +1 => 16384)

You can also retrieve the indexes and size in download mode if you know what partition number is the one you're looking for.

To find partition number do:

Code:
ls -l /dev/block/bootdevice/by-name
It will give you this:
Code:
lrwxrwxrwx root     root              2015-01-15 01:12 DDR -> /dev/block/mmcblk0p30
lrwxrwxrwx root     root              2015-01-15 01:12 aboot -> /dev/block/mmcblk0p8
lrwxrwxrwx root     root              2015-01-15 01:12 abootbak -> /dev/block/mmcblk0p14
lrwxrwxrwx root     root              2015-01-15 01:12 apdp -> /dev/block/mmcblk0p18
lrwxrwxrwx root     root              2015-01-15 01:12 boot -> /dev/block/mmcblk0p38
lrwxrwxrwx root     root              2015-01-15 01:12 cache -> /dev/block/mmcblk0p49
lrwxrwxrwx root     root              2015-01-15 01:12 cust -> /dev/block/mmcblk0p48
lrwxrwxrwx root     root              2015-01-15 01:12 devinfo -> /dev/block/mmcblk0p17
lrwxrwxrwx root     root              2015-01-15 01:12 dpo -> /dev/block/mmcblk0p20
[B]lrwxrwxrwx root     root              2015-01-15 01:12 drm -> /dev/block/mmcblk0p40[/B]
lrwxrwxrwx root     root              2015-01-15 01:12 eksst -> /dev/block/mmcblk0p33
lrwxrwxrwx root     root              2015-01-15 01:12 encrypt -> /dev/block/mmcblk0p32
lrwxrwxrwx root     root              2015-01-15 01:12 factory -> /dev/block/mmcblk0p43
lrwxrwxrwx root     root              2015-01-15 01:12 fota -> /dev/block/mmcblk0p44
lrwxrwxrwx root     root              2015-01-15 01:12 fsc -> /dev/block/mmcblk0p27
lrwxrwxrwx root     root              2015-01-15 01:12 fsg -> /dev/block/mmcblk0p26
lrwxrwxrwx root     root              2015-01-15 01:12 grow -> /dev/block/mmcblk0p51
lrwxrwxrwx root     root              2015-01-15 01:12 hyp -> /dev/block/mmcblk0p6
lrwxrwxrwx root     root              2015-01-15 01:12 hypbak -> /dev/block/mmcblk0p12
lrwxrwxrwx root     root              2015-01-15 01:12 keystore -> /dev/block/mmcblk0p29
lrwxrwxrwx root     root              2015-01-15 01:12 laf -> /dev/block/mmcblk0p37
lrwxrwxrwx root     root              2015-01-15 01:12 limits -> /dev/block/mmcblk0p16
lrwxrwxrwx root     root              2015-01-15 01:12 misc -> /dev/block/mmcblk0p22
lrwxrwxrwx root     root              2015-01-15 01:12 modem -> /dev/block/mmcblk0p1
lrwxrwxrwx root     root              2015-01-15 01:12 modemst1 -> /dev/block/mmcblk0p24
lrwxrwxrwx root     root              2015-01-15 01:12 modemst2 -> /dev/block/mmcblk0p25
lrwxrwxrwx root     root              2015-01-15 01:12 mpt -> /dev/block/mmcblk0p42
lrwxrwxrwx root     root              2015-01-15 01:12 msadp -> /dev/block/mmcblk0p19
lrwxrwxrwx root     root              2015-01-15 01:12 persist -> /dev/block/mmcblk0p23
lrwxrwxrwx root     root              2015-01-15 01:12 persistent -> /dev/block/mmcblk0p35
lrwxrwxrwx root     root              2015-01-15 01:12 pmic -> /dev/block/mmcblk0p2
lrwxrwxrwx root     root              2015-01-15 01:12 pmicbak -> /dev/block/mmcblk0p10
lrwxrwxrwx root     root              2015-01-15 01:12 raw_resources -> /dev/block/mmcblk0p45
lrwxrwxrwx root     root              2015-01-15 01:12 raw_resourcesbak -> /dev/block/mmcblk0p46
lrwxrwxrwx root     root              2015-01-15 01:12 rct -> /dev/block/mmcblk0p34
lrwxrwxrwx root     root              2015-01-15 01:12 recovery -> /dev/block/mmcblk0p39
lrwxrwxrwx root     root              2015-01-15 01:12 rpm -> /dev/block/mmcblk0p7
lrwxrwxrwx root     root              2015-01-15 01:12 rpmbak -> /dev/block/mmcblk0p13
lrwxrwxrwx root     root              2015-01-15 01:12 sbl1 -> /dev/block/mmcblk0p3
lrwxrwxrwx root     root              2015-01-15 01:12 sbl1bak -> /dev/block/mmcblk0p9
lrwxrwxrwx root     root              2015-01-15 01:12 sdi -> /dev/block/mmcblk0p5
lrwxrwxrwx root     root              2015-01-15 01:12 sdibak -> /dev/block/mmcblk0p15
lrwxrwxrwx root     root              2015-01-15 01:12 sec -> /dev/block/mmcblk0p31
lrwxrwxrwx root     root              2015-01-15 01:12 sns -> /dev/block/mmcblk0p41
lrwxrwxrwx root     root              2015-01-15 01:12 spare1 -> /dev/block/mmcblk0p21
lrwxrwxrwx root     root              2015-01-15 01:12 spare2 -> /dev/block/mmcblk0p36
lrwxrwxrwx root     root              2015-01-15 01:12 ssd -> /dev/block/mmcblk0p28
lrwxrwxrwx root     root              2015-01-15 01:12 system -> /dev/block/mmcblk0p47
lrwxrwxrwx root     root              2015-01-15 01:12 tz -> /dev/block/mmcblk0p4
lrwxrwxrwx root     root              2015-01-15 01:12 tzbak -> /dev/block/mmcblk0p11
lrwxrwxrwx root     root              2015-01-15 01:12 userdata -> /dev/block/mmcblk0p50
So, in our case, drm is partition 40, commands to retrieve index and size are:

Code:
cat /sys/devices/soc.0/f9824900.sdhci/mmc_host/mmc0/mmc0:0001/block/mmcblk0/mmcblk0p[COLOR="Red"]40[/COLOR]/start
cat /sys/devices/soc.0/f9824900.sdhci/mmc_host/mmc0/mmc0:0001/block/mmcblk0/mmcblk0p[COLOR="red"]40[/COLOR]/size
giving you 655360 and 16384 directly.

Last, to dump full MMC until userdata, I just did dd until userdata LBA:

Code:
dd if=/dev/block/mmcblk0 of=/data/media/0/full_dump.img bs=512 count=12419072
It's, a big file, around 6 GB. If you want to speed up things a bit, read with a block size of 4096 and divide by 8 the count:

Code:
dd if=/dev/block/mmcblk0 of=/data/media/0/full_dump.img bs=4096 count=1552384
I didn't test relocking yet though, not enough free time. Hope it helps, don't hesitate to ask if you need more details.
 
  • Like
Reactions: blake_spector

blake_spector

Senior Member
Nov 29, 2008
70
73
0
You're welcome.

To get the exact offsets for dd commands, I took a dump of the gpt partition table and then used a tool that gave me this (FRA/EUR model):

Code:
[+] Primary GPT header
 [-] Signature: b'EFI PART'
 [-] Revision: 65536
 [-] Header Size: 92
 [-] CRC32 of header: F1E68634 (VALID) => Real: F1E68634
 [-] Current LBA: 0x00000001
 [-] Backup LBA: 0x03A3DFFF
 [-] First usable LBA for partitions: 0x00000022
 [-] Last usable LBA for partitions: 0x03A3DFDE
 [-] Disk GUID: 98101B32-BBE2-4BF2-A06E-2BB33D000C20
 [-] Partition entries starting LBA: 0x00000002
 [-] Number of partition entries: 52
 [-] Size of partition entry: 0x00000080
 [-] CRC32 of partition array: 0x7330FD5F

[+] Primary GPT header md5: a22b35048e8f33a3df50a3bf2cc6c1b2


[+] Partition table
 [-] WARNING!! CRC32 Check : E177F4F2 (INVALID)

 [-] Partition 1
  [-] First LBA: 32768
  [-] Last LBA: 208895
      => First Offset: 0x01000000
      => Last Offset: 0x065FFE00
  [-] Partition Name: modem

 [-] Partition 2
  [-] First LBA: 229376
  [-] Last LBA: 230399
      => First Offset: 0x07000000
      => Last Offset: 0x0707FE00
  [-] Partition Name: pmic

 [-] Partition 3
  [-] First LBA: 230400
  [-] Last LBA: 232447
      => First Offset: 0x07080000
      => Last Offset: 0x0717FE00
  [-] Partition Name: sbl1

 [-] Partition 4
  [-] First LBA: 232448
  [-] Last LBA: 234495
      => First Offset: 0x07180000
      => Last Offset: 0x0727FE00
  [-] Partition Name: tz

 [-] Partition 5
  [-] First LBA: 234496
  [-] Last LBA: 235519
      => First Offset: 0x07280000
      => Last Offset: 0x072FFE00
  [-] Partition Name: sdi

 [-] Partition 6
  [-] First LBA: 235520
  [-] Last LBA: 236543
      => First Offset: 0x07300000
      => Last Offset: 0x0737FE00
  [-] Partition Name: hyp

 [-] Partition 7
  [-] First LBA: 236544
  [-] Last LBA: 237567
      => First Offset: 0x07380000
      => Last Offset: 0x073FFE00
  [-] Partition Name: rpm

 [-] Partition 8
  [-] First LBA: 237568
  [-] Last LBA: 241663
      => First Offset: 0x07400000
      => Last Offset: 0x075FFE00
  [-] Partition Name: aboot

 [-] Partition 9
  [-] First LBA: 241664
  [-] Last LBA: 243711
      => First Offset: 0x07600000
      => Last Offset: 0x076FFE00
  [-] Partition Name: sbl1bak

 [-] Partition 10
  [-] First LBA: 243712
  [-] Last LBA: 244735
      => First Offset: 0x07700000
      => Last Offset: 0x0777FE00
  [-] Partition Name: pmicbak

 [-] Partition 11
  [-] First LBA: 244736
  [-] Last LBA: 246783
      => First Offset: 0x07780000
      => Last Offset: 0x0787FE00
  [-] Partition Name: tzbak

 [-] Partition 12
  [-] First LBA: 246784
  [-] Last LBA: 247807
      => First Offset: 0x07880000
      => Last Offset: 0x078FFE00
  [-] Partition Name: hypbak

 [-] Partition 13
  [-] First LBA: 247808
  [-] Last LBA: 248831
      => First Offset: 0x07900000
      => Last Offset: 0x0797FE00
  [-] Partition Name: rpmbak

 [-] Partition 14
  [-] First LBA: 248832
  [-] Last LBA: 252927
      => First Offset: 0x07980000
      => Last Offset: 0x07B7FE00
  [-] Partition Name: abootbak

 [-] Partition 15
  [-] First LBA: 252928
  [-] Last LBA: 253951
      => First Offset: 0x07B80000
      => Last Offset: 0x07BFFE00
  [-] Partition Name: sdibak

 [-] Partition 16
  [-] First LBA: 253952
  [-] Last LBA: 254975
      => First Offset: 0x07C00000
      => Last Offset: 0x07C7FE00
  [-] Partition Name: limits

 [-] Partition 17
  [-] First LBA: 254976
  [-] Last LBA: 255999
      => First Offset: 0x07C80000
      => Last Offset: 0x07CFFE00
  [-] Partition Name: devinfo

 [-] Partition 18
  [-] First LBA: 256000
  [-] Last LBA: 257023
      => First Offset: 0x07D00000
      => Last Offset: 0x07D7FE00
  [-] Partition Name: apdp

 [-] Partition 19
  [-] First LBA: 257024
  [-] Last LBA: 258047
      => First Offset: 0x07D80000
      => Last Offset: 0x07DFFE00
  [-] Partition Name: msadp

 [-] Partition 20
  [-] First LBA: 258048
  [-] Last LBA: 259071
      => First Offset: 0x07E00000
      => Last Offset: 0x07E7FE00
  [-] Partition Name: dpo

 [-] Partition 21
  [-] First LBA: 259072
  [-] Last LBA: 262143
      => First Offset: 0x07E80000
      => Last Offset: 0x07FFFE00
  [-] Partition Name: spare1

 [-] Partition 22
  [-] First LBA: 262144
  [-] Last LBA: 294911
      => First Offset: 0x08000000
      => Last Offset: 0x08FFFE00
  [-] Partition Name: misc

 [-] Partition 23
  [-] First LBA: 294912
  [-] Last LBA: 360447
      => First Offset: 0x09000000
      => Last Offset: 0x0AFFFE00
  [-] Partition Name: persist

 [-] Partition 24
  [-] First LBA: 360448
  [-] Last LBA: 363519
      => First Offset: 0x0B000000
      => Last Offset: 0x0B17FE00
  [-] Partition Name: modemst1

 [-] Partition 25
  [-] First LBA: 363520
  [-] Last LBA: 366591
      => First Offset: 0x0B180000
      => Last Offset: 0x0B2FFE00
  [-] Partition Name: modemst2

 [-] Partition 26
  [-] First LBA: 366592
  [-] Last LBA: 369663
      => First Offset: 0x0B300000
      => Last Offset: 0x0B47FE00
  [-] Partition Name: fsg

 [-] Partition 27
  [-] First LBA: 369664
  [-] Last LBA: 370687
      => First Offset: 0x0B480000
      => Last Offset: 0x0B4FFE00
  [-] Partition Name: fsc

 [-] Partition 28
  [-] First LBA: 370688
  [-] Last LBA: 371711
      => First Offset: 0x0B500000
      => Last Offset: 0x0B57FE00
  [-] Partition Name: ssd

 [-] Partition 29
  [-] First LBA: 371712
  [-] Last LBA: 372735
      => First Offset: 0x0B580000
      => Last Offset: 0x0B5FFE00
  [-] Partition Name: keystore

 [-] Partition 30
  [-] First LBA: 372736
  [-] Last LBA: 376831
      => First Offset: 0x0B600000
      => Last Offset: 0x0B7FFE00
  [-] Partition Name: DDR

 [-] Partition 31
  [-] First LBA: 376832
  [-] Last LBA: 377855
      => First Offset: 0x0B800000
      => Last Offset: 0x0B87FE00
  [-] Partition Name: sec

 [-] Partition 32
  [-] First LBA: 377856
  [-] Last LBA: 378879
      => First Offset: 0x0B880000
      => Last Offset: 0x0B8FFE00
  [-] Partition Name: encrypt

 [-] Partition 33
  [-] First LBA: 378880
  [-] Last LBA: 379903
      => First Offset: 0x0B900000
      => Last Offset: 0x0B97FE00
  [-] Partition Name: eksst

 [-] Partition 34
  [-] First LBA: 379904
  [-] Last LBA: 380927
      => First Offset: 0x0B980000
      => Last Offset: 0x0B9FFE00
  [-] Partition Name: rct

 [-] Partition 35
  [-] First LBA: 380928
  [-] Last LBA: 385023
      => First Offset: 0x0BA00000
      => Last Offset: 0x0BBFFE00
  [-] Partition Name: persistent

 [-] Partition 36
  [-] First LBA: 385024
  [-] Last LBA: 393215
      => First Offset: 0x0BC00000
      => Last Offset: 0x0BFFFE00
  [-] Partition Name: spare2

 [-] Partition 37
  [-] First LBA: 393216
  [-] Last LBA: 491519
      => First Offset: 0x0C000000
      => Last Offset: 0x0EFFFE00
  [-] Partition Name: laf

 [-] Partition 38
  [-] First LBA: 491520
  [-] Last LBA: 573439
      => First Offset: 0x0F000000
      => Last Offset: 0x117FFE00
  [-] Partition Name: boot

 [-] Partition 39
  [-] First LBA: 573440
  [-] Last LBA: 655359
      => First Offset: 0x11800000
      => Last Offset: 0x13FFFE00
  [-] Partition Name: recovery

 [-] Partition 40
  [-] First LBA: [B]655360[/B]
  [-] Last LBA: [B]671743[/B]
      => First Offset: 0x14000000
      => Last Offset: 0x147FFE00
  [-] Partition Name: drm

 [-] Partition 41
  [-] First LBA: 671744
  [-] Last LBA: 688127
      => First Offset: 0x14800000
      => Last Offset: 0x14FFFE00
  [-] Partition Name: sns

 [-] Partition 42
  [-] First LBA: 688128
  [-] Last LBA: 753663
      => First Offset: 0x15000000
      => Last Offset: 0x16FFFE00
  [-] Partition Name: mpt

 [-] Partition 43
  [-] First LBA: 753664
  [-] Last LBA: 847871
      => First Offset: 0x17000000
      => Last Offset: 0x19DFFE00
  [-] Partition Name: factory

 [-] Partition 44
  [-] First LBA: 847872
  [-] Last LBA: 868351
      => First Offset: 0x19E00000
      => Last Offset: 0x1A7FFE00
  [-] Partition Name: fota

 [-] Partition 45
  [-] First LBA: 868352
  [-] Last LBA: 876543
      => First Offset: 0x1A800000
      => Last Offset: 0x1ABFFE00
  [-] Partition Name: raw_resources

 [-] Partition 46
  [-] First LBA: 876544
  [-] Last LBA: 884735
      => First Offset: 0x1AC00000
      => Last Offset: 0x1AFFFE00
  [-] Partition Name: raw_resourcesbak

 [-] Partition 47
  [-] First LBA: 884736
  [-] Last LBA: 9363455
      => First Offset: 0x1B000000
      => Last Offset: 0x11DBFFE00
  [-] Partition Name: system

 [-] Partition 48
  [-] First LBA: 9363456
  [-] Last LBA: 9887743
      => First Offset: 0x11DC00000
      => Last Offset: 0x12DBFFE00
  [-] Partition Name: cust

 [-] Partition 49
  [-] First LBA: 9895936
  [-] Last LBA: 12419071
      => First Offset: 0x12E000000
      => Last Offset: 0x17AFFFE00
  [-] Partition Name: cache

 [-] Partition 50
  [-] First LBA: 12419072
  [-] Last LBA: 61046783
      => First Offset: 0x17B000000
      => Last Offset: 0x746FFFE00
  [-] Partition Name: userdata

 [-] Partition 51
  [-] First LBA: 61046784
  [-] Last LBA: 61071326
      => First Offset: 0x747000000
      => Last Offset: 0x747BFBC00
  [-] Partition Name: grow

[+] Partition table md5: ea0c8acec7957b09de3d317ab378824a
LBA is the index ofa 512 bytes block, so for instance to dump drm partition, dd looks like this:

Code:
dd if=/dev/block/mmcblk0 of=/data/media/0/drm.img bs=[COLOR="Red"][B]512[/B][/COLOR] skip=[COLOR="Red"][B]655360[/B][/COLOR] count=[COLOR="red"][B]16384[/B][/COLOR]
skip value is exactly First LBA in table (=> 655360),
count value is (Last LBA - first LBA +1) (=> 671743 - 655360 +1 => 16384)

You can also retrieve the indexes and size in download mode if you know what partition number is the one you're looking for.

To find partition number do:

Code:
ls -l /dev/block/bootdevice/by-name
It will give you this:
Code:
lrwxrwxrwx root     root              2015-01-15 01:12 DDR -> /dev/block/mmcblk0p30
lrwxrwxrwx root     root              2015-01-15 01:12 aboot -> /dev/block/mmcblk0p8
lrwxrwxrwx root     root              2015-01-15 01:12 abootbak -> /dev/block/mmcblk0p14
lrwxrwxrwx root     root              2015-01-15 01:12 apdp -> /dev/block/mmcblk0p18
lrwxrwxrwx root     root              2015-01-15 01:12 boot -> /dev/block/mmcblk0p38
lrwxrwxrwx root     root              2015-01-15 01:12 cache -> /dev/block/mmcblk0p49
lrwxrwxrwx root     root              2015-01-15 01:12 cust -> /dev/block/mmcblk0p48
lrwxrwxrwx root     root              2015-01-15 01:12 devinfo -> /dev/block/mmcblk0p17
lrwxrwxrwx root     root              2015-01-15 01:12 dpo -> /dev/block/mmcblk0p20
[B]lrwxrwxrwx root     root              2015-01-15 01:12 drm -> /dev/block/mmcblk0p40[/B]
lrwxrwxrwx root     root              2015-01-15 01:12 eksst -> /dev/block/mmcblk0p33
lrwxrwxrwx root     root              2015-01-15 01:12 encrypt -> /dev/block/mmcblk0p32
lrwxrwxrwx root     root              2015-01-15 01:12 factory -> /dev/block/mmcblk0p43
lrwxrwxrwx root     root              2015-01-15 01:12 fota -> /dev/block/mmcblk0p44
lrwxrwxrwx root     root              2015-01-15 01:12 fsc -> /dev/block/mmcblk0p27
lrwxrwxrwx root     root              2015-01-15 01:12 fsg -> /dev/block/mmcblk0p26
lrwxrwxrwx root     root              2015-01-15 01:12 grow -> /dev/block/mmcblk0p51
lrwxrwxrwx root     root              2015-01-15 01:12 hyp -> /dev/block/mmcblk0p6
lrwxrwxrwx root     root              2015-01-15 01:12 hypbak -> /dev/block/mmcblk0p12
lrwxrwxrwx root     root              2015-01-15 01:12 keystore -> /dev/block/mmcblk0p29
lrwxrwxrwx root     root              2015-01-15 01:12 laf -> /dev/block/mmcblk0p37
lrwxrwxrwx root     root              2015-01-15 01:12 limits -> /dev/block/mmcblk0p16
lrwxrwxrwx root     root              2015-01-15 01:12 misc -> /dev/block/mmcblk0p22
lrwxrwxrwx root     root              2015-01-15 01:12 modem -> /dev/block/mmcblk0p1
lrwxrwxrwx root     root              2015-01-15 01:12 modemst1 -> /dev/block/mmcblk0p24
lrwxrwxrwx root     root              2015-01-15 01:12 modemst2 -> /dev/block/mmcblk0p25
lrwxrwxrwx root     root              2015-01-15 01:12 mpt -> /dev/block/mmcblk0p42
lrwxrwxrwx root     root              2015-01-15 01:12 msadp -> /dev/block/mmcblk0p19
lrwxrwxrwx root     root              2015-01-15 01:12 persist -> /dev/block/mmcblk0p23
lrwxrwxrwx root     root              2015-01-15 01:12 persistent -> /dev/block/mmcblk0p35
lrwxrwxrwx root     root              2015-01-15 01:12 pmic -> /dev/block/mmcblk0p2
lrwxrwxrwx root     root              2015-01-15 01:12 pmicbak -> /dev/block/mmcblk0p10
lrwxrwxrwx root     root              2015-01-15 01:12 raw_resources -> /dev/block/mmcblk0p45
lrwxrwxrwx root     root              2015-01-15 01:12 raw_resourcesbak -> /dev/block/mmcblk0p46
lrwxrwxrwx root     root              2015-01-15 01:12 rct -> /dev/block/mmcblk0p34
lrwxrwxrwx root     root              2015-01-15 01:12 recovery -> /dev/block/mmcblk0p39
lrwxrwxrwx root     root              2015-01-15 01:12 rpm -> /dev/block/mmcblk0p7
lrwxrwxrwx root     root              2015-01-15 01:12 rpmbak -> /dev/block/mmcblk0p13
lrwxrwxrwx root     root              2015-01-15 01:12 sbl1 -> /dev/block/mmcblk0p3
lrwxrwxrwx root     root              2015-01-15 01:12 sbl1bak -> /dev/block/mmcblk0p9
lrwxrwxrwx root     root              2015-01-15 01:12 sdi -> /dev/block/mmcblk0p5
lrwxrwxrwx root     root              2015-01-15 01:12 sdibak -> /dev/block/mmcblk0p15
lrwxrwxrwx root     root              2015-01-15 01:12 sec -> /dev/block/mmcblk0p31
lrwxrwxrwx root     root              2015-01-15 01:12 sns -> /dev/block/mmcblk0p41
lrwxrwxrwx root     root              2015-01-15 01:12 spare1 -> /dev/block/mmcblk0p21
lrwxrwxrwx root     root              2015-01-15 01:12 spare2 -> /dev/block/mmcblk0p36
lrwxrwxrwx root     root              2015-01-15 01:12 ssd -> /dev/block/mmcblk0p28
lrwxrwxrwx root     root              2015-01-15 01:12 system -> /dev/block/mmcblk0p47
lrwxrwxrwx root     root              2015-01-15 01:12 tz -> /dev/block/mmcblk0p4
lrwxrwxrwx root     root              2015-01-15 01:12 tzbak -> /dev/block/mmcblk0p11
lrwxrwxrwx root     root              2015-01-15 01:12 userdata -> /dev/block/mmcblk0p50
So, in our case, drm is partition 40, commands to retrieve index and size are:

Code:
cat /sys/devices/soc.0/f9824900.sdhci/mmc_host/mmc0/mmc0:0001/block/mmcblk0/mmcblk0p[COLOR="Red"]40[/COLOR]/start
cat /sys/devices/soc.0/f9824900.sdhci/mmc_host/mmc0/mmc0:0001/block/mmcblk0/mmcblk0p[COLOR="red"]40[/COLOR]/size
giving you 655360 and 16384 directly.

Last, to dump full MMC until userdata, I just did dd until userdata LBA:

Code:
dd if=/dev/block/mmcblk0 of=/data/media/0/full_dump.img bs=512 count=12419072
It's, a big file, around 6 GB. If you want to speed up things a bit, read with a block size of 4096 and divide by 8 the count:

Code:
dd if=/dev/block/mmcblk0 of=/data/media/0/full_dump.img bs=4096 count=1552384
I didn't test relocking yet though, not enough free time. Hope it helps, don't hesitate to ask if you need more details.
Wow, great post!! Thank you so much for that! :good:
 

blake_spector

Senior Member
Nov 29, 2008
70
73
0
Interesting because it did not work for me. :confused:
I read your post in xVANKOs thread. I wonder what the issue was . . . other ppl confirmed it worked. :confused:
^ that is basically why i started this thread, to make sure to take all possible precautions.

Relocking works if you have cust and misc partitions saved before unlock, tested myself on H815!
:good:

As of yet, my phone is still untouched/locked from when I got back the few days after LG warranty.
But I will, as soon as possible, backup all the partitions and see how it turns out.
 
Last edited:

OllieD

Senior Member
Mar 22, 2007
212
27
0
34
North Yorkshire
www.Krew-13.Net
I read your post in xVANKOs thread. I wonder what the issue was . . . other ppl confirmed it worked. :confused:
^ that is basically why i started this thread, to make sure to take all possible precautions.


:good:

As of yet, my phone is still untouched/locked from when I got back the few days after LG warranty.
But I will, as soon as possible, backup all the partitions and see how it turns out.
I reverted to lollipop, Dumped my partitions. Unlocked my Bootloader and restored the partitions and my bootloader remained unlocked.

I do have some other dumps and cannot remember the exact commands i used to dump the partitions.
I believe i just reversed the DD commands he issued in his video (swapping the if= and of= )
I also took some partition backups with flashfire before unlocking but havent tried to restore those.
My initial test however proved unsucessful.
I was waiting for him to release his method but he has since locked the thread.
His account was created just before he made his claims which is mildly suspicious.
If it were me, in the true spirit of the XDA Developers community, i would have just released all the information i had regardless of it not working on certain devices. the community could have helped fill the gaps in my work.
I think he is holding off with the aim of claiming the full unofficial unlock bounty, however i feel he will be lucky to recieve much of that given that most people dont pay and most of those who would have long since moved on to other devices.

Time will tell if this is just another hoax.

I'm hoping its not since i'm probably not the only one to unlock my device due to his claims.
 
  • Like
Reactions: danmit

blake_spector

Senior Member
Nov 29, 2008
70
73
0
I reverted to lollipop, Dumped my partitions. Unlocked my Bootloader and restored the partitions and my bootloader remained unlocked.

I do have some other dumps and cannot remember the exact commands i used to dump the partitions.
I believe i just reversed the DD commands he issued in his video (swapping the if= and of= )
I also took some partition backups with flashfire before unlocking but havent tried to restore those.
My initial test however proved unsucessful.
I was waiting for him to release his method but he has since locked the thread.
His account was created just before he made his claims which is mildly suspicious.
If it were me, in the true spirit of the XDA Developers community, i would have just released all the information i had regardless of it not working on certain devices. the community could have helped fill the gaps in my work.
I think he is holding off with the aim of claiming the full unofficial unlock bounty, however i feel he will be lucky to recieve much of that given that most people dont pay and most of those who would have long since moved on to other devices.

Time will tell if this is just another hoax.

I'm hoping its not since i'm probably not the only one to unlock my device due to his claims.
I am not quite sure that it's a bland hoax (the RElocking part, unlocking all devices . . . another story)
petro_ionut confirmed in this thread it was working for him (as in the original thread) as well as polfrank in the original thread.
Suspisions aside, why would anyone registered a couple of years ago suddenly claim some hoax bs?!

I still have to come up with my own results obviously, but still I trust those guys?! I see no reason not to.
Anyhow, I take your feedback/results very seriously! In the end, I want this to work for me (and others), right?

Also I'm 100% with you on the community part! That's how it should be done . . . I try my best to do it that way.

PS: Did you only swap of= and if= . . . ? or also the seek and skip? I made extra sure to include this tiny detail in my harmful tool http://codepen.io/blake_spector/pen/yVrNxg?editors=0010
 
Last edited: