From 5c9ede6ceb3b51b6d4ffd5071a9633bde645e9ec Mon Sep 17 00:00:00 2001 From: Luxferre <3335173-suborg@noreply.users.gitlab.com> Date: Tue, 28 Jul 2020 20:47:20 +0300 Subject: [PATCH] First commit --- MT6261.bin | Bin 0 -> 141816 bytes README.md | 73 ++++++++++++++++++- mtreader.py | 203 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 275 insertions(+), 1 deletion(-) create mode 100644 MT6261.bin create mode 100644 mtreader.py diff --git a/MT6261.bin b/MT6261.bin new file mode 100644 index 0000000000000000000000000000000000000000..7a9c39d8dfedc3d86bc51a8dc42fc7d4e762b0ac GIT binary patch literal 141816 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 literal 0 HcmV?d00001 diff --git a/README.md b/README.md index bd2fe88..8c2b52a 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,74 @@ # MTreader -A simple, no-nonsense MediaTek MT6261 phone ROM reader \ No newline at end of file +## What's this? + +MTreader is a simple and small (under 200 SLOC) Python-based utility that aims to serve a single goal: read chunks of flash memory from MediaTek MT6261-based feature phones. It can also read firmware version before creating the readback, and supports displaying some decimal error codes from the platform itself if anything goes wrong. No other features are supported or even planned here. + +## How to use it? + +### Basic usage + +``` +python3 mtmaster.py port file start length +``` + +Example - backup all 4MB of flash memory (positions 0 to 4194304 on the device flash) into `rom.bin` file on Mac: `python3 mtreader.py /dev/tty.usbmodem14100 rom.bin 0 4194304` + +### Advanced usage + +In case your phone requires a different DA (Download Agent) binary, you can also specify its parameters: + +- `-a` - path to DA file +- `-s1` - DA stage 1 loading parameters in the `offset:size:addr` format with each value in hex (defaults to `0:0x718:0x70007000`) +- `-s2` - DA stage 2 loading parameters in the `offset:size:addr` format with each value in hex (defaults to `0x718:0x1e5c8:0x10020000`) + +You can also adjust the readback block size as well with the `-bs` parameter. Changing it is not recommended if the default of 1024 bytes works for you. + + +## FAQ + +### Which hardware is currently supported? + +MT6261-based OEM phones that can open BROM port that can be seen as USB-Serial. Nokias (genuine ones) will generally not work. The rule of thumb is: if it can be handled by FlashTool v5.1420, then it can be handled by MTreader as well. + +As for different MT6261 versions support, the tool had been successfully tested on various MT6261D and MT6261M handsets (provided they can also be supported by FlashTool). MT6261D still remains the primary target though. + +### Why was this created then? Isn't FlashTool good enough? + +No, it isn't. FlashTool is proprietary and single-platform. Having no viable open source alternative that can be run on any normal OS was enough to kickstart the research to create this tool. + +Moreover, to in order to just create a flash dump with FlashTool, you'll need to: + +1. Obtain some scatter file (even though it's totally unnecessary for the readback functionality) and load it into FlashTool. +2. Go to the "Readback" tab. +3. Remove all blocks there and create the block with the memory range you want in a tiny GUI window. +4. Select the path to save in another GUI window. +5. Press "Readback" and connect the device with perfect timing for it to be seen by the tool. +6. Probably reinsert the battery (if it's possible at all) after an unsuccessful or even successful operation. + +With MTreader, you just need to: + +1. Enter the command with four necessary parameters - port, output file, range start and range length. +2. Just disconnect the cable after a successful or unsuccessful operation - the tool will automatically send the hardware reset command anyway. + +MTreader was created to only do one thing and try doing it well, and in no way is going to compete with any proprietary flashing or dumping solutions. + +### How to detect the port file name? + +Turn the phone off, insert the cable while holding the bootkey and see what device appears in `/dev` filesystem. On Linux, it most likely would be something like `/dev/ttyUSB0`. On Mac, it would look like `/dev/tty.usbmodem14100`. + +### What is a bootkey? + +It's a key that you hold to open the BROM serial port. It depends on the vendor. On most phones, it's Call key. On some phones, it can be arrow down key, # or something else. + +### Where was information collected from? + +There were three main sources of information: [mtk-open-tools](https://github.com/mtek-hack-hack/mtk-open-tools), [platform-quectel](https://github.com/Wiz-IO/platform-quectel/blob/master/builder/frameworks/MT6261.py) and - most importantly - my own research of FlashTool (running on a VM) USB traffic dumps necessary to combine the above sources, streamline them and make them work on real phone targets, not developer boards. Making the phone load the DA correctly was one thing but complete absence of understanding what to do next and figuring out the protocol to talk to DA itself was another challenge altogether. + +### Will there be other chipset support? + +Most probably, no. MT6261 is the simplest to implement because it uses 2-stage DA, while most other MediaTeks use 4 stages. However, the implementation is as straightforward and hackable as possible, so it shouldn't be a problem to add two other stages and thus other chipset support if absolutely necessary. + +### Are there any plans to support flashing in addition to readbacks? + +No. Not in this utility. Flashing MediaTek SoCs via USB is much more complicated than dumping. The process depends on the kind of partitions we're trying to flash, is generally quite fragile, relies on some proprietary, internal and undocumented logic, and in total requires much more research and rigorous testing on different devices with potential risk of bricking them to an unflashable state. When such research is complete, another utility will be published. diff --git a/mtreader.py b/mtreader.py new file mode 100644 index 0000000..00a32ca --- /dev/null +++ b/mtreader.py @@ -0,0 +1,203 @@ +#!/usr/bin/env python3 + +import os, sys, struct, time +from serial import Serial + +# status constants +NONE = b'' +CONT = b'\x69' +ACK = b'\x5A' +NACK = b'\xA5' + +class MTreader: + + def __init__(self, devfile, da_path, stage_1, stage_2): + self.da_path = da_path + self.st1_offset, self.st1_size, self.st1_addr = [int(x, 16) for x in stage_1.split(":")] + self.st2_offset, self.st2_size, self.st2_addr = [int(x, 16) for x in stage_2.split(":")] + while True: + try: + self.s = Serial(devfile, 115200) + sys.stdout.write("\n") + break + except OSError as e: + sys.stdout.write(".") + sys.stdout.flush() + time.sleep(0.1) + + def crc_word(self, data, chs=0): + for b in data: + chs += b + return chs & 0xFFFF + + def send(self, data, sz = 0): + r = "" + if len(data): + self.s.write(data) + if sz > 0: + r = self.s.read(sz) + return r + + def cmd(self, cmd, sz = 0): + r = "" + cmdlen = len(cmd) + if cmdlen > 0: + assert(self.send(cmd, cmdlen) == cmd) + if sz > 0: + r = self.s.read(sz) + return r + + def da_read16(self, addr, sz=1): + r = self.cmd(b'\xA2' + struct.pack(">II", addr, sz), sz*2) + return struct.unpack(">" + sz * 'H', r) + + def da_write16(self, addr, val): + r = self.cmd(b'\xD2' + struct.pack(">II", addr, 1), 2) + assert(r == b"\0\1") + r = self.cmd(struct.pack(">H", val), 2) + assert(r == b"\0\1") + + def da_write32(self, addr, val): + r = self.cmd(b'\xD4' + struct.pack(">II", addr, 1), 2) + assert(r == b"\0\1") + r = self.cmd(struct.pack(">I", val), 2) + assert(r == b"\0\1") + + def da_send_da(self, address, size, data, block=4096): + r = self.cmd(b'\xD7' + struct.pack(">III", address, size, block), 2) + assert(r == b"\0\0") + while data: + self.s.write(data[:block]) + data = data[block:] + r = self.cmd(NONE, 4) # checksum + + def get_da(self, offset, size): + self.fd.seek(offset) + data = self.fd.read(size) + return data + + def connect(self, timeout = 9.0): + self.s.timeout = 0.02 + while True: + self.s.write(b"\xA0") + if self.s.read(1) == b"\x5F": + self.s.write(b"\x0A\x50\x05") + r = self.s.read(3) + if r == b"\xF5\xAF\xFA": + break + else: + print("BROM connection error") + exit(2) + timeout -= self.s.timeout + if timeout < 0: + print("Timeout error") + exit(2) + self.s.timeout = 1.0 + self.CPU_HW = self.da_read16(0x80000000)[0] + self.CPU_SW = self.da_read16(0x80000004)[0] + self.chip = self.da_read16(0x80000008)[0] + self.CPU_SB = self.da_read16(0x8000000C)[0] + self.da_write16(0xa0700a28, 0x4010) + self.da_write16(0xa0700a00, 0xF210) + self.da_write16(0xa0030000, 0x2200) + self.da_write16(0xa071004c, 0x1a57) + self.da_write16(0xa071004c, 0x2b68) + self.da_write16(0xa071004c, 0x042e) + self.da_write16(0xa0710068, 0x586a) + self.da_write16(0xa0710074, 0x0001) + self.da_write16(0xa0710068, 0x9136) + self.da_write16(0xa0710074, 0x0001) + self.da_write16(0xa0710000, 0x430e) + self.da_write16(0xa0710074, 0x0001) + self.da_write32(0xa0510000, 0x00000002) + + def da_start(self): + assert(os.path.isfile(self.da_path) == True) + self.fd = open(self.da_path, "rb") + # Send DA first stage + offset = self.st1_offset + size = self.st1_size + data = self.get_da(offset, size) + self.da_send_da(self.st1_addr, size, data, 0x400) + # Send DA second stage + offset = self.st2_offset + size = self.st2_size + data = self.get_da(offset, size) + self.da_send_da(self.st2_addr, size, data, 0x800) + offset += size + # Pass execution to DA + r = self.cmd(b'\xD5' + struct.pack(">I", self.st1_addr), 2) + assert r == b"\0\0" + r = self.cmd(NONE, 4) + self.send(b"\xa5\x05\xfe\x00\x08\x00\x70\x07\xff\xff\x02\x00\x00\x01\x08", 1) # something undocumented + #Set flash ID info and other stuff + for i in range(512): + data = self.get_da(offset, 36) + assert(data[:4] != b'\xFF\xFF\0\0') + offset += 36 + r = self.send(data, 1) + if r == ACK: + assert(self.cmd(NONE, 2) == b'\xA5\x69') + break + assert(r == CONT) + r = self.send(b"\0\0\0\0", 256) + + def get_version(self): + self.send(b'\xEF', 1) + r = self.send(b'\xEF', 256) + r = r[:64].strip(b'\0') + return r + + def da_read_flash(self, start, size, outfile, blk_size=1024): + r = self.send(b'\xD6\0' + struct.pack(">LL", start, size), 1) + if r == NACK: + errorcode = self.s.read(4) + print('Flash read error: %d, exiting' % int.from_bytes(errorcode, 'big')) + self.da_reset() + exit(1) + self.send(struct.pack(">L", blk_size), 0) + outf = open(outfile, "wb") + while size > 0: + chunk = self.s.read(min(size, blk_size)) + size -= len(chunk) + chksum = struct.unpack(">H", self.s.read(2))[0] + chksum_ref = self.crc_word(chunk) + assert(chksum_ref == chksum) + outf.write(chunk) + sys.stdout.write(".") + sys.stdout.flush() + self.s.write(ACK) # continue with the next packet + + def da_reset(self): + r = self.send(b'\xB9', 1) + r = self.send(b'\xC9\x00', 1) + r = self.send(b'\xDB\x01\x40\x00\x00\x00\x00', 1) + +if __name__ == "__main__": # main app start + from argparse import ArgumentParser + parser = ArgumentParser(description="MTreader: a simple, no-nonsense MediaTek MT6261 phone ROM reader", epilog="(c) Luxferre 2020 --- No rights reserved") + parser.add_argument('port', help='Serial port to connect to (/dev/ttyUSB0, /dev/tty.usbmodem14100 etc.)') + parser.add_argument('file', help='File to write the dump into') + parser.add_argument('start', type=int, help='start position (in the phone flash memory)') + parser.add_argument('length', type=int, help='data length') + parser.add_argument('-da','--agent', default=os.path.dirname(os.path.realpath(__file__))+'/MT6261.bin', help='Path to download agent (DA) binary') + parser.add_argument('-s1','--stage-1', default='0:0x718:0x70007000', help='Data for first stage DA loading (offset:size:addr format)') + parser.add_argument('-s2','--stage-2', default='0x718:0x1e5c8:0x10020000', help='Data for second stage DA loading (offset:size:addr format)') + parser.add_argument('-bs','--block-size', type=int, default=1024, help='Readback block size (in bytes), defaults to 1024') + args = parser.parse_args() + if(args.length < 1): + print('Empty length of data, exiting') + exit(1) + print("Turn the phone off, hold the boot key and connect the cable") + m = MTreader(args.port, args.agent, args.stage_1, args.stage_2) + m.connect() + if m.chip != 0x6261: + print("Warning: chip ID is detected as %04x instead of 6261, readback process might fail!") + m.da_start() + print("DA sent and responsive, starting the operation") + ver = m.get_version().decode('ascii') + print("Firmware version: %s\n" % ver) + print("Dumping, don't disconnect...") + m.da_read_flash(args.start, args.length, args.file, args.block_size) + print("\nROM dumped, disconnect the cable") + m.da_reset()