[Galaxy S I9000 General] Darkstriker:
Tutorial for Market Fix

Note: This section is strictly a work in progress and new tutorials will be added when they become available and have been confirmed as working!

Content:

1.Market Protected Application Fix

2.Installing any official firmware using Kies

3.Extracting Samsung Phone Drivers from Kies Installer

4.Backing up the /efs folder

Tutorials/Fixes:

1.Market Protected Applications Fix

Background: In order to prevent the illegal copying of copyrighted applications google has integrated what are called protected apps. These applications have some copying protection which means they cannot be backup-ed without root. In order to prevent rooted/modified phones from getting those applications, google market checks the build.prop file in the /system/ folder against a verified list to see if the version of your firmware is an official release. This tutorial will show you the steps to replacing the build.prop of the firmware you installed with that of a firmware that is verifiedand accepted by google.

Note: MoDaCo's r2 and the derivatives thereof have a fix included for this in the ROM (can be found in "MCR Scripts").

NOTE: As of now, "Eris Market Fix" from the android market seems to work on the SGS. It uses a similar procedure and should achieve identical results (for now). The app itself can be uninstalled after the fix is working.

Requirements:

-Rooted Samsung Galaxy S

-ADB (from the Android Software Development Kit)

-build.prop from a recognized official firmware

Procedure:

1.Download and extract "build.prop".

2.Copy the "build.prop" to the root of your internal SD card (to the folder "/sdcard")

3.Make sure the phone is rooted (find the application "Superuser Permission")/has the latest version of busybox installed (Run "BusyBox installer" and make sure it says, that the latest version is installed). If not, root your phone according to the HOWTO in Post#2 and install busybox from the market (and follow the instructions in the description) respectively.

4.Run the following commands in ADB (for a tutorial on ADB, see Post#3):

adb shell
su
mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
busybox mv /sdcard/build.prop /system/build.prop
reboot

5.Wait for the phone to reboot. Check if can see protected apps (for example the paid version of tapatalk)

6.If you cannot see protected apps, you may have to wait a while in order for market to recheck the build.prop. This process can be helped bu setting the system time (manually) to 23:59 (i.e. 11:59PM) and wait for it to pass the 0:00 (i.e. 12:00AM) mark. Then return the time to the correct time setting and reboot. (You may still need to wait a few minutes before you can actually see protected applications)

7.If you still can't see protected applications, restart in recovery mode ("Volume Up"+"Home"+"Start") and wipe the cache of your phone. (You may still need to wait a few minutes before you can actually see protected applications)

For the interested, here a explanation of the code:

mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system

mount is the linux routine to mount a device to a specific path

-o will allow you to issue several commands to the mount routine, separated by commas

remount will unmount and then mount the filesystem again

rw will cause the filesystem to be mounted with read/write permissions

-t is the parameter used to define the filesystem

yaffs2 is "yet another flash file system 2"

/dev/block/mtdblock3 is the hardware-location of the system path

/system is the path to which you want to remount the hardware location

busybox mv /sdcard/build.prop /system/build.prop

busybox causes the following commands to be executed by busybox instead of default android

mv moves files from one location to another

/sdcard/build.prop is the path to the file that is being moved

/system/build.prop is the path where the file gets moved to

2.Installing any official firmware using Kies

Background: In August 2010 Samsung started (if only scarcely) to release official and test updates for the i9000 firmware. Since many users have flashed different firmware and the ways of backing up original product codes were not know at the time, most people who flashed their phones do not have the original settings from their country and/or provider and can thus not get the official updates for their area. Forthermore, some updates were only released in one or a few areas and people outside those areas wanted access. Consequently, Zangieff figured out a way to fake the phone information for Kies in order for it to find and install updates from a specific area. This is a slightly adapted version of his fix.

NOTE: There have been no firmware releases for some areas and providers through Kies. This fix is only able to upgrade to versions that have actually been released on Kies.

Requirements:

-Samsung Galaxy S

-Samsung Kies

-Basic knowledge of regedit

Procedure:

1.Run Kies, connect the phone and make sure it is properly recognized.

1.1.If you have never before opened the firmware upgrade widget with your phone connected before, open it now and then close it again (Do NOT close Kies!)

1.2.Optional: (Only do this if you are looking for experimental updates!)

1.2a. Open the firmware upgrade widget in Kies

1.2b. Press Ctrl+Alt+U+P simultaneously. Kies will confirm the correct sequence with "Test Mode is ON".

1.2c. Close the firmware upgrade widget of Kies

2.Run regedit (Start-->Run...-->Type "regedit"-->Press Ok) (Windows XP)/(Start-->Type "regedit"-->Press Enter) (Windows Vista/7)

3.Use regedit to navigate to "HKEY_CURRENT_USER/Software/Samsung/Kies/DeviceDB/". You will find a number of folders in numerical order (usually) starting from 1. Find the folder with the relevant keys (see below) and make sure it is the one currently in use. [If you find several folders with the keys and don't know which are the right ones, delete all of them, repeat step 1 and 1.1 and find the folder with the lowest value. (You may have to use F5 or View--->Refresh to get to see the new folders)]

4.Find the registry keys "HIDSWVER" and "ProductCode"

5.Replace them with the appropriate keys as needed for your desired upgrade.

6.Open the upgrade widget in Kies and enjoy updating.

To find the appropriate values for HIDSWVER and ProductCode, check this thread for an extensive list of codes.

Note: If you close Kies, you will have to repeat the process.

Note2: You can upgrade to the most recent official firmware version from any firmware version even if you already have the same version or a newer one installed

3.Extracting Samsung Phone Drivers from Kies Installer

Background: Not all users are interested in installing the full software package Kies in order to get to flash their phone via Odin or Heimdall. The Kies installer turns out to be extractable using 7-zip and the phone drivers have a separate installer. This allows for installing only the phone USB drivers and lets you avoid installing Kies and the included bloatware.

Requirements:

-Samsung Kies installer package (found here)

-7-zip (found here)

Procedure:

1.Install 7-zip

2.Right click the Kies installer and Find 7-zip->Extract to "Kies_x.x.x.xxxxx_xx\"

3.Navigate to "Kies_x.x.x.xxxxx_xx-->CabFile-->USB Driver"

4.Right click the "SAMSUNG_USB_Driver_for_Mobile_Phones.exe.cab" file and 7-zip->Extract to "SAMSUNG_USB_Driver_for_Mobile_Phones.exe\"

5.Open the folder SAMSUNG_USB_Driver_for_Mobile_Phones.exe\ and execute SAMSUNG_USB_Driver_for_Mobile_Phones.exe and follow the installer instructions.

6.Enjoy connecting your phone without the full Kies install.

4.Backing up the /efs folder

Background: Some experimental firmwares modify the /efs folder. This can cause IMEI corruption and/or change the product code your phone reports.

Requirements:

-Rooted Phone

Either (A):

-ADB (from the Android Software Development Kit)

Or (B):

-Root Explorer (from market)

Procedure:

1.Make sure your phone is rooted (and busybox is installed for ADB procedure)

A:

1A.Enable USB debugging mode (Settings-->Application-->Development-->USB debugging)

2A.Connect the phone to USB

3A.Open a command prompt and enter adb (see tutorial)

4A.Acquire root privileges (type "su"). (Make sure you accept the root-prompt on the phone)

5A.Execute "busybox cp -a /efs /sdcard/"

6A.Disconnect the phone, deactivate USB debugging, reconnect the phone and backup the copy of the efs folder to your PC

B:

1B.Use root explorer and navigate to the root of the filesystem /

2B.Press "Mount R/W"

3B.Copy the efs folder to your sdcard

4B.Connect the phone to the PC and backup the copy of the efs folder to your PC.

2. Restore the backup if your IMEI gets corrupted or your product code is changed by a firmware.