*******************************************************************************
*******************************************************************************
*******     ATTENTION!!! The program i900_EXEcutor is submitted in      *******
******* the fact-finding purposes. All actions with given software and  *******
*******                 it results you make at own risk!                *******
******* The author of the program does not carry any responsibility for *******
*******       possible the caused damage to yours communicator.         *******
*******************************************************************************
*******************************************************************************

The program is intended for work with exe_firmware (exe_fw) and its components
communicators Samsung i900/i908/i910/B7300/i8000/M490/M495.
It is possible Disassemble\Assemble UD_firmware (UserDownloader_version, 
intended for ServiceCenter) and disassembly OSU_firmware (OS_Updater_version, 
intended for the end-user, for example, i900*****_updater_***.exe). Work in a 
mode of a command line is possible (more in detail see below - Console mode).

===============================================================================
    Supported models communicators and basic opportunities of the program:
===============================================================================
i900     - all accessible procedures
i908     - all accessible procedures, except assembly EXE_fw
i910     - all accessible procedures, except disassm\assm EXE_fw
B7300    - disassembly EXE_fw, unpacking PDA_section
i8000    - disassembly EXE_fw, search in MST-file and saving of contents 
           PDA_section as dump\packets
M490/495 - unpacking PDA_section
=============================================================================== 
 
Briefly: 
* EXE
  **  [Disassemble] - disassembly on a part (the folder by name exe_fw 
	with enclosed file_section is created)
  **  [Assemble] - assembly in uniform exe_fw from parts (the final file
	is created in a folder in which last settles down specified file_section)
  **  OSUpdater_FW [Grab OSUpdater_FW] - grabbing and save OSU_fw
* Eboot
  **  [Info] - the information on eboot_section.
* PDA
  **  [Disassemble] - disassembly pda_section in dump/packages,
  **  [Assemble] - assembly pda_section from files of dump/packages.
  **  [Editing] - editing, 
  **  [Info] - the information on pda_section,
  **  [Search] - finding PDA\OSNB section in any hex_files
  **  [Other] - additional procedures for work with pda_section and it
     contents,
* Customer_CSC
  **  [Disassemble] - disassembly on components of section customer.csc
  **  [Assemble] - assembly of a file customer.csc from the files located
	in image_folder. The new file is located in a folder <image_folder>\CSC_New\
  **  [Editing] - editing of info of section.
* Phone
  **  [Info] - the information on phone_section.
* Tools
  **  DSK* [Dump DSK*] - working with dumps of disks communicator.

Version :
"++" - added; "--" - deleted; "><" - updated; "##" - changed; "@@" - fixed bugs
--------

v 2.3
++  unpacking exe_firmware of device i8000
++  unpacking pda_section device SCH-M490\495
++  capability of reading of dumps of disks communicator (Tools-Dump DSK*).
    In i900, basically, following layout of disks:
    DSK1: - firmware image
    DSK2: - installed operating system with a user's software
    DSK3: - My Storage (8/16 Gb)
    DSK5: - flash card
    Locked dumps are saved in C:\EXEcutor.DUMP\DSK*.bin, where DSK* - 
    the indicated disk. For saving and transformation in pda_section of firmware 
    we use disk DSK1:, sequentially executing following operations:
    1. Reading of dump DSK1 (Tools-Dump DSK*-Read)
    2. Transformation of dump DSK1 in OS.nb (PDA-Other-Conversion PDA -> OS.nb)
    3. Transformation OS.nb in PDA.bin (PDA-Other-Conversion OS.nb -> PDA)
++  library msvcr71.dll
@@  correct unpacking of pda-section without ULDR_section (for example, firmwares
    by Khuanchai)
++  capability of pausing after each operation at the assembling pda_section 
    (PDA-Options-Pause after each operation)
++  capability of restoring of the version pda_section in the original status 
    (PDA-Editing-Restore. Well only at the recognised running version)

v 2.2
++  Unpacking UD_firmware of device B7300
++  Own algorithms of formation OS.nb, Imgfs from PDA.bin, that has allowed to
    speed up data processing of procedures in 2.5-3 times
++  Search PDA\OSNB_section (tab PDA - Search) in an any file and them saving 
    (PDA_ ****.FSP). The FSP-file is only initial material for receptions 
    dump\packets\OS.nb_file (tab PDA - Disassemble), instead of for an 
    flashing by means of service programs (GranPrix, Buckingham, Octans 
    Downloader)!! Search successfully it is carried out in files IMG (i900),
    MST (i8000), EXE_firmwares (for ServiceCenter), dumps taken off with 
    communicator (DSK1:)
++  Unpacking a OSNB-file in dump\packets (tab PDA - Disassemble) 
++  Editing the version pda_section (tab PDA - Editing).
    Editing is possible only for firmware of devices i900\i908\i910 (on to 
    questions of personal expansion of opportunities of the program address to it 
    author) and only the working version established at present in the device
    (Source information > Omnia*\WiTu). The given function can help those who 
    stitching device OsU_firmware (the version with official site 
    www.samsungmobile.com/support/omnia/index.jsp, intended for the end user)
    receives a mistake"... Incorrect Software Version" or "Device already 
    contains the newest firmware". Before flashing it will be necessary to change
    the current value accordingly to the version the region or on older version.
    Attention!!! At editing of the version pda_section the first symbol "i" will
             be replaced on "I" (for example, I900PUIL7).
><  osnbtool applet up to version 1.59

v 2.1
- The opportunity of viewing compilation information on pda_section is added 
  (tab PDA - Info):
  1. An any firmware (Source information > PDA_section firmware)
  2. An firmware disassembled on dump or packages (Source information > OEM\DUMP)
  3. The working version established at present in the device (Source Information
      > i900 Omnia\WiTu).
- Display of the version phone_section in tab Phone - Info is added
- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  !!!!!!!!! ATTENTION! DANGEROUSLY! IT IS NOT CHECKED UP! AT OWN RISK !!!!!!!!!!!
  !!!!!!!!!! Creation exe_firmware WITHOUT eboot_section is added  !!!!!!!!!!!!!!
  !!!!!!!!!!!!! (it was made by analogy with i900tool from mrtoto) !!!!!!!!!!!!!!
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- Disassemble exe_firmware i908 is added
- Visual components of a window of the program are corrected
- In EXE - Assemble double click on a field of section makes his clearing
- option in PDA-Options "use WMReloc instead of G'Reloc at assemble from packets"
  is added
- In some cases the information on the done work is concretized 

v 2.0
- It is added Other (tab PDA) with procedures:
  1. Transformation PDA on components (OS.nb, XIP, IMGFS)
  2. Transformation OS.nb in PDA
  3. Construction XIP_section (BuildXIP)
  4. Change of parameter PagePool
  Names of the created files are formed on a mask *_YYMMDD_HHMMSS.* .
- The button of Options (tab PDA - Disassemble/Assemble) with options, 
  influencing process and display of the information at unpack\pack pda_section
  is added.
- The component cecompr_nt.dll by Andim is updated (quantity of the RAM is 
  optimized, used at work of "kitchen").
- bugs fixed

v 1.9
- The opportunity of work with pda_section (tab PDA) is added at presence of 
  files "Kitchens" (subfolder Kitchen)!! Disassembly pda_section in dump/packages 
  and assembly pda_section from files of dump/packages is accessible. 
  For disassembly PDA_section it is necessary to specify file PDA_section, 
  folder, where it will be unpacked also and type of the formed data on an 
  output.
  For assembly PDA_section in image_folder should be : 
  for DUMP data_in - folder DUMP with files and original OS.NB
  for PACKAGES data_in - folders OEM\SYS\ROM with files and original OS.NB.
  The name new PDA_file is formed on mask PDA_YYMMDD_HHMMSS.bin
- The opportunity of viewing of the information on eboot_section (tab Eboot) and 
  it saved in a text file is added.

v 1.85
- Version UserDownloader (up to 1.6.6) for integration in UD_fw is updated.
- Processing of the information on partitions phone_section is added

v 1.8
- The method of definition of the version of section PC_Loader (UserDownloader.exe)
  is changed
- Correct recognition of section IMG in modern insertions is added (beginning
  from version IA5). Now the file of an image will be defined as 
  Image_MyStorage_FAT32 and to be saved under name MS_FAT32.img (it was earlier 
  defined as a CSC-file). This file it is possible to open, for example, with 
  help WinHex.
- The opportunity of viewing of the information on phone_section (tab Phone) and 
  save in a text file is added 

v 1.7
- In a console mode commands for work with CSC_section (see below) are added

v 1.6
- The opportunity of work of the program in a console mode (description see 
  below) is added
- At assembly exe_fw check of a correctness of a choice of files 
  EBOOT/CSC/PHONE/_section is added
- The mask *.* (DANGER!!!) at a choice file_section in a mode of assembly is 
  added

v 1.5
- Definition of the serial version of section EBOOT (in the version of section
  after "_"; for example, at i900PUHJ2_0135 - version 01.35)  is added
- The opportunity to change version of section Customer_CSC (tab Customer_CSC
  - Editing) is added
- Processing of section MultiLang is added at assembly exe_fw
- The opportunity of creation exe_fw with an any set section is added (section
  EBOOT is obligatory!!)
- The button Options (tab EXE - Assemble), item "Phone Bootloader Update" is 
  added - at packing exe_fw the attribute of necessity of an insertion is formed
  loading block Phone_section (by default, always the attribute is established)
- The bug of "a superfluous blank" at formation of the expanded names of files
  is corrected 
- Item of the menu "Help" is added

v 1.4
- Support of language of the interface (Russian) is added.
- The button of Options (tab EXE - Disassemble) is added, checkbox "form the 
  expanded names of files" - at unpacking exe_fw files on names section are 
  created with addition of the information on an firmware (for example, 
  eboot_i900PUHJ2.nb0)
- Adjustments of the program are kept (language, checkbox)
- sizes of a window of the program are changed for convenient reading a plenty
  section at unpacking
- quantity of processable files is increased at Disassemble\Assemble 
  csc_section up to 512
- Version UserDownloader (up to 1.6.4) for integration in UD_fw is updated
- fixed bugs
 

ps.. Descriptions of earlier versions are accessible at personal inquiry


================================================================================
Console mode:
=================
Use: 	 	i900_EXEcutor [-Pointkeys] [/Filekeys]

[-Pointkeys]	The keys, indicating to the program type, parameters of work. 
		The register of a key of value has no (-a and -A will be 
		processed equally). The order of keys of value has no. If there
 		are some keys together with -h the priority has last.
		
-h,-? 		The help on keys
-a 		Assembly exe_fw
-d 		Disassembly exe_fw
-l		indication of work with customer_CSC
- 		To hide a console window at work
-p 		A pause upon ending of work of the program

[/Filekeys] 	Keys with the indication of files with which work is conducted

/l<file> 	indication <file>, as file LOADER_section
/e<file> 	indication <file>, as file EBOOT_section
/i<file> 	indication <file>, as file PDA_section
/c<file> 	indication <file>, as file CSC_section
/r<file> 	indication <file>, as file PHONE_section
/f<file> 	indication <file>, as file EXE_FW
/d<dir>		indication <dir>, as image_folder for assembly customer.csc

*** The note: 	Directly the key -d works !!ONLY with UD_firmware, intended
		for service_center!! To work with OSU_firmware in a console mode,
		they are necessary for taking preliminary, using process <Grab
		OSUpdater_FW>

The following values of keys are by default accepted:
At assembly - /li900_EXEcutor.udp /fNew_FW.exe

Example of use of the program in a console mode: 	

	 *** 	 i900_EXEcutor -a /ec:\fw\eboot.nb0 /ic:\fw\pda.bin /fc:\i900PUIB3.exe -p
		
		 In this case it will be created new exe_fw c:\i900PUIB3.exe 
		 from eboot_section c:\fw\eboot.nb0 and pda_section c:\fw\pda.bin,
		 and after the ending of work of the program the console will 
		 demand pressing Enter for end of work.
		
	 *** 	 i900_EXEcutor -d /fc:\i900PUIB3.exe
		
		 In this case exe_fw c:\i900PUIB3.exe it will be disassembled on 
		 section which will be save in a folder c:\i900PUIB3\, and after
		 the ending of work of the program the console will be closed 
		 automatically.

	 *** 	 i900_EXEcutor -l /dc:\new_csc

		 Assembly c:\new_csc\CSC_New\customer.csc from a folder c:\new_csc\

	 *** 	 i900_EXEcutor -l /cc:\customer_i900PUIB3.csc
		
		 Disassembly c:\customer_i900PUIB3.csc in a folder c:\Customer_CSC


Attention!!! Any checks on a correctness of input of names of files, an accessory
 of a file to true section it is not conducted ! In other cases occurrence of 
mistakes of processing, the console window is closed with the system sound 
submitted in sound speakers, without visual warnings.
=================================================================================

============= Big Thanks ===============
-=Asterix=-
Catmat
Mdemonv 

phone i900 :)
===========================================