SamyGO Firmware Patcher


From SamyGO
Revision as of 18:56, 2 January 2010 by Erdem ua (talk | contribs) (Added Advanced mode explanations)
Jump to: navigation, search

What is SamyGO Firmware Patcher?

SamyGO Firmware Patcher Script is a tool, modifies original firmwares that downloaded from Samsung site and converting them to Hacked firmwares for enabling Telnet on boot, executing start scripts via advanced mode and implement Video AR Fix for to exeDSP programs.

  • Why we are using patches instead of releasing hacked firmwares?

Because we are not allowed to distribute Samsung owned firmwares even we modify it. For avoiding any legal problems, we are turning around and modify original software via this script instead of releasing hacked firmwares.

Needings

  • Before start, you needed to download 32 bit python 2.6.4 (not 3.x one) for your operating system from www.python.org site.
  • Python is OS independent language for using this script at all OS'es.
  • You needed pyCrypto package too if you try to modify CI+ device firmwares which has 'CIP' string in that firmware name (ex. T-CHLCIPDEUC).

Usage

  • Download SamyGO Firmware Patcher script from download area.
  • Download your devices original firmware from Samsung site.
  • Extract downloaded original firmware (by double clicking at windows or using unrar program at linux, macosx...)
  • patch it using SamyGO Firmware patcher as "python SamyGO.py <Your Extracted Firmware Directory>"

for example:

python SamyGO.py ./T-CHL7DEUC
  • Take look at process output
death@triQuad:/SamyGO> python ./SamyGO.py Silo/T-CHL7DEUC
SamyGo Firmware Patcher v0.16 (c) 2010 Erdem U. Altinyurt

                  -=BIG FAT WARNING!=-
           You can brick your TV with this tool!
Authors accept no responsibility about ANY DAMAGE on your devices!
        project home: http://SamyGO.sourceforge.net

XOR Encrytped CI firmware detected.
Decrypting with XOR key :  T-CHL7DEUC
Crypto package found, using fast XOR engine.

Applying VideoAR Patch...
MD5 of Decrypted image is : 9b4d11ddc6bd41156573ae61d1660fdf
FAT image analyzed - exeDSP location: 7811072  size: 37414044
ARM ELF exeDSP File Detected
CToolMmbDisplaySizeItem::GetToolItem() Adress : 0x13537D0
CToolMmbDisplaySizeItem::PressLeftRightKey() Adress : 0x1353AC8
VideoAR Fix v1 Compatibility Found.
VideoAR Fix v1 Patched on image.

Applying Telnet Patch...
Searching %3
Suitable Location Found for Script injection on Offset : 3969567
Enable Telnet or Advanced Mode on image( T/a )? 
Patching File...
Telnet Enabled on image.
Calculatin new CRC :  d71d7f17
Updating /SamyGO/T-CHL7DEUC/image/validinfo.txt with new CRC.

Encrypting with XOR :  T-CHL7DEUC
Crypto package found, using fast XOR engine.

Operation successfully completed.
Now you can flash your TV with ./T-CHL7DEUC directory.
  • If everything goes on the way, copy the modified firmware directory to your USB flash device root and plug it to the TV and Flash your device. Thats all.

Advanced Mode

During the patching process you will be asked to use Enable Telnet or Advanced Mode.

Enable Telnet or Advanced Mode on image( T/a )?
  • If you simply wish to just enable telnet on startup select "T"
  • If you wish to automount shares and telnet then select "a"

If you selected Advanced Mode you will need to create a file called /mtd_rwarea/SamyGO.sh and set the permissions to 755

Once you have flashed your TV you will need to use the SamyGO Telnet Enabler Program, to enable telnet. This is a once off.

Once you have enabled telnet using SamyGO Telnet Enabler, telnet to your tv and create /mtd_rwarea/SamyGO.sh

# vi /mtd_rwarea/SamyGO.sh

Add the following to SamyGO.sh

#!/bin/sh

# Enable Telnetd
if [ `cat /proc/mounts | grep -c "/dev/pts"` -lt "1" ] ; then
        echo "telnetd Enabled"
        mount -t devpts devpts /dev/pts
        telnetd
else
        echo "/dev/pts is mounted"
fi

# Open back-door for fixing boot-loop situations
sleep 20            # Allow USB-stick to settle
USB="/dtv/usb/sda1" # USB mount-point

if [ -f $USB/usb.sh ];then
        echo "USB-File detected"
        $USB/usb.sh
else
        echo "Running Normal SamyGO Startup"
        /mtd_rwarea/SamyGO.sh # Run normal startup script
fi
exit

Set the right permissions

# chmod 755 /mtd_rwarea/SamyGO.sh

Now reboot your TV and you ready to rock and roll....