10/02/2016

Unlocking cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Motorola Bootloader

In this blog post, we'll explore cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Motorola bootloader on recent Qualcomm Snapdragon devices. Our goal will be to unlock cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 bootloader of a Moto X (2nd Gen), by using cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 TrustZone kernel code execution vulnerability from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 previous blog posts. Note that although we will show cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 complete unlocking process for this specific device, it should be general enough to work at-least for most modern Motorola devices.

Why Motorola?


After reporting cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 previous TrustZone kernel privilege escalation to Qualcomm, I was gifted a shiny new Moto X. However... There was one little snag - cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y accidentally sent me a locked device. This was a completely honest mistake, and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y did offer many times to unlock cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 device - but where's cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 fun in that? So without furcá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r ado, let's dive into cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Motorola bootloader and see what it takes to unlock it.



Setting cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Stage


Before we start our research, let's begin with a short introduction to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 boot process - starting right at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 point at which a device is powered on.

First - cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 PBL (Primary Boot Loader), also known as cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 "BootROM" is executed. Since cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 PBL is stored within an internal mask ROM, it cannot be modified or provisioned, and is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365refore an intrinsic part of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 device. As such, it only serves cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 very minimal purpose of allowing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 device to boot, and aucá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365nticating and loading cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 next part of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 boot-chain.

Then, two secondary bootloaders are loaded, SBL1 (Secondary Boot Loader), followed by SBL2. Their main responsibility is to boot up cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 various processors on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 SoC and configure cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m so that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y're ready to operate.

Next up in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 boot-chain, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 third and last secondary bootloader, SBL3, is loaded. This bootloader, among ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r tasks, verifies and loads cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Android Bootloader - "aboot".

Now this is where we get to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 part relevant for our unlocking endeavours; cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Android Bootloader is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 piece of software whose responsibility is, as its name suggests, to load cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Android operating system and trigger its execution.

This is also cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 piece of boot-chain that OEMs tend to customize cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 most, mainly because while cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 first part of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 boot-chain is written by Qualcomm and deals with SoC specifics, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Android bootloader can be used to configure cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 way cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Android OS is loaded.

Among cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 features controlled by aboot is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 "bootloader lock" - in ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r words, aboot is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 first piece of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 boot-chain which can opt to break cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 chain of trust (in which each bootloader stage verifies cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 next) and load an unsigned operating system.

For devices with an unlockable bootloader, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 unlocking process is usually performed by rebooting cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 device into a special ("bootloader") mode, and issuing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 relevant fastboot command. However, as we will later see, this interface is also handled by aboot. This means that not only does aboot query cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 lock status during cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 regular boot process, but it also houses cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 code responsible for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 actual unlocking process.

As you may know, different OEMs take different stances on this issue. In short, "Nexus" devices always ship with an "unlockable" bootloader. In contrast, Samsung doesn't allow bootloader unlocking for most of its devices. Ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r OEMs, Motorola included, ship cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir devices locked, but certain devices deemed "eligible" can be unlocked using a "magic" (signed) token supplied by cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 OEM (although this also voids cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 warranty for most devices).

So... it's all very complex, but also irrelevant. That's because we're going to do cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 whole process manually - if aboot can control cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 lock status of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 device, this means we should probably be able to do so as well, given an elevated enough set of privileges.

Getting Started


Now that we have a general grasp of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 components involved and of our goal, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 next stage is to analyse cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 actual aboot code.

Since cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 binaries for all stages of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 boot-chain are contained within cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 factory firmware image, that would naturally be a good place to start. There are several download links available - here are a few. In case you would like to follow along with me, I'm going to refer to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 symbols in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 version "ATT_XT1097_4.4.4_KXE21.187-38".

After downloading cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 firmware image, we are faced with our first challenge - cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 images are all packed using a proprietary format, in a file called "motoboot.img". However, opening cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 file up in a hex-editor reveals it has a pretty simple format we can deduce:


As you can see above, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 sought-after aboot image is stored within this file, along with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 TrustZone image, and various stages of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 boot-chain. Good.

After analysing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 structure above, I've written a python script which can be used to unpack all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 images from a given Motorola bootloader image, you can find it here.

Much ado aboot nothing


We'll start by inspecting cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 aboot image. Discouragingly, it is 1MB large, so going over it all would be a waste of time. However, as we've mentioned above, when booting cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 device into cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 special "bootloader" mode, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 actual interaction with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user is provided by aboot itself. This means that we can start by searching for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 strings which are displayed when cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 unlocking process is performed - and continue from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re.

A short search for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 "unlock..." string which is printed after starting cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 unlock process brings us straight to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 function (@0xFF4B874) which deals with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 unlocking logic:


That was pretty fast!

As you can see, after printing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 string to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 console, three functions are called consecutively, and if all three of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m succeed, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 device is considered unlocked.

Going over cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 last two functions reveals cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir purpose is to erase cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user's data partitions (which is always performed after cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 bootloader is unlocked, in order to protect cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 device owner's privacy). In any case, this means cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y are irrelevant to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 unlocking process itself and are simply side-effects.

This leaves us with a single function which, when called, should unlock cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 bootloader.

So does this mean we're done already? Can we just call this function and unlock cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 device?

Actually, not yet. Although cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 TrustZone exploit allows us to achieve code-execution within cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 TrustZone kernel, this is only done after cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 operating system is loaded, at which point, executing aboot code directly could cause all sorts of side-effects (since, for example, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 code might assume that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re is no operating system/cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 MMU could be disabled, etc.). And even if it were that simple, perhaps cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re is something interesting to be learned by fully understanding cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 locking mechanism itself.

Regardless, if we can understand cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 logic behind cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 code, we can simply emulate it ourselves, and perform cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 meaningful parts of it from our TrustZone exploit. Analysing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 unlocking function reveals a surprisingly simple high-level logic:


Unfortunately, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se two functions wreak havoc within IDA (which fails to even display a meaningful call-graph for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m).

Manually analysing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 functions reveals that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y are in fact quite similar to one anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r. They both don't contain much logic of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir own, but instead cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y prepare arguments and call cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 following function:


This is a little surprising - instead of handling cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 logic itself, this function issues an an SMC (Supervisor Mode Call) in order to invoke a TrustZone system-call from aboot itself! (as we've discussed in previous blog posts). In this case, both functions issue an SMC with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 request code 0x3F801. Here is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 relevant pseudo-code for each of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m:


At this point we've gleaned all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 information we need from aboot, now lets switch over to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 TrustZone kernel to find out what this SMC call does.

Enter Stage Left, TrustZone


Now that we've established that an SMC call is made with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 command-code 0x3F801, we are left with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 task of finding this command within cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 TrustZone kernel.

Going over cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 TrustZone kernel system calls, we arrive at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 following entry:


This is a huge function which performs widely different tasks based on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 first argument supplied, which we'll call cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 "command code" from now on.

It should be noted an additional flag is passed into this system-call indicating whecá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r or not it was called from a "secure" context. This means that if we try invoking it from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Android OS itself, an argument will be passed marking our invocation is insecure, and will prevent us from performing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se operations ourselves. Of course, we can get around this limitation using our TrustZone exploit, but we'll go into that later!

As we've seen above, this SMC call is triggered twice, using cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 command codes #1 and #2 (I've annotated cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 functions below to improve readability):


In short, we can see both commands are used to read and write (respectively) values from something called a "QFuse".

QFuses


Much like a real-life fuse, a QFuse is a hardware component which facilitates a "one-time-writeable" piece of memory. Each fuse represents a single bit; fuses which are in-tact represent cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 bit zero, and "blown" fuses represent cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 bit one. However, as cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 name suggests, this operation is irreversible - once a fuse is blown it cannot be "un-blown".

Each SoC has it's own arrangement of QFuses, each with it's own unique purpose. Some fuses are already blown when a device is shipped, but ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365rs can be blown depending on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user's actions in order to change cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 way a specific device feature operates.

Unfortunately, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 information regarding cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 role of each fuse is not public, and we are cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365refore left with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 single option of reversing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 various software components to try and deduce cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir role.

In our case, we call a specific function in order to decide which fuse we are going to read and write:


Since we call this function with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 second syscall argument, in our case "4", this means we will operate on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 fuse at address 0xFC4B86E8.

Putting it all togecá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r


Now that we understand cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 aboot and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 TrustZone logic, we can put cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m togecá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r to get cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 full flow:

  • First, aboot calls SMC 0x3F801 with command-code #1
    • This causes cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 TrustZone kernel to read and return cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 QFuse at address 0xFC4B86E8
  • Then, iff cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 first bit in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 QFuse is disabled, aboot calls SMC 0x3F801 once more, this time with command-code #2
    • This causes cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 TrustZone kernel to write cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 value 1 to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 LSB of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 aforementioned QFuse.
Turns out to be very simple after all - we just need to set a single bit in a single QFuse, and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 bootloader will be considered unlocked.

But how can QFuses be written?

DIY QFuses


Luckily cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 TrustZone kernel exposes a pair of system-call which allow us to read and write a restricted set of QFuses - tzbsp_qfprom_read_row and tzbsp_qfprom_write_row, respectively. If we can lift those restrictions using our TrustZone exploit, we should be able to use this API in order to blow cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 wanted QFuse.

Lets take a look at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se restrictions within cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 tzbsp_qfprom_write_row system-call:


So first, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re's a DWORD at 0xFE823D5C which must be set to zero in order for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 function's logic to continue. Normally this flag is in fact set to one, thus preventing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 usage of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 QFuse calls, but we can easily enough overwrite cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 flag using cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 TrustZone exploit.

Then, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re's an additional function called, which is used to make sure that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ranges of fuses being written are "allowed":

As we can see, this function goes over a static list of pairs, each denoting cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 start and end address of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 allowed QFuses. This means that in order to pass this check, we can overwrite this static list to include all QFuses (setting cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 start address to zero and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 end address to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 maximal QFuse relative address - 0xFFFF).

Trying it out

Now that we have everything figured out, it's time to try it out ourselves! I've written some code which does cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 following:
  • Achieves code-execution within TrustZone
  • Disables cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 QFuse protections
  • Writes cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 LSB QFuse in QFuse 0xFC4B86E8
I encourage you to check out cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 code here: https://github.com/laginimaineb/Alohamora



Have fun!

Final Thoughts

In this blog post we went over cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 flow controlled by a single QFuse. But, as you can probably guess, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re are many different interesting QFuses out cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re, waiting to be discovered.

On cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 one hand, blowing a fuse is really "dangerous" - making one small mistake can permanently brick you device. On cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r hand, some fuses might facilitate a special set of features that we would like to enable.

One such example is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 "engineering" fuse; this fuse is mentioned throughout cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 aboot image, and can be used to enable an amazing range of capabilities such as skipping secure boot, loading unsigned peripheral images, having an unsigned GPT, and much more.



However, this fuse is blown in all consumer devices, marking cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 device as a "non-engineer" device, and disabling cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se features. But who knows, maybe cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re are ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r fuses which are just as important, which have not yet been discovered...

559 comments:

  1. Lol, love cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 warning message. Injury to users!?

    ReplyDelete
    Replies
    1. Those allergic to excessive warning messages, maybe?

      Delete
    2. Does this work for Motorola Droid maxx/Ultra/Mini

      Delete
    3. This comment has been removed by cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 author.

      Delete
  2. Hold Up! Did you really just do this

    ReplyDelete
  3. Hi, I'm wondering how did you did cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 trustzone exploit on this device. As I can remember your trustzone exploit needed a modified kernel (or can I load it as a kernel module?) And if cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 device is bootloader locked how did you get cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 custom kernel to run?
    Thank you for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 research :D If this is double on by loading a kernel module. I'm going to try adjust this to my Fire Phone(It'll probably brick :P But I'm going to do it anyway)

    ReplyDelete
    Replies
    1. This wouldnt apply to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 firephone, iirc cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 boot unlock mechanism on that is a signed blob, not a qfuse.

      Delete
    2. Hi Madushan,

      I read your question and got a little curious, so I downloaded cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Fire Phone aboot and had a look at it.

      As Justin said, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 bootloader lock cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re is facilitated by using a signed blob. Here is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 unlocking code: http://imgur.com/OZeTqNC

      That said, it might still be possible to craft a blob that'll cause cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 verification to pass, ultimately depends on how cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 verification is done (let me know if you take a look at it!).

      Anyway, as for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 unlocking code I provided - you're right, this version of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 code depends on my modified kernel. I also have anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r version, written in C, which uses a kernel exploit to directly execute code in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 kernel and issue SMCs from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re. I'll publish that as well (just need to clean it up a little).

      Gal.

      Delete
    3. UPDATE: Dug a little bit deeper; seems like a 2048-bit RSA signature. I carved out cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 certificate: http://imgur.com/1a2TY0P

      So unless cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re's some kind of bug in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 verification itself or an alternative unlocking flow, seems like a no-go.

      Delete
    4. UPDATE2: So cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 code actually calls RSA_public_decrypt (with PKCS1 padding) on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 given token, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n makes sure that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 content in it is 0x[SOME_WORD][SOME_DWORD][zero_pad_to_length_256]. I'm still thinking about this a little... I don't know what cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se DWORDs are (could try and find out), but if cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y can be changed, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n you could modify cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m to fit any given signed token (for any ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r phone).

      Delete
    5. UPDATE3: Okay - a lot of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 code cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re is borrowed from LK (https://www.codeaurora.org/cgit/external/gigabyte/qrd-gb-dsds-7225/plain/bootable/bootloader/lk/platform/msm_shared/mmc.c) which makes following cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 flow easier.

      Anyway, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se DWORDs are read in from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 MMC - in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 version of aboot that I analysed (http://forum.xda-developers.com/attachment.php?attachmentid=3437011&d=1439413035), cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y are fetched in from: (byte)0xF967AA4+0x4A4, (DWORD)0xF967AA4+0x4B8.

      If you want to play around with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 TrustZone exploit and read those addresses, we can try and figure out what cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y are. In any case, we can always call cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 MMC flashing code to overwrite cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m, and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n supply *any* signed token to unlock.

      Just so you know, though, this is quite dangerous - if anything else depends on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se values we may brick cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 device.

      Delete
    6. Wow, There I was waiting for a reply in this comment and I've forgotten to turn on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 email notifications! Sorry for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 *very* late reply. I just saw this.
      A while back I started this thread (http://forum.xda-developers.com/fire-phone/general/dev-bootloader-unlock-development-t3183330) on XDA to discuss about probable fire phone bootloader unlocks (I've meantioned some blog posts here in it :) ).

      So cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 version of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 aboot you inspected is from fireos 3.x.x version. It has your trustzone exploit. But in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 newer version of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 fireos (4.6.3 which sadly I have in my phone :/ ) seems to have fixed cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 bug. I'm not sure though. I'm not very good with reversing stuff. I can upload cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 newest version of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 aboot to somewhere if you are interested.

      Anyway this means people with older fireos versions will be able to run your exploit without a kernel modification right? (kernel module is ok too. I can load unsigned kernel modules without a problem). I can try this too on my phone if you release cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 code.

      What you are proposing is something like overwriting cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 public key on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 MMC right?

      Thank you for taking cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 time to look at my device, which amazon has forgotten. :)

      Delete
    7. BTW, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re was some person(or two) over XDA who was willing to donate a firephone to whoever is trying to unlock it. Checkout this thread (http://forum.xda-developers.com/fire-phone/general/bounty-pledge-to-unlock-fire-phone-t3204176)

      Delete
    8. Hi Madushan,

      I didn't forget my promise, I will definitely release cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 C version of my exploit (once I get a little bit of free time). Bear in mind that I'm releasing a whole new TrustZone exploit chain, which I'm pretty sure is relevant for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 FirePhone as well - so that should work for you.

      If you're willing to experiment, feel free to use it to follow cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 instructions in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 blog posts. I'll do my best to help you out, but I'm pretty busy so I can't promise anything.

      Gal.

      Delete
    9. Hi Gal,
      Am I correcting assuming cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 exploit you mention here is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 FuzzZone explicit that was fixed after 30.10.14? If that so, New releases of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 fire os had it fixed. :/ Older ones would work though.
      I'm looking forward to you release to start experimenting. Thank you for all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 work. :)

      Delete
    10. For cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 C version, I was referring to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 previous exploit, yes. I'll do my best to release cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 new ones as soon as time permits.

      Delete
  4. This is impressive :) I'm tempted to puck up a cheap Moto E LTE just to try and see if it works cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re too!

    ReplyDelete
    Replies
    1. Where are you finding a Moto E using MSM8974/SD810?

      --beaups

      Delete
  5. Thanks for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 interesting articles!

    Got a small question - what do you use to get comments with ARM opcodes description?

    ReplyDelete
    Replies
    1. Thanks for reading!

      The comments are a builtin feature in IDA (Options->General->Disassembly->Comments).

      P.S - I usually don't use this (as I find cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 clutter a little annoying), but for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 purpose of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 blog posts I enable it so that it'll be easier for people without an ARM background to read.

      Delete
  6. Why would your C exploit need cleaned up, I can do it in 4 lines of code :P Nice writeup, as always.

    --beaups

    ReplyDelete
    Replies
    1. Right now I have a C file with all my TZ experiments and *lots* of irrelevant code, I wouldn't wish it on anyone to try and figure out what's going on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re ;)

      Delete
  7. Is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re an easy way to remap ram over cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 qfuse range for experimentation purposes?
    Or alternately a central place to patch a read-qfuse function?
    To make it less dangerous to explore cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 different fuse settings...

    ReplyDelete
    Replies
    1. You can overwrite cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 read-QFuse function by setting cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 DACR and overwriting cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 TrustZone function I detailed above, such as tzbsp_qfprom_read_row (see cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 TrustZone exploit post for more info), but this won't be of much help...

      Since a lot of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se QFuses are checked during cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 boot process by components which are loaded way before cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 HLOS is executed (such as aboot, SBL and PBL), hooking this function won't let you observe cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 behaviours which would be exhibited by those components.

      That said, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re may be an option to overwrite cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 function and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n attempt to jump directly into cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 SBL3 or aboot - I've never tried to do this, but in practice cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re should be some support for a "warm boot", which means this might work. Of course, in practice this is probably a lot harder, since SBL3/aboot may depend a lot on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 current state which should be set by previous stages of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 boot-chain, and directly handing over control to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m might have unpredictable results.

      Delete
  8. So what are cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 exact steps do i have to carried out to unlock cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 bootloader for mine xt1254...I cant afford cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 sunshine since dont have visa card...Will i be able to unlock it for free like ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r devices do...

    ReplyDelete
  9. i wonder if this can be done on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 BlackBerry Priv that is now says that is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 most secure device of Android device...
    http://forum.xda-developers.com/blackberry-priv/general/blackberry-priv-autoloader-qc8992-aac826-t3250462

    all files cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re and no need is spacial unpacking just unzip.

    ReplyDelete
  10. is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re any chance you could give us a tutorial on how to use your unpack script as i am having trouble getting it to point to motoboot.img

    ReplyDelete
  11. AMAZING!!! Is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re any possibility to port it to MOTO MAXX XT 1225, trust me... lots of guys here in brazil will be your slave after this work's includind ME!!!!

    ReplyDelete
  12. How to use it and where is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 files..Can we use it on stock xt907 183.46.15 locked bootloader

    ReplyDelete
  13. I'm getting a syntax error on line 45 of exploit.py. Anybody know what I'm missing?

    ReplyDelete
    Replies
    1. File "exploit.py", line 45
      print current_dword.encode("hex")
      ^
      SyntaxError: invalid syntax

      I'm using python 3.5, do I need to use python 2?

      Delete
    2. Yeah cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 exploit script was written in pythons older format so you will get Syntax errors or you can replace cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 errors with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 update syntax format in Python 3.5 which is what I did and it's pretty straight forward:)

      Delete
    3. The scripts are for python 2.x

      Delete
  14. I'm confused how to use cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 codes to unlock cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 bootloader. I'm a little familiar with Python codes and yada yada but never actually payed attention how to execute cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m. Please give me a little tutorial on this.

    ReplyDelete
  15. can somebody help me?, i don't know how to do it

    ReplyDelete
  16. How did you get FuzzZone onto cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 locked device in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 first place? Did you use an existing Android Exploit to patch kernel memory?

    In order to use FuzzZone you would have needed to edit cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 kernel?

    ReplyDelete
    Replies
    1. I actually used a native version that injects code into cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 kernel using a kernel exploit. I cleaned cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 original code up and posted it on my github, here: https://github.com/laginimaineb/standalone_msm8974

      Delete
  17. Amazing work.

    Would cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same symbols in your provided exploit work for anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r device(2nd gen 4g Moto E in my case)?

    If not would you mind telling me if cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re is an easy way to get cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 correct addresses without redoing a TrustZone exploit ground up?

    Thank you.

    ReplyDelete
    Replies
    1. In order to use cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 exploit you'll have to find cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 symbols for your version. However, this isn't really all that hard - you can just download cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 firmware image for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 device I used, and match cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 symbols up with your own firmware.

      Delete
  18. This comment has been removed by cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 author.

    ReplyDelete
  19. Hello and great work can you guide me to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 right direction if possible and how to unlock bootloader of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 lg gflex 2 wich uses snapdragon 810? If its not possible right now do you have plans for future

    ReplyDelete
    Replies
    1. Sorry, haven't had a look at that bootloader. No plans to do so right now, but perhaps I'll take a look at an LG bootloader in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 future.

      Delete
  20. Who ever this poster is he clearly copied all your work created from this site and repost on this site. No credit given to you. https://rstforums.com/forum/topic/100469-unlocking-cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365-motorola-bootloader/

    ReplyDelete
    Replies
    1. Ah, that's too bad... Thanks for letting me know.

      Delete
  21. How did you reverse cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 bootloader to get such a clear idea of what and where is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 unlock function?
    I'm trying to reverse cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 g4 bootloader and I can't fugire that out...

    ReplyDelete
    Replies
    1. Just work your way backwards from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 relevant strings, I think that's easiest. (For example, I started by looking for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 string "Unlock").

      Delete
    2. This comment has been removed by cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 author.

      Delete
    3. Pretty sure cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 magic happens here.. but.. I think I messed up cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 reversing.. (I hope I messed it up)

      http://pastebin.com/bUWnMGgn

      Delete
  22. how did you read cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 aboot image? I have IDA Pro but don't know how to use it :(

    ReplyDelete
  23. can you write one for unlocking cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 moto droid maxx 2 verizon

    ReplyDelete
  24. What is your view on exploiting TrustZone on droid turbo (xt1254 , SnapDragon805 ) running latest Marshmallow MCG24.251-5 in order to achieve BL unlock?. I'm looking into it but really need help from more experienced. After SU4TL (Lollipop) , exploit has been obviously patched, but my noob logic tells me cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 principle should be simillar with finding functions that trigger qfuse which is responsible for BL unlock? Or "unlock" itself has been completely patched ,and it doesn't "exist" anymore at all in aboot? Would really appreciate if somebody could shed some light in here..Checking with IDA , aboot looks cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same to me..
    -Marko

    ReplyDelete
  25. Work your magic for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 SM-G935V I am sure thousands would consider you aneed android God if you were able to be successful.

    ReplyDelete
  26. Looks like you're not cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 first to look into this: http://blog.azimuthsecurity.com/2013/04/unlocking-motorola-bootloader.html

    ReplyDelete
  27. Have you had a look at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Maxx 2? It's my understanding that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 TrustZone exploit was patched. Do you know of any bootloader exploits for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 more recent Motorola Devices?

    ReplyDelete
  28. Think you ?can you help me unlock MSM8937 ?
    https://forum.xda-developers.com/showpost.php?p=72066067&postcount=4

    ReplyDelete
  29. There seems to be an error when running cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 python scripts:
    line 17, in execute_register_scm
    return int(re.search("^IOCTL RES: (\d+)", resp_str, re.MULTILINE).group(1))
    AttributeError: 'NoneType' object has no attribute 'group'

    Any fix?

    ReplyDelete
  30. Hi, i find cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se commands in samsung aboot
    C:\Users\Home\Documents\Strings\sblapp.bin: init frp lock flag 0x%x and OEM unlo
    ck flag 0x%x
    C:\Users\Home\Documents\Strings\sblapp.bin: Can't lock and unlock in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same de
    sc
    C:\Users\Home\Documents\Strings\sblapp.bin: Device unlocked: %s
    C:\Users\Home\Documents\Strings\sblapp.bin: Device critical unlocked: %s
    C:\Users\Home\Documents\Strings\sblapp.bin: get_unlock_ability: %d
    C:\Users\Home\Documents\Strings\sblapp.bin: Device is unlocked! Skipping verific
    ation...
    C:\Users\Home\Documents\Strings\sblapp.bin: unlocked!
    C:\Users\Home\Documents\Strings\sblapp.bin: oem unlock is not allowed
    C:\Users\Home\Documents\Strings\sblapp.bin: Need wipe userdata. Do 'fastboot oem
    unlock-go'
    C:\Users\Home\Documents\Strings\sblapp.bin: frp-unlock
    C:\Users\Home\Documents\Strings\sblapp.bin: use_signed_kernel=%d, is_unlocked=%d
    , is_tampered=%d.
    C:\Users\Home\Documents\Strings\sblapp.bin: oem unlock
    C:\Users\Home\Documents\Strings\sblapp.bin: flashing unlock
    C:\Users\Home\Documents\Strings\sblapp.bin: flashing unlock_critical
    C:\Users\Home\Documents\Strings\sblapp.bin: flashing get_unlock_ability
    C:\Users\Home\Documents\Strings\sblapp.bin: SM5703_REG_PARAM_CTRL || SM5703_FG_P
    ARAM_UNLOCK_CODE
    C:\Users\Home\Documents\Strings\sblapp.bin: fuel_gauge_unlock

    ReplyDelete
  31. Very interesting & fabulous post, I really enjoy cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 article that you share, Thank you very much.
    Know How to Remove Ytmp3 virus?

    ReplyDelete
  32. Thanks for writing this blog. Great information is sharing.
    If you need Hotmail customer support number cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n you can visit us for help.

    ReplyDelete
  33. Full control over your funds while perform transactions with bitcoin exchanger trusted fast website working as highest degree of security privacy and professionalism

    ReplyDelete
  34. Your content will continue to follow your blogs with your users who have read your developmental and benefits information.


    Ümraniye Nakliye


    Üsküdar Nakliye


    Ateşehir Nakliye


    Kartal Nakliye


    Maltepe Nakliye


    Kurtköy Nakliye


    Çekmeköy Nakliye


    Sultanbeyli Nakliye

    ReplyDelete
  35. Thank you so much for sharing such a superb information's with us. Your website is very cool. we are impressed by cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 details that you have on your site.we Bookmarked this website. keep it up and again thanks
    office.com/setup | office.com/setup | office.com/setup |mcafee.com/activate | billy mark | office.com/setup

    ReplyDelete
  36. This comment has been removed by cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 author.

    ReplyDelete
  37. I’m impressed, I must say. Seldom do I come across a blog that’s both educative and interesting, and without a doubt, you have hit cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 nail on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 head. Thank you for providing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se details.I will come back to your site and keep sharing this information with us. I blog at Explore Survey where you can win Prizes by taking surveys.

    ReplyDelete
  38. Thanks for all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 tips mentioned in this article! it’s always good to read things you have looking for antivirus security for your PC and any ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r digital devices than. Visit@: my sites :- office 2007 setup |
    office.com/myaccount |
    McAfee MIS Retailcard |
    www.mcafee.com/activate.

    ReplyDelete
  39. The blog is written very creatively thanks for sharing your views with us.

    Hygiene Products Near Me

    ReplyDelete
  40. Thanks for all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 tips mentioned in this article! it’s always good to read things you have looking for antivirus security for your PC and any ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r digital devices than. Visit@: my sites :- www.office.com/setup | office.com/setup | McAfee.com/ActivateDell

    ReplyDelete
  41. This is Very very nice article. Everyone should read. Thanks for sharing. Don't miss WORLD'S BEST CarGamesDownload

    ReplyDelete
  42. Play & Win unlimited money, world cup, Cricket Match, in this biggest, cricket world cup, season going on, just by giving prediction on simple questions by observing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 , India cricket. Its a cricket world cup, so install and convert your fun into real money this world cup
    cricket world cup

    ReplyDelete
  43. Canada’s new Program for workers and who are wiling to live cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re so here is a new way for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m to go cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re by AIPP canada

    https://worldimmigrations.blogspot.com/2019/05/how-to-apply-atlantic-immigration-pilot.html

    ReplyDelete
  44. Canada’s new Program for workers and who are wiling to live cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re so here is a new way for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m to go cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re by AIPP canada

    https://worldimmigrations.blogspot.com/2019/05/how-to-apply-atlantic-immigration-pilot.html

    ReplyDelete
  45. Great, Thank you for sharing this information about unlocking cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 boot Loader. Nowadays many people have faced this problem but with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir phone. My little brocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r was stuck in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 problem while changing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 network carrier of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 SIM. His phone got locked and he didn't have any idea about unlocking cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 phone. Then I recommend him to use unlock codes for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 fast unlocking phone. Just simply he shared cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 IMEI number of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 phone with country and operator to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 unlocking company by dialing *#06#. Followed this Phone unlocking method He unlocked his phone instantly.

    ReplyDelete
  46. Wonderful blog! I found it while browsing on Yahoo News

    Regards= office.com/setup

    ReplyDelete
  47. We are best and trusted bangladeshi online news portal website. Everyday we publish cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 national and international latest news. If you want to get regular newslatter from our newspaper, please go home page BANGLA NEWS and click cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 below subscribe button.

    বাংলাদেশ :
    Read Bangla Breaking বাংলাদেশ News on Parliament, Govt, Justice, Road Accident, Cricket, Sports, Education, Business, Agriculture, Population, Dhaka at todaybanglenews.com
    রাজনীতি :
    বাংলাদেশের রাজনীতির খবর/সংবাদ - Bangladesh Political News। সরকার, বিএনপি/আওয়ামী লীগ/জাতীয় পার্টি/জামায়াত, শেখ হাসিনা/খালেদা জিয়া/এরশাদ, উপজেলা, রাষ্ট্রপতি, ছাত্রলীগ/যুবলীগ/ছাত্রদল/যুবদল/ছাত্র সমাজ বিষয়ক ফিচার at todaybanglenews.com
    আন্তর্জাতিক :
    আন্তর্জাতিক,Read Bangla Breaking World News on USA, UK, India, Pakistan, Asia, China, Europe, Middle East, Latin America, Africa, Australia, America & UN at todaybanglenews.com
    অর্থনীতি :
    অর্থনীতি,Read Bangla Breaking World News on USA, UK, India, Pakistan, Asia, China, Europe, Middle East, Latin America, Africa, Australia, America & UN at todaybanglenews.com
    ইসলাম ও জীবন :
    ইসলাম ও জীবন, রমজান, ইজতেমা, মুসলিম বিশ্ব, মাসআলা-মাসায়েল, ইতিহাস ও ঐতিহ্য, সাক্ষাৎকার, bangladesh news, bangladesh newspaper, bangladesh news paper, bangladeshi newspaper, bangladeshi news paper at todaybanglenews.com
    বিনোদন খবর :
    বিনোদন খবর ও সংবাদ - Bangla Movie and Entertainment News। ছবি, শুটিং, মঞ্চ, শিল্পী, নাচ বিষয়ক ফিচার। প্রথম আলো, বাংলাদেশের সর্বাধিক পঠিত অনলাইন বাংলা সংবাদপত্র/পত্রিকা at todaybanglenews.com
    খেলাধুলা :
    খেলার খবর/সংবাদ - খেলাধুলা, ক্রীড়া ও ক্রিকেট - Bangla Sports News। ফুটবল, ক্রিকেট, টেনিস, বিশ্বকাপ, শিরোপা, টি-টোয়েন্টি, বল, সেমি-ফাইনাল, বোলার বিষয়ক ফিচার at todaybanglenews.com
    লাইফ স্টাইল :

    লাইফ স্টাইল, আমার পরিবার, ভ্রমণ, চাকরির খোঁজ, সমাধান, রান্না, রূপচর্চা, সংবাদ, টিপস, bangladesh news, bangladesh newspaper, bangladesh news paper, bangladeshi newspaper at todaybanglenews.com

    ReplyDelete
  48. Grilled Lamb Chops Recipe | Easy Healthy Dinner Recipes At Home

    Lamb chops go with frying, barbecuing grilling or roasting and will cook in about ten minutes. It is also best healthy recipes.Cooked on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 grill or in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 skillet, lamb chops are stylish but super-fast snacks. From curried to cranberry fixed variations, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se easy lamb chop recipes carry big flavor.

    ReplyDelete
  49. SHAREit is a free file sharing tool that transfers files between two devices where cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 transfer speed is higher than Bluetooth and sends more than 20 MB/sec per file.
    https://www.shareit.kim
    https://shareit.kim
    SHAREit
    SHAREit Apk

    ReplyDelete
  50. norton.com/setup to Secure your All Windows, Mac & Android devices. Get norton setup and Run to Install Norton Anti Virus. for more information about norton antivirus, just visit www.norton.com/setup.

    mcafee.com/activate - Get cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 comprehensive internet security on your device with mcafee activate Antivirus. Get your McAfee installed and activated with easy steps. for more information just visit www.mcafee.com/activate.

    office.com/setup - To get started with Microsoft Office download & install office setup. Find cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 product key for activation at www.office.com/setup.

    ReplyDelete
  51. This comment has been removed by cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 author.

    ReplyDelete
  52. There are many freight forwarder china to usa. if you are looking for freight forwarder china to Canada, check out Topshipping. What is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 cheapest freight forwarder china to Europe? what is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 fastet shipping from china to canada? which sea freight from usa to china is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 best in china?

    ReplyDelete
  53. rajaremi
    adalah agen judi online terlengkap dan terpercaya

    ReplyDelete
  54. Printer Help Services is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 biggest supplier of sites in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 print business. Our clients see a normal increment in online income of 30%, with our web-to-print item and appreciate boundless Printer bolster administrations. On cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 off chance that we talk about printers, it is best known for its quality, proficiency, unwavering quality, and efficiency. On cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 off chance that you are utilizing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 printer and having some inconvenience in its task, at that point no compelling reason to stress. Our Printer specialized help group is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re to help you in investigating all issues with printers. In cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 event that any of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 issues Persists in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 above given, at that point don't hesitate to contact HP Printer Support whenever. We are having a group of specialists and very talented experts who are accessible 24*7 for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 assistance of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 people. Visit: Printer customer support

    ReplyDelete
  55. Thank you for sharing excellent information. Your website is so cool. I am impressed by cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 details that you have on this website. It reveals how nicely you understand this subject. Bookmarked this website page, will come back for extra articles. You, my friend, ROCK! I found simply cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 info I already searched everywhere and simply could not come across. What a great web site. Visit@: my sites :- office.com/setup »Norton.com/setup»McAfee.com/Activate

    ReplyDelete
  56. You could definitely see your skills in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 article you write. The world hopes for even more passionate writers like you who aren’t afraid to say how cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y believe. All cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 time go after your heart.
    Dell c1760nw wireless setup

    ReplyDelete
  57. Epson Printer Support Phone Number
    has turned into cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 need of each individual utilizing innovation related howdy tech items. PC and printer clients additionally experience numerous issues at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 season of utilization which propel cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m to secure cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 client support number(+1-888-326-0222) and get cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir help to determine cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 issues. As cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 innovation of a printer and comparable gadgets are not easy to use for some clients, subsequently, Epson Printer Support Phone Number is accessible online to help end-clients to tackle tech related issues.

    ReplyDelete
  58. Thanks for sharing your inspiring blog cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 information was very useful to my project ….

    mcafee.com/activate | norton.com/setup | norton.com/setup | office.com/setup | mcafee.com/activate | mcafee.com/activate

    ReplyDelete
  59. The article has actually peaks my interest. I am going to bokmarks your web site and maintain checking for brand new information.
    Dell printers troubleshooting

    ReplyDelete
  60. www.mcafee.com/activate Find easy steps for downloading, installing and activating McAfee, Enter your 25 digit activation code at www mcafee com activate.

    www.norton.com/setup - Simple steps to download and install Norton setup. Just enter www norton com setup Product key and get started with Norton.com/setup.

    ReplyDelete
  61. Norton security program can secure eicá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r one device or up to ten devices and keep cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 whole network safe from malware such as worms, spyware, rootkits, etc. For getting Norton Setup, visit [url=http://notronnorton.com/]norton.com/setup[/url] , [url=http://pagenorton.com/]norton.com/setup[/url]
    .
    MS Office is used by a lot of people on a variety of devices like Android, Mac, PC, laptops, and iOS. This Office setup is specially programmed and adapted to do an array of tasks. Microsoft Office provides a list of helpful and dynamic features to accomplish cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 majority of tasks. To get this amazing setup for any devices, visit [url=http://redeem-office.com/]office.com/setup[/url].

    McAfee antivirus offers end to end protection from malware, fastest security against viruses on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 computer files and folders, useful and accurate anti-spam security, and secures your browsing data on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 internet. Visit cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 website [url=http://enmcafee.com/]mcafee.com/activate[/url] to download, install and activate McAfee setup on your device.

    ReplyDelete
  62. Norton security program can secure eicá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r one device or up to ten devices and keep cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 whole network safe from malware such as worms, spyware, rootkits, etc. For getting Norton Setup, visit norton.com/setup , norton.com/setup .
    MS Office is used by a lot of people on a variety of devices like Android, Mac, PC, laptops, and iOS. This Office setup is specially programmed and adapted to do an array of tasks. Microsoft Office provides a list of helpful and dynamic features to accomplish cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 majority of tasks. To get this amazing setup for any devices, visit office.com/setup.
    McAfee antivirus offers end to end protection from malware, fastest security against viruses on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 computer files and folders, useful and accurate anti-spam security, and secures your browsing data on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 internet. Visit cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 website mcafee.com/activate to download, install and activate McAfee setup on your device.

    ReplyDelete
  63. Thank you for sharing excellent information. Your website is so cool. I am impressed by cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 details that you have on this website. It reveals how nicely you understand this subject. Bookmarked this website, will come back for extra articles. You, my friend, ROCK! I found simply cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 info I already searched everywhere and simply could not come across. What a great web site. Visit @: my sites:-McAfee.com/Activate |HP Support Assistant

    ReplyDelete
  64. It is amazing post, i am really impressed of your post. Its really useful. Thank you for sharing this article.
    avast login
    office.com/setup
    Rand McNally Update

    ReplyDelete
  65. All hitches and concerns trouble users quite a lot, so in that aspect users can connect with our professionals of Dell to attain fixed support and service. All hitches can be eliminated as soon as possible via call support and remote accessibility. Dell Customer Service Number will assist users in attaining immediate help through simplest and perfect manner. One can get all services done in limited time without any trouble or worry.

    Dell Support Phone Number
    Dell Customer Service

    ReplyDelete
  66. If we are working in an organization it is lots of situation that we have to go with. We must be adjustable to cope up with any kind of situation. We can call it as an illusion of control. Thank you for describing more on that hereJogos 2019
    friv free online Games
    free online friv Games

    ReplyDelete
  67. Instant HP Printer help is available at HP Printer Support. Call cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 techies at HP Printer Support Number anytime as per your convenience for addressing all your HP Printer Concerns instantly.

    ReplyDelete
  68. HP Printer Support help you resolve all your HP Printer related concerns. Experts are available round cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 clock at HP Printer Support to deal with all printer queries and issues.

    ReplyDelete
  69. Thanks for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 sharing such an useful information with me

    Website : Ask2bro

    ReplyDelete
  70. Mcafee.com/activate is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 best when it comes to trust. It has been in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 market since 1991. McAfee has cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 reputation of providing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 security to your computer, iOS, Android devices, etc. Against cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 dreadful viruses, spyware & malware, ensuring cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 smooth running of your device. It has a number of security products & services like McAfee Antivirus, McAfee security deluxe etc. McAfee also has a special product for Mobile phones i.e McAfee Mobile Security. https://mcafee-activatenow.uk/

    ReplyDelete
  71. Mcafee.com/activate is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 best when it comes to trust. It has been in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 market since 1991. McAfee has cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 reputation of providing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 security to your computer, iOS, Android devices, etc. Against cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 dreadful viruses, spyware & malware, ensuring cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 smooth running of your device. It has a number of security products & services like McAfee Antivirus, McAfee security deluxe etc. McAfee also has a special product for Mobile phones i.e McAfee Mobile Security. www.McAfee.com Activate Card

    ReplyDelete
  72. We have helped thousands of apple customer by solving cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir minor technical and service related issues. You can dial this number:18003823046 any time you so desire and form anywhere you are in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 country. This is a toll free Apple Support Number so you can talk freely.

    ReplyDelete
  73. Thanks for providing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 information with this post. Post is very nice! By cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 way, I want to share with you information about cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 best.
    HP Printer Technical Support Number
    HP Printer Tech Support Number

    ReplyDelete
  74. This comment has been removed by cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 author.

    ReplyDelete
  75. ترجمه حرفه ای و تخصصی خود را به سایت ترجمه آنلاین بسپارید. طرح برنز شامل ترجمه عمومی مناسب برای دانشجویان که بودجه کمی دارند و متن و محتوای وبسایت است. همچنین سه روز ضمانت دارد. طرح نقره ای شامل هفتاد درصد ترجمه متون تخصصی می باشد به علاوه بازخوانی مناسب برای ترجمه رشته های تخصصی و پروژه های دانشگاهی .

    ReplyDelete
  76. I found this post very amazing and knowledgeable. You have very smart mind, and your post seeks my attention. I have never seen such a post and I am very thankful and satisfied with this interesting post.
    How to reset netflix password

    ReplyDelete
  77. Download, Install or activate cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Latest Office setup & Norton setup Protection. For more data about setup method check cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 my Products.

    Press on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 official site of ...

    www.norton.com/setup | office.com/setup | www.norton.com/setup

    ReplyDelete
  78. Awesome article. It is so detailed and well formatted that i enjoyed reading it as well as get some new information too.
    Best fitness tracker
    Best DSLR Camera for Beginners
    DSLR Camera
    Best DSLR camera under 35000

    ReplyDelete
  79. Get cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 best assignment help and Assignment help from qualified experts at affordable prices. Quality solution, delivery before deadline.

    ReplyDelete
  80. Here we provide cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 services for office/setup and Hp Customer Service. you can download cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 setups of office by clicking below and if you have any issue regarding apple product if you need any feel free to call our toll free HP Customer Service +1-800-382-3046
    www.office.com/setup | HP CUSTOMER SERVICE

    ReplyDelete
  81. If you need assistance for dealing with McAfee logIn issues cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n, in that case, contact cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 experts at +44-800-368-9198. The experts are available for Help and Toll-Free 24*7
    McAfee Helpline Number UK
    McAfee issues with a Wireless Printer:
    McAfee Pop-Up Blocker?

    ReplyDelete
  82. Hi, that is really Great Blog
    This post is written after well-research on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 topic and is written in very simple language. This post helps me a lot to resolve cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 problem.
    Visit us Now: 24*7 Toll-Free Helpline Number

    If You any Problem related to antivirus and printers issue, connect to our expert helpline number
    McAfee Contact Number
    Brocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r Printer Toll-Free Number
    Norton Toll-Free Number

    ReplyDelete
  83. If you are facing any problems related to HP Printer or looking for HP Printer Assistant cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n contact our HP Customer Service Number for Instant help.

    ReplyDelete
  84. I want to share with you information about cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 best.
    Canon Printer Support Number
    HP Printer Support Number

    ReplyDelete
  85. Nice blog, get cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 best Website Designing Services by Website Designing Company in India and also get SEO Services by OGEN Infosystem.
    SEO Service in Delhi

    ReplyDelete
  86. The mechanism of McAfee software provides you both cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 online mode and offline mode of security. From providing you a safer platform for browsing,
    McAfee internet security
    also protects your personal data and files in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 computer.

    ReplyDelete
  87. Our hp printer customer service team always assist its users' with reliable and extraordinary services. Having a customer support team is like HP is always a blessing for HP printer users. The team of certified and highly-qualified professionals are user-friendly and offers services within no time and at cost-efficient prices .

    ReplyDelete
  88. Get 24/7 service by calling on Canon printer support toll-free phone number and troubleshoot all sorts ofn Canon printer related issues.

    Canon Printer Support

    ReplyDelete
  89. All of your solutions in one place. Just ask experts, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y can give you cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 best solution to your problems. Norton Antivirus protects your pc against virus, trojan and malware 24*7.
    www.norton.com/setup
    Norton.com/setup
    More help regarding MS Office so, you can click on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 following link.
    Office.com/setup
    www.office.com/setup

    ReplyDelete
  90. Hello, I have browsed most of your posts. This post is probably where I got cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 most useful information for my research. Thanks for posting, we can see more on this. Are you aware of any ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r websites on this subject.
    Dell support assistant not responding

    ReplyDelete

  91. Once you locate cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 correct ASUS username and password, you should be able to enter cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 admin panel visit
    how to access asus router

    ReplyDelete
  92. Thank for important information . I like your explanation of topic and ability to do work.I really found your post very interesting .
    Netflix Password Reset

    ReplyDelete
  93. Do not get worried if you are unable to install cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 device, feel free to call at Xerox Printer Support Number, where our technical experts will guide you with step by step instructions and also fix hardware or software Xerox printer related issues by taking cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 remote access. Be assured that your Xerox printer will work smoothly without any hassle.

    ReplyDelete
  94. HP is a standout amongst cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 most prominent brands for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 printer. HP manufactures stylish, affordable home printer which offers professional quality, dependability and cost-effective printers. Call on our hp printer support number for any technical assistance from our experienced team of experts.

    ReplyDelete
  95. Get one-stop solutions for Kodak printer issues via Kodak printer support customer service. Get comprehensive solutions in one platform right on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 place.

    Kodak Printer Support Number

    ReplyDelete
  96. Brocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r Printer Offline concern is too frustrating especially when you are in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 middle of something important to print. Don’t worry, you can go through some of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 easy measures in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 article to fix cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 issue yourself.

    ReplyDelete
  97. This is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 best platform which ever talk about cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 latest news and posts about cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 trending news like prizes in economics. You have described very well and really love your article.
    Reset Microsoft Account password

    ReplyDelete
  98. It has been great to read this article it was quiet to be nice you every detail about cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 topic Thanks for sharing this article with us.
    Restore Computer

    ReplyDelete
  99. Quicken applications are built to run on Windows, Mac, Smartphone devices so that customers could always keep cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir financial goals on. On calling Quicken Support Number , you will be redirected to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 desired department for instant help.

    ReplyDelete
  100. Canon is one of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 best brands when it comes to printers. The ink used in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 printer is of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 best quality and it cannot be compared. Call on our canon printer support number today and get cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 services that stand apart from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 rest of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 printers available in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 market.

    ReplyDelete
  101. One Vanilla Visa Card Prepaid Mastercard Balance

    Onevanilla balance:- OneVanilla is Vanilla prepaid mastercard is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 one of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365

    best prepaid card for routine spending throughout cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 world. Check your balance online

    .

    ReplyDelete
  102. PcSupremo is available 27x7 for customer support for norton antivirus, resolve norton antivirus error, Norton antivirus Uk, & troubleshoot all your problems for Norton security UK.
    Norton Antivirus Support uk

    ReplyDelete
  103. I'm very thankful to you to give us this amazing information. I appreciate your intelligence and knowledge. And if you are not able to change cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 default password on Brocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r Printer cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n visit our website and solve this problem in no time by following cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 simple steps given by our printer experts.

    ReplyDelete
  104. I am very thankfull to you for sharing this fantastic article , I appereciate your work .

    mcafee.com/activate

    ReplyDelete
  105. we are canon help desk 24/7 . if any queries visit our link
    below

    Canon printer support allows you to interact your any technical issues about canon printers, with us. if any kind of queries visit our website. link given in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 discription

    canon printer support number
    canon printer helpline number
    canon printer tech support
    canon printer technical support number
    canon printer toll free number

    ReplyDelete