Phone and firmware manipulation guide/Samsung

From Legacy Portable Computing Wiki

Agere platform

.s3 to .bin conversion

Firmware files downloaded from Agere-platform Samsung phones are in S-record format and can be converted to .bin with any program that converts S-record to .bin.

There are many programs that do this, but arguably the best one is sre2bin. This program is included with some versions of OptiFlash, which is an in-house tool used by Samsung to flash firmware to Agere-platform handsets.


AMSS decryption

The AMSS file (usually called amss.bin, amss.mbn, apps_compressed.bin, etc.) can be decrypted using RevSkills.

File system extracting

Many firmware dumps of Qualcomm-powered Samsung phones include a .ffs file. This is usually a FAT16 disk file and can be extracted using either RevSkills or TestDisk, but the latter works more consistently.

If the filesystem is not a standard FAT16 image, it can be extracted with GeeXtractor. This program was made for older SGH-Z series phones that store everything as .bin files, but it should work fine with most newer Qualcomm Samsung feature phone firmware as well.

Samsung GeeXtractor can also extract the content of most .rc1 files.

General Purpose (any platform)

Firmware Editing

There are a few tools that work very well with one another to edit older Samsung phone firmware. Those programs being FWEditor, Image Search Editor, and ResMan.

FWEditor can be used to find raw bitmap images in firmware. It gives the appropriate hex location of whatever you're looking at, and this can be put inside of a ResMan .rxt file. Its one main advantage over Image Search Editor is that it can display 09-compressed images.

Image Search Editor also can be used to find raw bitmap images, and it's generally better to use when compared to FWeditor as it has more bit-per-pixel and color palette settings, and scrolling through firmware takes much less time. You can also instantly save what you are looking at to a .bmp without having to take and crop a screenshot.

ResMan can also open .tfs files and convert .icn and .ifg files to .bmp format. For newer Samsung phones, it's better to use a different program.

Making .RXT files for ResMan

IFG Images

Stated in the previous section, ResMan can view .tfs files and extract/convert .icn and .ifg files to .bmp format.

There are 2 programs that are better suited for this and can run on modern versions of Windows, those tools being TFS_Res and IFG_RW. IFG_RW is useful for batch converting .ifg to .bmp, and it also has a feature called "Search IFG in firmware" where it does a Multiextractor-like scan for .ifg files, and outputs them to a folder. From there you can batch convert them to .bmp (although it seems to have problems if there are more than 4000 .ifg files in a single folder). Note that it seems to have trouble with very early Swift platform phones that use the .ani format. Since they are just headerless raw bitmap images, Image Search Editor can be used to view and save them as BMP images.

TFS_Res is used for extracting the contents of .tfs files.

USB file transfer

For GSM phones, you can use Samsung PC Studio PIM & File Manager. Just find the appropriate port number, select it in the program, and it will automatically load whatever it can.

Samsung New PC Studio exists too, but only works on modern Windows with modifications to system files. If you really want to run NPS on Windows 8 and above, you need to replace Flash.ocx in "C:\Windows\SysWOW64\Macromed\Flash" with the version found in 64-bit Windows 7.

For CDMA phones, Revskills usually works well. Some phones may require you to enter the SP code, MSL, or both in order to access the EFS, though.