[Android Software/Hacking General [Developers Only]] Alex1948:
Scatter file

It is true :

Firmware.info - from backup with MTKdroid

Preloader 0x0000000000600000 0x0000000000000000 2 /dev/misc-sd

mbr 0x0000000000080000 0x0000000000000000 2 /dev/block/mmcblk0

ebr1 0x0000000000080000 0x0000000000080000 2 /dev/block/mmcblk0p1

pro_info 0x0000000000300000 0x0000000000100000 2 /dev/block/mmcblk0

nvram 0x0000000000500000 0x0000000000400000 2 /dev/block/mmcblk0

protect_f 0x0000000000a00000 0x0000000000900000 2 /dev/block/mmcblk0p2

protect_s 0x0000000000a00000 0x0000000001300000 2 /dev/block/mmcblk0p3

seccfg 0x0000000000020000 0x0000000001d00000 2 /dev/block/mmcblk0

uboot 0x0000000000060000 0x0000000001d20000 2 /dev/block/mmcblk0

bootimg 0x0000000000600000 0x0000000001d80000 2 /dev/block/mmcblk0

recovery 0x0000000000600000 0x0000000002380000 2 /dev/block/mmcblk0

sec_ro 0x0000000000040000 0x0000000002980000 2 /dev/block/mmcblk0

misc 0x0000000000080000 0x00000000029c0000 2 /dev/block/mmcblk0

logo 0x0000000000300000 0x0000000002a40000 2 /dev/block/mmcblk0

ebr2 0x0000000000080000 0x0000000002d40000 2 /dev/block/mmcblk0

expdb 0x0000000000a00000 0x0000000002dc0000 2 /dev/block/mmcblk0

spdata 0x0000000000800000 0x00000000037c0000 2 /dev/block/mmcblk0p4

android 0x0000000038400000 0x0000000003fc0000 2 /dev/block/mmcblk0p5

cache 0x0000000017800000 0x000000003c3c0000 2 /dev/block/mmcblk0p6

usrdata 0x0000000074000000 0x0000000053bc0000 2 /dev/block/mmcblk0p7

fat 0x000000001fd60000 0x00000000c7bc0000 2 /dev/block/mmcblk0p8

bmtpool 0x0000000001500000 0x00000000ff9f00a8 2 /dev/block/mmcblk0

Dumchar_info :

Part_Name	Size	StartAddr	Type	MapTo

preloader 0x0000000000600000 0x0000000000000000 2 /dev/misc-sd

mbr 0x0000000000080000 0x0000000000000000 2 /dev/block/mmcblk0

ebr1 0x0000000000080000 0x0000000000080000 2 /dev/block/mmcblk0p1

pro_info 0x0000000000300000 0x0000000000100000 2 /dev/block/mmcblk0

nvram 0x0000000000500000 0x0000000000400000 2 /dev/block/mmcblk0

protect_f 0x0000000000a00000 0x0000000000900000 2 /dev/block/mmcblk0p2

protect_s 0x0000000000a00000 0x0000000001300000 2 /dev/block/mmcblk0p3

seccfg 0x0000000000020000 0x0000000001d00000 2 /dev/block/mmcblk0

uboot 0x0000000000060000 0x0000000001d20000 2 /dev/block/mmcblk0

bootimg 0x0000000000600000 0x0000000001d80000 2 /dev/block/mmcblk0

recovery 0x0000000000600000 0x0000000002380000 2 /dev/block/mmcblk0

sec_ro 0x0000000000040000 0x0000000002980000 2 /dev/block/mmcblk0

misc 0x0000000000080000 0x00000000029c0000 2 /dev/block/mmcblk0

logo 0x0000000000300000 0x0000000002a40000 2 /dev/block/mmcblk0

ebr2 0x0000000000080000 0x0000000002d40000 2 /dev/block/mmcblk0

expdb 0x0000000000a00000 0x0000000002dc0000 2 /dev/block/mmcblk0

spdata 0x0000000000800000 0x00000000037c0000 2 /dev/block/mmcblk0p4

android 0x0000000038400000 0x0000000003fc0000 2 /dev/block/mmcblk0p5

cache 0x0000000017800000 0x000000003c3c0000 2 /dev/block/mmcblk0p6

usrdata 0x0000000074000000 0x0000000053bc0000 2 /dev/block/mmcblk0p7

fat 0x000000001fd60000 0x00000000c7bc0000 2 /dev/block/mmcblk0p8

bmtpool 0x0000000001500000 0x00000000ff9f00a8 2 /dev/block/mmcblk0

Part_Name:Partition name you should open;

Size:size of partition

StartAddr:Start Address of partition;

Type:Type of partition(MTD=1,EMMC=2)

MapTo:actual device you operate

Block Info - from Scatter file :

PRELOADER 0x0

{

}

MBR 0x600000

{

}

EBR1 0x680000

{

}

__NODL_PRO_INFO 0x700000

{

}

__NODL_NVRAM 0xa00000

{

}

__NODL_PROTECT_F 0xf00000

{

}

__NODL_PROTECT_S 0x1900000

{

}

__NODL_SECCFG 0x2300000

{

}

UBOOT 0x2320000

{

}

BOOTIMG 0x2380000

{

}

RECOVERY 0x2980000

{

}

SEC_RO 0x2f80000

{

}

__NODL_MISC 0x2fc0000

{

}

LOGO 0x3040000

{

}

EBR2 0x3340000

{

}

__NODL_EXPDB 0x33c0000

{

}

__NODL_SPDATA 0x3dc0000

{

}

ANDROID 0x45c0000

{

}

CACHE 0x3c9c0000

{

}

USRDATA 0x541c0000

{

}

__NODL_FAT 0xc81c0000

{

}

__NODL_BMTPOOL 0xffff00a8

{

}

[MENTION=5119815]rua1[/MENTION] say : if emmc type flash then add preloader size (or preloader+dsp_bl on MT6575,77 dev) to start adress other blocks

0x3c3c00000 +

0x00600000 =

0x3c9c00000 – CACHE from scatter file(lenght block for Read Back[ROM_0]).And Start adress is : 0x00000000)

OK , and if , I have that file local on my PC, I can run this python script:

Code:

import sys

import string

import re

ins = open( "dumchar.txt", "rb" )

outs = open( "scatter.txt", "wb" )

for line in ins:

linesp = re.split('\W+', line)

name = linesp[0].upper()

start = int(linesp[2],16)

block = linesp[5]

if block != 'misc':

start = start + 0x600000

outs.write(name + " " + string.replace(hex(start), "L", "") + "\n{\n}\n")

ins.close()

outs.close()

what happens, get one fille scatter with correct addresses, as in the original firmware ???