Dump an entire Surface RT to external memory - Microsoft Surface

Hi There.
I need to be able to dump and restore a Surface RTs main block device.
I am aware of the secure boot issue (OS needs to be signed, cannot be disabled)
Ideas that I had to solve this issue:
1. boot a Windows RT Recovery from Stick
(try dd for Windows http://www.chrysocome.net/dd or WinDD https://sourceforge.net/projects/windd/ , maybe via win86emu http://forum.xda-developers.com/windows-8-rt/rt-development/win86emu-0-6-windows-rt-8-1-t3237587)
2. boot a Windows RT PE (same as Recovery)
3. find a signed ARM-Linux
Problems I face:
1. I found a recovery Image (even exploitable 8.0), but no shell access to execute arbritrary commands
2. WinPE ARM is not available to the public. Even though "Windows ADK" offers the Option "arm", the files are not shipped with the tool publically
3. Seems like this does not exits:
http://www.dailytech.com/Microsoft+...ing+on+Windows+8+ARM+Devices/article23785.htm
http://forum.xda-developers.com/showthread.php?t=2655398
Any ideas, folks?
thank you for reading.

Related

[Guide] Windows RT 8.1 Kits

This is a guide to setting up Windows Kits on Windows 8.1 RT. While it itself is a set of debugging & testing tools that Microsoft publishes officially for Windows 8.1 RT, I haven't looked at them in detail and possibly there are tools in it that are useful for you.
Mandatory Warning
This is a set of development tools and should not be toyed around with if you don't know what you are doing.
Disclaimer
These tools were provided by Microsoft Corporation and this guide only points you out to the tools I've found.
There is no warranty, express or implied for these tools, either from me or from Microsoft.
Includes
ARM Kits Policy (Needed to run development binaries on Windows 8.1 RT) Info here (MSDN)]
ARM Debugging Tools (WinDbg, Gflags) Download here (Source)
ARM App Certification Kit Info and Download here
ARM Windows Performance Toolkit (included with above)
Guide
Make sure you are sane enough and you need to install these.
Download the ARM Windows App Certification Kit (third in the list above) and install.
Go to C:\Program Files\Windows Kits\8.1\bin\arm\SecureBoot. Open InstallKitsPolicy.cmd with an Admin CMD Prompt.
This will install the Kits Policy (other tools will not work without this). After rebooting, use Volume Down to select "Install" in the black screen that appears, and press the Windows button on your RT Device to proceed.
After it boots, try to run C:\Program Files\Windows Kits\8.1\bin\arm\dxcapsviewer.exe and see if it runs. If it does, your Kits Policy is now installed. Download the ARM Debugging Tools from above.
Install it. It'll also install to C:\Program Files\Windows Kits\8.1. The Debugger is located at \Debuggers, other useful binaries are around in \bin\arm. They also install Start Menu entries.
Notes
If the Kits Policy fails to install (black screen does not show up on next boot), try running the commands manually in an elevated command prompt. It failed to work for me in the first few tries, maybe due to a repeated command in the .bat file provided by MS. Running it manually should allow you to ignore that error.
jimmielin said:
ARM Debugging Tools (WinDbg, Gflags) Download here (Source)
Click to expand...
Click to collapse
Thanks for the info's. Any chance someone can mirror this, MEGA does not work for readers with certain browsers and security settings.
http://www.datafilehost.com/

Turning an existing phone into a virtual machine

I have an older Samsung Galaxy SII phone that I'm using to 'play with', to get a better understanding of the android file-system and how everything works.
What I'm trying to do is converting this existing phone to a virtual machine. I already tried to following;
- I made a physical image of the device and got a nice .bin file.
- I converted the .bin file to a virtual disk in .vdi format
(Linux command; "VBoxManage convertdd galaxy-s2.bin galaxy-s2.vdi")
(I also tried the following command, for a VMWare virtual disk; "sudo qemu-img convert galaxy-s2.bin galaxy-s2.vmdk", same problem in VMWare when booting)
- Then I created a virtual machine in virtualbox and selected the .vdi image. Obviously it didn't work, because I guess it's missing a bootloader?
(Error message; "FATAL: No bootable medium found! System halted.")
The above steps were the easy way and I already had in mind that this was to easy and not going to work.
So my questions are;
- Does anyone have any feedback about the above steps I took? Was "vboxmanage" the right tool to use or did I miss something?
- Is there a way to add a bootloader to a raw .bin file and converting it to a bootable virtual harddisk?
- Does anyone already tried converting a used phone to a virtual machine, containing the original data of the physical phone, etc.?
Thanks! Looking forward learning more about virtualizing existing physical phones. :good:
What you are doing sounds super interesting. I still consider myself a novice at digital forensics but maybe I can help you out.
How did you image the device? Getting a physical image of a device is a bit tricky. From what I remember, you either have to root the device and then run dd on several files in /dev/mtd, or use special forensic tools (MPE, Cellebrite, XRY,…).
kolejnik said:
What you are doing sounds super interesting. I still consider myself a novice at digital forensics but maybe I can help you out.
How did you image the device? Getting a physical image of a device is a bit tricky. From what I remember, you either have to root the device and then run dd on several files in /dev/mtd, or use special forensic tools (MPE, Cellebrite, XRY,…).
Click to expand...
Click to collapse
Thanks! In this case I got a physical image of the phone with the "Universal Forensic Extraction Device" from Cellebrite. I think that tool does some sort of temporary rooting.
I also created a new virtual machine with a similar Android version iso file. I added the virtual hard-disk of the phone I imaged (the Galaxy SII) to that virtual machine. When I wanted to install Android to a blank virtual disk, it did recognize the Galaxy SII image, but I was unable to mount it.
At the "choose partition" menu, during the Android installation, it said;
- sdb1 == EFI GPT == VBOX HARDDISK
Then I got an error, saying; "Cannot mount /dev/sdb1", "Do you want to format it?"
Maybe we need to find a way to add something to that raw image, like a bootloader or something? Or maybe I'm missing something else. I'll keep trying to get the virtual machine to work.. Any feedback or comments are appreciated, thanks!

Android X-86 Guide for multi-boot with Windows 10 (dont do what i did)

So it has been a hectic few days for me as I had alas managed to wipe my system reserved partition thinking that installing android x86 as multi-boot would actually boot windows for me. Wrong!!! My first poor encounter was the fact that when I had installed windows it had created the system reserved partition as ntfs... I had not realized this when attempting to install android x-86 as multi-boot. I will tell you the result, when booting it would appear to go to grub, however instead it just booted the first menu on the list without hesitation and gave no menu at all. To remedy this I had to use the windows 10 usb i had created for my initial install. I am still not sure how i managed to get it to boot the first time I think it may have just been dumb luck. When windows booted up i went to Disk Management (right click the windows menu and select from the drop down) where I then proceeded to delete the system reserved partition and reformat it fat32. At this point I was satisfied that android would point the out the windows boot, boy was I wrong. After installing Android x86 (_64 8.1 r3) I finally achieved the grub menu boot correctly. I also noted that when installing android x86 the only way it gave me option to add windows to grub was if i had installed without formatting first. (this can be done a few ways including just reinstalling much the same way you would dirty flash a rom on a phone) or you could use a tool to format the partition such as gparted or a linux live cd/usb. I suggest ext4. Oh wait my nightmare hadn't finished yet... Android x86 install had no problems at all (select partition to install(ext4)... do not format... install grub... yes to windows... yes read write... and then reboot) on reboot windows was in the grub menu and I selected it... oops there is no operating system!!! Well that is unsettling... ( I managed to get back into windows using the install media) and not so sure how. At this point i notice that my system reserved partition was now sda 3) So my next objective was to create a boot record for windows which could have been done easily from windows had I considered using bcdedit tool for windows. But since i knew that the partition was sda 3 I figured I could just point the grub menu to the correct drive... again wrong (there was still no boot mbr on that partition *sigh) Well I found that when i went into command line from the windows repair tool it would say I do not have permission to fixboot... wow nice job microsoft... after doing a bit more research I learned that the newer builds give this error when attempting to fix boot. I found a video on youtube which helped me alot but took quite a while to download the older working repair tool(installation media) but his video was fairly well put together. link here (https://www.youtube.com/watch?v=lRCyb7FzWFY). I followed his guide and this time with the repair tool that he shared in the description of his video, I was able to perform the fixboot (bootrec /fixboot) however one of his commands required the copying of bcd to the system reserved partition. The copy failed, however at this time running all the other bootrec commands seemed to go fine. So I exited command and went to the automatic startup repair, which to my surprise worked perfectly... (after a whopping 30 some hours of pulling my hair out of my head over this mess) And windows began to boot. At this point I gave my thanks to the poster of the video and shared my experience with his video in the comments below.) Now When windows booted up I downloaded the bcdedit tool. Personally I used the multi boot tool from this site (https://www.boyans.net/dual-boot-repair-windows-10.html) and selected repair mbr and boot record. This fixed my boot issue windows would boot normal at reset. However now my android was gone but thats okay.
At this point I just reinstalled the android x86 again over the same ext4 partition without formatting and added the windows to grub. This was perfect however when selecting windows did not boot. To fix this I had to edit the grub menu.lst and change the drive from hd(0,0) to hd(0,2) to point to the fat32 partition which had been somehow displaced to sda3. In order to do this I ran android in debug... when debug is running just hit enter and it give you a prompt... from prompt type without quotes "cd /mbr/grub" when the next prompt comes up you should be in the grub directory where the menu.lst is. Now type without quotes "vi menu.lst" this will take you into a text editor (note you can also change your monitors and resolution permanently in grub menu this way) using the arrow keys navigate to the line you want to edit, in my case the last entry which was windows entry when you get to where you need to edit hit the "i" key this will allow you to now enter and edit the text. After making changes hit "esc" to save changes type ":w!" then hit enter. To exit type ":q!" this will take you back to prompt. Now reboot your system and finally the results I had originally hoped for a multi-boot system with windows 10 and android. Now if you are attempting to do this and are looking for a guide to install I will make this just a little longer to make sure you dontt make the same mistakes I made.
1a) before you attempt to install a dual boot with grub... make sure your system reserved partition is fat32 if it is not you need to change it to fat32. as grub will not boot on ntfs partitions.
1b)you will need to have a blank partition, if you have spare room on the drive you can shrink your volume and create a new one. There are plenty of tools out there to format ext4 even from windows. Make sure you format it before installing. (if you are lazy like me you can format ext 4 from the installation, but there is a chance that you would need to reinstall again and choose not format to get the windows entry in grub)
1c)once your partitions looks the way you need and you have a working fat32 system reserved partition you are ready to move on. ( If you have to change a ntfs partition to fat32 I highly suggest you dont install anything until you have repaired the boot menu and tested it first to make sure it works)
2)create your install media... I prefer to use rufus as it is quick and easy, and I prefer the official android x86 as the 8.1 r3 is stable and works great, you can use whatever image you want though, lord knows i test newer versions as they come out. when you have rufus and the android x86 iso of your choice load rufus select your usb drive and select the iso with the browse button. then just hit start allow it to format and when it is done you can boot into your usb
3)To boot into your usb you may actually need to edit your bios and enable virtualization and make sure safeboot is not enabled, also you need a uefi system for x64 distros so if you have an older legacy bios you will need the x86 version instead or the system wont boot
4)When you finally get it to boot you will find the menu to use it as a live cd or install, select the install.
5a) You will now be asked where to install to. Pick the ext 4 partition you created for it.
5b) Now it will ask you to format choose do not format (again if you hadn't formatted the partition ext4 you may do it now, but you may have to reinstall and not format the next time to add windows to the grub menu)
6) You will now be asked to install grub answer yes, if you do not answer yes you wont be able to get back into your android partition again until you do.
7) Now it will tell you that it found a windows partition and asks you if you want to add an entry, select yes... if you do not you will have to make your own grub entry to get back into windows later or completely delete grub from the partition later.
8) Finally it will ask you if you want to make the system read write... select yes, if you select no i can not guarantee you will be able to install anything inside of the system.
10) The end... Installation finishes but do not click launch... instead click reboot. The reason for this is that I have noticed if you launch at the end of installation the grub somehow manages to disappear and you end up having to completely start over.
Enjoy your android x86 / windows multi-boot system.
make sure your system reserved partition is fat32
Click to expand...
Click to collapse
There is no system reserved partition on my laptop since I have a UEFI laptop.
Should I proceed ?

How to Install adb/fastboot on Android device (phone) to use to fix another phone

A friend of mine has a Stylo 6 that says corrupted when it boots. It is however already set to USB debugging. However, I do not have access where I'm at to a PC or a Chromebook to install the dev tools. Is it possible even with third party paid software to install the dev environment on another Android phone and use it for fastboot etc?
You don't need to add ADB and/or Fastboot to any Android device. In common both ADB and Fastboot ( the latter only unless OEM decided to omit it ) are integral part of every Android release: ADB is housed in Android's user-space, Fastboot typically is part of device's bootloader unless Android has a Dynamic Partition layout, then Fastboot is also housed in Android's user space.
Ok, I guess what I need to know if I can install and use adb server on an Android device. I don't have access to a PC Mac or Chromebook to install the sdk tools. Can this be installed on my phone ( using a Linux or windows emulator maybe) to use to fix his phone?
ADB is nothing more than a tool that allows you to execute commands which would interact with Android shell. So you can install / open in Android a shell app ( e.g. Termux ) and run the commands ( Linux compliant ) therein. Will say you don't need a computer to operate on Android system of device,

Extract (dump) all partition images from Huawei e8372h under GNU/Linux

Hi there everyone, how would one go about checking what partitions are present on devices such as Huawei e3372h or e8372h and how to dump them using gnu/linux. I am OK with terminal/shell scripting, I've done some basic Arduino/Raspberry projects, but I want to get more into firmware (binwalk, repackaging, etc). Where would one start? What tools shall I look to familiarize myself with? I very much want to avoid using blobs like pre-compiled windows tools that are difficult to inspect. Is it possible to dump firmware (incl. boot partitions) using standard gnu/linux toolset (like dd) or at least tools that have source code available?
I have been looking for resources both here and on Russian/German fora, unfortunately most of posted solutions are based on Windows *.exe files and knowing a bit about Linux I am 100% sure that whatever these programs are doing is also possible to be done on Linux in a cleaner more transparent and reproducible manner (that is better for educating oneself).
Any hints much appreciated
If device's Android is rooted, if Android is version 6 and higher, then you can dd the partitions in question.
Thank you for your response! Is there an Android running on USB modems/routers such as Huawei e8372h? I am looking to dump all partitions from such device and to be able to restore them before I start any modifications. This way I should be able to restore devices to their original "factory" state if anything goes sideways (except if I hard-brick them).
I have a number of e3372h(-153) and e8372h(-153) devices that I can experiment with (they have different versions of firmware on them and the very-very first thing I want to do is to extract all images (including boot partition if possible) and test if I can restore from these backups). Only then I want to start modding them or checking other people's modifications...
So far I have managed to switch modes of these devices. For example for e8372 I can have it on the host machine (Ubuntu GNU/Linux laptop) visible as
virtual CD-ROM (/dev/sr0)
hi-link device (accessible from 192.168.8.1)
3 x TTY device (one of which can execute AT commands)
emergency boot mode with one TTY device
With the last one i have executed
balong-usbdload -p /dev/ttyUSB0 usblsafe-8372.bin (following https://gist.github.com/ValdikSS/323bcdfceb2f09d9c6ef02db1bc573e2 and https://github.com/forth32/balong-usbdload.git)
expecting to gain telnet acces to device and possibly dump the remaining partitions to the microDS card (using nanddump) but for some reason I still cannot log in using telnet
BTW Using Windows based tools that I have no source code for is pointless for me as my main goal is to learn the structure and functioning of these devices and be able to modify them myself.
If successful I intend to publish these images and tutorialize my notes on how to backup/restore, but for now I need a direction myself
IMO all tools, either compiled for Windows OS or Mac OS or Linux OS, in background simply run Android shell scripts.

Categories

Resources