Custom bootsplash screen for HTC Universal - JASJAR, XDA Exec, MDA Pro ROM Development

Tested on my machine, I chose my own picture and you switched bootsplash screen
http://www.megaupload.com/?d=N76IF0UA
About: This simple utility is used for converting between
the RS 16-bit bitmap format and the standard Windows
24-bit bitmap format (DIB). The conversion process
is capable of RSB->BMP as well as BMP->RSB.
Usage:
Step 1: Click "Add Files" to add RSB files, BMP files, or both
RSB & BMP files to the list of files to be converted.
Note: If you wish, you may select multiple files at once
via the open file dialog by holding "Ctrl" and clicking
on each file you wish to add to the batch list.
Step 2: If you wish to convert only one file, select the file you
wish to convert, and hit "Convert". If you wish to convert
all files on the batch list, hit "Convert All".
If the currently processing file is a BMP, a RSB file will
be produced.
If the currently processing file is a RSB, a BMP file will
be produced.
The location of the output file is the same as the location
of the input file.
Example:
Let's say I have 2 files in my conversion list:
c:\pictures\image.bmp
c:\retreat\patch.rsb
After hitting "Convert" or "Convert All", the
following files will be created:
c:\pictures\image.rsb
c:\retreat\patch.bmp
Step 3: If you wish to remove any item from the batch-list, simply
select the item you wish to remove then press "Remove".

I like this!
will try these days, thank you

jakert said:
I like this!
will try these days, thank you
Click to expand...
Click to collapse
That is especially for you and tell what happened when they

Това са картинките които аз съм правил преди време, а и всичките ги има в темата тук: http://forum.xda-developers.com/showthread.php?t=399403
This are my pictures and they are already posted with many others here:
http://forum.xda-developers.com/showthread.php?t=399403

Sorry I copied your picture, I did not know, thanks for the links, I will put the one with the blue eror has one problem, these links do not work
Download rsb images pack 2:
http://rapidshare.com/files/12224300...lash2.zip.html
Mirror:
http://vidmes.com/xda/Uni/Tools/win_xp/
Извинявай че съм копирал твоя снимка,не знаех,мерси за линковете,сега ще слагам онази синята с ерор,има един проблем,тези линкове не работят

Here another one:
http://wiki.xda-developers.com/index.php?pagename=HTC_Universal_Change_Boot_Splash

Related

[KITCHEN][04/Jan/11]ELF(in) Kitchen(s)[ONLINE]

INTRO
I started trying to make a kitchen for our Elves based on bepe's Extended Kitchen and Elf(in) Hybrid Kitchen was "born".
Since then, bepe released his famous PlatformReBuilder(PRB) and I followed him, creating B2 Kitchen (page41 and on).
The Hybrid Kitchen is discontinued but I will keep it posted here for anyone who wants to play with it.
B2_Kitchen has started as an Elf(in) kitchen, but became a multidevice kitchen.
B2_Kitchen has started as a simple batch-file kitchen, but became a multifunctional kitchen.
At the end it is a GUI based on command-line tools just like some other visual kitchens.
The main applications are PlatformReBuilder and ImgfsTools.
So I don't actually feel that I made something new...
I take no credit!
CREDITS TO
bepe for the kitchens and other tools,
pof for the USPL, cmonex for the HSPL,
itsme , mamaich & tadzio for the brilliant but simple tools,
ervius for the great tools,
Noonski for the cooking class [This is how newbies gain the knowledge to cook] and for the inspiration,
Ababrekar for guideness in porting OS from another device,
Aman for sharing his knowledge&helping me make any fixes&upgrades
and many more members/developers of this forum which I consider as a free on line school whose tools and guides made this possible!
These kitchens are free to use or edit but at your own risk, I take no responsibility for any damage caused to your phone!​
B2 Kitchen
B2 Kitchen GUI (LATEST VERSION 2.0.0.0)
Supported Devices:
Elfin
Leo
Diamond
? (Testers Needed for other devices)
INSTALLATION:
Prerequisites:
Microsoft .NET Framework 3.5 (Windows Vista / Windows 7 have it pre-installed)
If you're using Windows Vista / Windows 7, make sure USER ACCESS CONTROL is turned OFF!
DO NOT change the structure of the kitchen!
If you don't want to use ImDisk Driver, you should get another 3rd party software able to create a RamDisk in order to use the relevant feature.
Installation:
Once you download the kitchen, install it following on screen instructions.
When you launch the kitchen for first time you'll get the chance to install ImDisk Driver if it isn't already installed.
(RECOMMENDED if you don't have another 3rd party software for Virtual Drive Management)
To get started, you should import a device by using an official_shipped_ruu.exe as a source.
Otherwise you could place your files manually.
(Be careful to put them in the correct way, respecting the kitchen's structure)
Download links:
Mediafire(For ALL users)
XDA(For XDA members)
********************************************************************************************************************
DESCRIPTION:(Video)
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Dump any source you want in almost any known format:
RUU_Device_HTC_Version_Signed_Ship.exe
RUU_Signed.nbh
Flash.dio
OS.nbf
OS.nb.payload
OS.nb
nk.fat
Imgfs.bin
xip.bin
Part01.raw and Part02.raw
Import a new device by dumping the device's OFFICIAL Rom RUU_Device_HTC_Version_Signed_Ship.exe.
The kitchen will even create a CustomRUU.exe AND a Task29.exe for the imported device.
Import any new leaked build just with one click.
When you dump a rom / import a new device the kitchen is able to:
Remove any empty packages if you select -EmptyPkgs.
Sort each registry file from your dump to make it more readable if you select SortRegistry.
Sort all Packages into the required style.
Sort all manila localization files by lcid.
Build your rom according to your taste:
Set which packages will be included from the "Packages Selection" area.
Set Rom version, language, ModelID and CountryID that are required for generating the final flashable *.nbh. The Rom date will always be automatically set to current date.
Select among various builds and lcids which one to use for building your Rom.
Select whether to use a real 6.5 nk (if your device has a 6.5 nk) or not in your generated Rom by selecting 6.5nk.
Select whether to use ShaDrac's driver - Extendir - or not by selecting Extendir, without messing up (adding/removing Extendir.dll - editing boot.rgu) your XIP each time.
Select whether to reduce/remove ULDR or not at your generated Rom by selecting -uldr.
Select whether to increase the Storage Memory of your Rom or not by selecting -imgstart.
Choose your Rom's PagePool Size (0-20).
Select compression (XPR-LZX-None) method for building your Rom.
Add Radio and Splashscreen to your final flashable *.nbh.
Set the kitchen to take care the "SLOT 0 overfloating" issue when building a 6.5 Rom while your nk.exe is not a real 6.5 nk.exe by selecting Rec.Mod SYS
If you have used the above option and have recmodded some modules inside SYS/Shared in order to fix the "SLOT 0 overfloating" issue when no real 6.5 nk.exe is available, but now you want to use the same Build (= the same SYS/Shared) for building a new Rom for a device that has a real 6.5 nk.exe you can reversmode the same files by selecting Rev.Mod SYS.
Set the kitchen to search and find any duplicate items in your compilation that would cause crashing issues to PRB before starting the real building process by selecting DuplicateCheck.
Each time you build a rom a log file is created which you can easily see by clicking the "Process" Label.
Search for files or file's content (i.e. Search for a certain registry entry among *.reg files) using the search engine of the kitchen.
Access fast and easy certain files that are commonly used inside a Rom.
You can see lists of *.txt, *.mscr , *.xml , *.provxml , *.cpr & *_manila inside your kitchen by simply clicking the relevant button.
If you click on any file you see in those lists you open it for editing.
Flash any ROM you selected from a list of your created Roms to your device.
You'll get the chance to perform task29 on your PDA - THEN manualy enter Bootloader and FINALLY update the ROM if you have that special CustomRUU inside the kitchen.
Use a RamDisk (ImDisk Driver comes with this kitchen) for the building and dumping processes in order to gain speed and decrease hard disk fragmentation.
Cfc manila files and convert any normal Manila_package to a compressed one just with one click.
Exploit the possibilities of MortScript even during building your Rom:
Forget about app.dat - app.mscr is introduced in this kitchen.
Don't cook in hundreds of files that get copied to various locations but at the same time stay in your "Windows" directory slowing down your device - Create just one archive (app.xdaz) which extracts the files to the correct locations during boot leaving in "Windows" directory only one file with an unknown extension.
Convert cabs--->EXT Packages just with one drag n' drop on a button.
Convert files<-->modules just with one drag n' drop on a button.
Convert rgu files<-->hives just with one drag n' drop on a button.
Convert provxml files<-->reg files just with one drag n' drop on a button.
Convert bmp<-->nb just with one drag n' drop on a button.
Install any cab file to your pda just with one drag n' drop on a button.
Manipulate each package from the "Packages Selection" area just with one click:
Double click on the package to open its folder
Right click on the package to:
Edit directly the package's app.reg.
Edit directly the package's app.dat.
Edit directly the package's app.mscr.
UPX one/all package's executable(s).
Optimize package's png(s).
Optimize package's bmp(s).
Repack package's *.mui files.
Recmod one/all package's module(s).
NosplitMod one/all package's module(s).
Revmod one/all package's file(s).
Install the package to your pda.
Edit directly the initflashfiles.dat of the selected language just by right clicking inside the "Locale" box in the "Configuration" area.
Edit directly the boot.rgu of the selected build just by right clicking inside the "Build" box in the "Configuration" area.
If you want to edit directly the boot.rgu for the Extendir driver just right click the Extendir checkbox.
Read/Write directly the packages.cif and packages.sof of the selected build just by right clicking inside the "Build" box in the "Configuration" area.
Optimize XIP & SYS of the selected build just by right clicking inside the "build" box.
Build 3 different editions of your rom just by selecting an "Edition" (Premium, Basic, Lite) in the "Configuration" area.
This is optional, so if you leave "Edition" blank, then the "P" , "B" , "L" selection in the "Packages Selection" area doesn't matter!
Keep the kitchen accessible at all time. When you close the kitchen, it minimizes to tray from where you can access many functions and browse the kitchen's folders. By double clicking the tray icon you restore the kitchen's window.
If you want to really exit the kitchen while it is visible press F1!
Easily uninstall the kitchen from your system.
Easily save/load your project:
If you double click the "Save" icon then you'll save your current project (its name will be the Edition.build.locale.date&time of saving).
If you click the "Save" icon then you can select from a list of your projects which one to load.
Easily access all the tools that come with the kitchen. Even assign your own favorites to ALL the bottom buttons.
Check existing registry files for errors before building your Rom by right clicking the "Packages Selection" Label.
The time of this operation depends from the number of registry files, so you either give it enough time to finish if you have a lot of packages in your compilation or you click the Stop button to abort it.
Control your pda from inside the kitchen:
Restart your connected pda without even touching it.
Enter BootLoader.
Watch a list of processes currently running on your device.
View/edit/dump your device's registry.
********************************************************************************************************************
BASIC USAGE:
***Valid for any device - Just consider your device's name instead of the Elfin***
Packages Selection:
You can see all the SYS Packages from the BUILD & LOCALE you've chosen.
You can see all the EXT Packages you have in the kitchen's directories.
You can make sub-directories(limitation:up to 16!) to organize them better(i.e. EXT\Elfin\Tweaks , EXT\Elfin\TodayItems , EXT\Elfin\Apps , EXT\Elfin\Utilities , etc) and place your packages inside each sub-directory.
You can select which packages to include in your ROM by ticking the checkbox in front of the package's name. If you have it unticked then the package will be skipped.
If you double click inside the selection cell but not on the checkbox then you can select/deselect ALL packages.
You can see in the "Packages Selection" area that there are 3 columns "P" , "B" , "L" following the Package's name.
These will have an effect ONLY IF you select an Edition under "Configuration" area!
Code:
If you want "Package1" to be [COLOR="YellowGreen"]included[/COLOR]/[COLOR="Red"]excluded[/COLOR] in your [B]P[/B]remium edition then you must have the checkbox under "[B]P[/B]" [COLOR="YellowGreen"]ticked[/COLOR]/[COLOR="Red"]unticked[/COLOR].
If you want "Package1" to be [COLOR="YellowGreen"]included[/COLOR]/[COLOR="Red"]excluded[/COLOR] in your [B]B[/B]asic edition then you must have the checkbox under "[B]B[/B]" [COLOR="YellowGreen"]ticked[/COLOR]/[COLOR="Red"]unticked[/COLOR].
If you want "Package1" to be [COLOR="YellowGreen"]included[/COLOR]/[COLOR="Red"]excluded[/COLOR] in your [B]L[/B]ite edition then you must have the checkbox under "[B]L[/B]" [COLOR="YellowGreen"]ticked[/COLOR]/[COLOR="Red"]unticked[/COLOR].
There is also a ZIP Column. That Column is used to "mark" which EXT Packages you wish to convert to "Mscr_Packages" when you click "ExtToMscr" option.
Code:
If checkbox = unticked then nothing will change.
If checkbox = ticked then Selected Package will be converted to a Mscr Package (this is useful ONLY for applications that get installed to Program Files)
If checkbox = greyed then Selected Package will be converted to an Extendir Package (this is useful ONLY for applications that get installed to Windows and you're cooking Extendir in your Rom)
When you click the "ExtToMscr" the kitchen creates an archive (with the extension *.xdaz) from the Package's files and writes the necessary "app.mscr" (something like the equivalent of "app.dat").
For this it needs the "app.dat" inside the EXT Package so that it translates it to "app.mscr".
(This operation doesn't take place each time you hit the build button)
Your (original) EXT Packages will be copied to TOOLS\pkg\EXT.bak as a backup and only the (converted) Mscr Packages will be kept inside EXT[folder].
These new packages will be used ONLY IF you select "mscr" for ARType( = AutoRun Type) in the "Configuration" area.
Of course MortScript MUST be included in your Rom AND you must have the ARMS.mscr (script with #INSERTLINE switch) inside Autorun.mscr\Elfin folder.
Click to expand...
Click to collapse
Main Functions:
Obligatory routine:
Select device.
Select build.
Select locale.
Clicking the "Dump" button presupposes that you have placed a Rom file inside BaseROM folder.
When the process finishes you'll get a full dump of that Rom.
Drag n' drop a Rom file on this button works the same way!
Right Click on "Dump" button will show you two options:
Import New Device
meaning use another device's official rom to dump&prepare everything that is required by the kitchen to operate.
When everything is completed you'll be asked whether to auto move files or not!
Import New Build
meaning use any archive with the new leaked build to import the included SYS and XIP packages to the kitchen.
Next to the "Dump" button is 1 icon :
The folder-icon is a menu that includes shortcuts to various kitchen's folders.
Clicking the "Build" button starts the building process.
Next to the "Build" button are 3 icons :
The first one is a menu that includes :
ImDiskGui
ExtToMscr
RomTools
RePackOEM
CFCManila
The second one opens the below window. From there you can turn on/off the RamDisk feature, uninstall the kitchen, set your custom (build) commands, etc.!
The third one opens the Search utility of the kitchen.
Clicking the "Stop" button you stop the process you've started.
Clicking the "Phone-icon" button you have the options to:
Select from a list with your created Roms which rom to flash.
Restart your connected pda without even touching it.
Enter BootLoader.
Watch a list of processes currently running on your device.
Launch CeRegEdit
Double clicking the "Phone-icon" button you access the RELEASE\Elfin folder.
Clicking the "Flash" button you minimize the kitchen and start the CustomRUU (ElfinCustomRUU) in order to flash the ROM you selected to your device.
Right Click on "Flash" button will show you the option to Format&Flash, meaning that you'll get the chance to FIRST perform task29 on your PDA (ElfinTask29) - THEN manualy enter Bootloader and FINALLY update the ROM.
Right Click on "Configuration" label will show you the Advanced PRB Settings panel.
Clicking on "Radio" label opens the radio sub-folder.
Clicking on "Splash" label opens the splash sub-folder.
Addons:
You can easily access all the extra tools that come with the kitchen. - Drag n' Drop works for every dark-GRAY button.
You can assign your favorite links to ALL the buttons you see at the bottom!
Those links can be applications, folders, batch files or urls.
In order to set your own you should edit the file myaddons.ini under TOOLS\addons\ keeping the format addon#|Name|Path :
(Just right click on the button you want to change)
Code:
addon1|CFF Explorer|C:\Program Files (x86)\Explorer Suite\CFF Explorer.exe
addon2|Tiny Hexer|C:\Program Files (x86)\mirkes.de\Tiny Hexer\mpth.exe
addon3|Icon Editor|C:\Program Files (x86)\Icon Editor\IcoFX.exe
addon4|Manila Kitchen|C:\Program Files (x86)\Manila_Kitchen
.
.
.
********************************************************************************************************************
TO DO:
Any suggestions are welcomed!
Any bug reports are appreciated!
B2 Kitchen's Structure
This is the structure of the kitchen after importing a device and you shouldn't try to change it because you will have errors!
The build 23545 you'll see in the below pictures is an example in order to help you understand the kitchen's structure.​
Autorun.mscr is the folder where you can put your mortscript file that runs at first boot(named ARMS.mscr).
This mscr must include a line "#INSERTPOINT" !!! This line is required so that all "app.mscr" will be added at that exact point of your script!
The ARMS.mscr must be placed inside the subfolder named after your device.
BaseRom is the folder where you can put any rom you want to dump.
EXT is the folder where you store all your EXT Packages that you want to try in your ROM.
Here you can put any application,utility,todayitem,etc. and choose whether to include it or not, having in mind if it is or not essential for the windows to work!
Those Packages must be placed inside the subfolder named after your device.
OEM is the folder where you have OEMApps, OEMDrivers and other OEMFolders (Device Specific). Check out trueg's posts for more information about these folders.
Those OEMFolders must be placed inside the subfolder named after your device.
If you are cooking a rom in a different language than WWE, then create that subfolder.
For example if I want to cook a greek rom I'll create a subfolder 0408 along with 0409 and place my local.files in 0408.
If you are using the kitchen in OEM mode you can put inside the "Pkgs" subfolder your old-style packages (with *.dsm , *.rgu , etc.). You'll be able to choose whether to include or not each of those from the kitchen's packages selection!
RELEASE is the folder where your custom ROM (i.e.Yourdevice_ROM_Lang_0409_Build_21056.nbh) will be placed after cooking in order to flash it to your device using your CustomRUU.
You must have a subfolder named after your device under RELEASE and be careful with the names of the included *.exes (YourdeviceCustomRUU.exe & Task29\YourdeviceTask29.exe).
ROM is the folder where the XIP is placed.
If you enter this folder you'll see :
Like it is shown above, you must have all the XIP elements, except MSXIPKernel, inside the subfolder named after your device.
If your device has WinCENLS_Lang_0*** as part of XIP leave it there, otherwise an adviced location to store it is OEM\Yourdevice\0***\.
SYS is the folder where all the OS Packages (Not device Specific , but I'd say Screen Resolution Specific) are stored categorized by build number. Check out trueg's and Da_G's posts for more information about these Packages.
You must place those OS Packages inside the subfolders SHARED, dpi_96 , dpi_96_resh_240_resv_320 , etc. like it is shown below.
TOOLS is obviously the kitchen's "engine".
(Each time you build a rom you should find in there a log file from the building process which you can access by clicking on the Process label of the main application)
Inside CORE\Saved folder you must have a subfolder named after your device.
Inside CORE\Devices.list(file) you must have the settings for your device.
$DEV=YourDevice'sName
<1 for device that has only wm6.1kernel , 2 for device that has wm6.1kernel AND wm6.5kernel , 3 for device that has only wm6.5kernel>
KERNEL=3
dpi=192
resh=480
resv=800
ModelID=PB8110000
CID=11111111
chunksize=64
GSMHeaderType=0x301
<" -s" Switch if device's Splash.nb requires smartphone signature , leave blank if device's Splash.nb DOESN'T require smartphone signature>
SplashSwitch=
SplashHeaderType=0x600
<Size of device's Splash.nb>
SplashSize=786432
<" -t 0" for 0x00 or " -t 255" for 0xFF>
SplashPaddingType= -t 255
OSHeaderType=0x400
<hermes for Sectorsize=0x208 , kaiser for Sectorsize=0x808 , titan for Sectorsize=0x800 , leave blank for Sectorsize=0x200>
NBMerge=kaiser
<reduce for device that ULDR can ONLY be reduced , remove for device that ULDR can be totaly removed>
ULDR=reduce
Click to expand...
Click to collapse
Inside Radios folder (see below) you can store any %radio%_0x30$.nb in order to use in your Rom:
You must place those Radios inside the subfolder named after your device.
You can find all Elf(in) Radios here.
Inside splash folder (see below) you can store any
%##splash%_0x60$.nb in order to use in your Rom.
%##splash%_0x60$.bmp is required for previewing!
You must place those Splashscreens inside the subfolder named after your device.
You can find more SplashScreens here or you could make your own with the kitchen tools.
B2_Kitchen_GUI is the GUI that combines all the command line tools. Screenshots here.
Elfin Hybrid Kitchen
ELF(in) Hybrid Kitchen (DISCONTINUED - NEWER KITCHEN @ 2nd POST)
INSTALLATION:
1. Install on your pc Microsoft Visual C++ 2008 Redistributable Package and Microsoft .NET Framework 3.5!
2. Remove any previous version(if any)of the kitchen(shortcuts too) before "installing" the newer!
3. The archive should be extracted directly to the Drive where Windows are installed (most cases C:\) , otherwise nothing will work!
4. Once you do that, go into C:\ELF(in)_Hybrid_Kitchen and double-click "First_Run_For_ELF(in)_Hybrid_Kitchen.bat"!
5. IF you're using Windows Vista, make sure USER ACCESS CONTROL is turned OFF!
Download through: Mediafire
********************************************************************************************************************
DESCRIPTION:
(Be patient and keep your eyes on the DOS window for additional help&instructions while using this kitchen)
Main Functions:
[a] Dump any ROM from Kaiser, Polaris, Diamond, Xperia, Raphael, Elf(in)...
You may use these formats:
****.nbh (eg: RUU_Signed.nbh, Blue_Elves.nbh, etc) ,
****OS.nb (eg: New-OS.nb, 19588-OS.nb, etc) or ***windows.nb (eg:Mobile_windows.nb, New_windows.nb, etc) ,
****imgfs.bin (eg: imgfs.bin, new_imgfs.bin, etc) .
****.payload (eg: OS.nb.payload, 20270_OS.nb.payload, etc) . <- NOT FOR ELF(in) !
****.raw(only Part01.raw & Part02.raw) .
You get new OEM, SYS and xip.bin(unless you used *imgfs.bin) into C:\ELF(in)_Hybrid_Kitchen\Extract_ROM\Temp .
If you used an ELF(in) ROM then you'll get a full dump, OEM, SYS and XIP, that you could move to C:\ELF(in)_Hybrid_Kitchen\ELFIN_DEV_v2.1_Build_19XXX\ and use it as a cooking base .
[b] Port any XIP from Kaiser, Polaris, Diamond, Xperia... You need xip.bin .
It requires:
NOT to change Ref_XIP folder inside C:\ELF(in)_Hybrid_Kitchen\Prepare_XIP and
If you have any problems in XIP Porting you have all the needed tools inside C:\ELF(in)_Hybrid_Kitchen\Prepare_XIP to try manually port the xip .
[c] Build your OS.nb (using the Ervius PkgToolsBuildos which can autofix & autorelocate SYS) .
You'll get the option to make a dumpable ROM using PkgToolsBuildos (by keeping unticked the box next to "All packages in one:") .
NOTE1: Inside ..\Build_ROM the OEM , SYS and ROM\XIP folders are empty . You may "fill" them with the required files .
NOTE2: Because Ervius PkgToolsBuildos is included in the kitchen, you could always use the functions that it provides apart from those described here .
NOTE3: If your xip_out.bin or out.bin is smaller than 2,49MB you could use the attached os.nb.payload (where imgfs start @ 0x280000)
[d] Flash any ROM to your device .
If you have a CID Locked device you have the option to flash a ROM using SoftSPL & your device remains CID Locked with the same SPL !
Additional Functions:
[1] Convert any cab to an OEM Package using Ervius Package Creator .
[2] Create a cab using IABovine's QuickCab 2.0 .
[3] Convert a bitmap to a Splash.nb (& reverse) using pof's nbimg .
[4] Convert files to modules & reverse using RecMod and reversmode . Not all files can be converted to modules.
[5] Convert 24 bit .bmp to .brn and reverse (for editing Cube gfx) .
[6] Compress executable files using UPX 3.03 .
Panel:
Easy access for many tools .
BASIC USAGE:
(Check out ayyu3m's great [PICTORIAL] COOKING YOUR 6.1 ROMS USING ELF(in) HYBRID KITCHEN)
1. Lets say you want to use a SHIPPED or DUMPED (NOT a COOKED!) ELF(IN) ROM as a Base.
--1.1.Double click the desktop-shortcut "Main Menu"
--1.2.Press [a]
--1.3.A window pops up beside the DOS screen. Place in there the RUU_Signed.nbh and close the window!
--1.4.Press [1]
--1.5.When the process is completed (& pressing any key returns you to main menu), you get another window opened with the files you want:
Packages(OEM&SYS)
XIP(folder)
xip.bin
--1.6.Keep that window open and double click the desktop-shortcut "Kitchen"
--1.7.Copy OEM and SYS to C:\ELF(in)_Hybrid_Kitchen\Build_ROM\
--1.8.Copy the XIP(folder) to C:\ELF(in)_Hybrid_Kitchen\Build_ROM\ROM\
2. The Base for cooking your ROM is set! Either clean up the OEM folder from things you wish to be removed or just (re)build the ROM.
--2.1.Double click the desktop-shortcut "Main Menu" (if you closed the main menu window)
--2.2.Press [c]
--2.3.PkgToolsBuildos starts
--2.4.Go to BuildOS Tab and click Load Rom.Select which Packages to include and press the green play button[Go]
--2.5.When this process is completed you'll have your OS.nb inside the "temp" folder and the (final product) RUU_Signed.nbh is generated in two places,
(i)..\CustomRUU\ <= For flashing CID Unlocked phones
&
(ii)..\RUU\ <= For flashing CID Locked phones using SoftSPL
NOTES:
A) Ref_XIP folder inside Prepare_XIP is the latest 3.10ROM's XIP, but modified as follows:
-removed modules:
cachefilt.dll, hd.dll, mencfilt.dll, osaxst0.dll
-removed files:
boot_ms.rgu, bmui.nb0
-edited files:
boot.hv, boot.rgu,
Code:
REMOVED ENTRIES:
[HKEY_LOCAL_MACHINE\System\StorageManager\FATFS\Filters\CacheFilt]
"Dll"="CacheFilt.dll"
"Order"=dword:2
[-HKEY_LOCAL_MACHINE\System\StorageManager\FATFS\Filters\CacheFilt]
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\LSOMACORE]
"Index"=dword:00000001
"Prefix"="DRM"
"Dll"="lsomacore.dll"
[HKEY_LOCAL_MACHINE\System\StorageManager\Filters\LsFilter]
"Order"=dword:00000001
"Dll"="LSFILTER.dll"
[HKEY_LOCAL_MACHINE\Init]
"Launch98"="TimeWizard.exe"
-edited modules:
nk.exe
Code:
RTC is enabled
-ALL MSXIPKernel modules are relocated to achieve better XIPPorting
**If you include LockStreamDRM PACKAGE in your ROM and you use the Ref_XIP as your \ROM\XIP(folder), ADD the removed (from boot.rgu) entries
Code:
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\LSOMACORE]
"Index"=dword:00000001
"Prefix"="DRM"
"Dll"="lsomacore.dll"
[HKEY_LOCAL_MACHINE\System\StorageManager\Filters\LsFilter]
"Order"=dword:00000001
"Dll"="LSFILTER.dll"
[HKEY_LOCAL_MACHINE\Init]
"Launch98"="TimeWizard.exe"
in the PACKAGE's *.rgu.
B) Building your ROM
When you are building your ROM you need:
ROM\XIP(ALL FILES and MODULES) ,
ROM\romhdr.bin and
ROM\OS.nb.payload
This option builds the out.bin(buildxip.exe is used)from the XIP(folder).
C) PP Patching is included in the kitchen operation!
You just set your favorite pp size at the beginning(installing) and each Rom you build is already patched!
If you make the following hex change in nk.exe's S000
Aman said:
i've another method for u guys to change the PP. search the 03 15 A0 03 02 15 A0 13 00 10 83 E5 62 C2 FF EB in yours S000 of nk.exe and change the string marked in Red color to 00 00 A0 E1. from there onwards u can simply use the old Multi-platform PP changer.exe (that is also found in kaiser kitchen) to change ur PP on the OS.nb. this should make the kitchen even simpler
PS: this method works regardless of the device
Click to expand...
Click to collapse
then the kitchen's PP Patching doesn't work!
You should use the suggested by Aman Multi-platform PP changer v2.21 which is included in the kitchen's panel!
NOTE: I don't have an ELF to test, but after the above change then I think that the pp size is the same for both ELF&ELFIN(not dynamic).
Nice job Kokotas.
great job bro
i would like to test ur kitchen.
Repository:
ElfinCustomRUU.exe
ElfinTask29.exe
Task29&CustomRUU
B2_Kitchen_GUI_Setup
B2_Kitchen_GUI.exe
kokotas said:
Thanks man, but it will be great only if it works for everybody!
I'll pm you the password for the download link.
Regards!
Click to expand...
Click to collapse
TOGETHER we all can MAKE SURE that it works for everybody
how can I obtain pass? I will translate ebglish rom to Turkish and I need that tool..
Nice work.
Not going to switch right away at the moment.
But this looks very good.
I'm on the lookout for a cheep Touch so this will come in handy if I get my hands on a touch....
gullum said:
I'm on the lookout for a cheep Touch so this will come in handy if I get my hands on a touch....
Click to expand...
Click to collapse
gullum I have touch and I can't wait to cook a new room for touch
ill have a go i got a rom on my phone that that is needed in the upgrade rom list but i have been able to remove it
Project for work
i need to lock down some features of my works PDAs and would love to try your kitchen to attempt this.
can i have a password?
Got a Touch tonight for under 200$ used of cause so now I want a kitchen to make roms
kokotas said:
Sit taken
Click to expand...
Click to collapse
Well deserved!
Gr8 job, Ill keep an eye.
This is fantastic and I'd like to try it. I'd like to cook my rom using this kitchen. Would you pls. give me a password.
Removed password protection!The download link is open for everyone!
Read 1st post before starting to play with it!Get used to it and read carefully!
Some features are NOT tested yet!
Hope to hear some good news!
Even better...hope to hear that someone makes it better!
I'm done!Back to my readings and to Solid State Physics(I hate that lesson)
Best Regards!
This is on it's way to my pc now thanks in advance
I've already changed Bepe's kitchen to fit my cooking but this one seams more advanced so thanks again
kokotas said:
Removed password protection!The download link is open for everyone!
Read 1st post before starting to play with it!Get used to it and read carefully!
Some features are NOT tested yet!
Hope to hear some good news!
Even better...hope to hear that someone makes it better!
I'm done!Back to my readings and to Solid State Physics(I hate that lesson)
Best Regards!
Click to expand...
Click to collapse
u need to modify the Create_ROM_for_ELF.bat file used for Ervius' buildOS tool. its not working right now, pls check it

How I cook a ROM

My Guide to cooking requested by a few of my ROM users.
- IMPORTANT -
Make sure you have Visual C++ 2008 and M$ .Net Framework and it's Service Pack.
- NOTE TO COOK -
These Sys and Xip files are for 96 dpi devices only or commonly known as QVGA. So Please if you want to cook for your device using my guide, please make sure your device is as such.
- THE PREP _ Gathering Your Ingredients-
You can download my kitchen.
(Extract my kitchen to the C:\ directory (the root of your harddrive))
-OR-
Download the kitchen files below and create your own kitchen.
Create a directory C:\kitchens\
(Go into the C: drive and right click in an open area. Hover over 'New' and the select 'New Folder' and name it kitchens.)
Then download these kitchen files:
Link 1
Link 2
Link 3
Link 4
Link 5
Link 6
Link 7
(These links were brought to you by JustKitchen.info)
These links are archived with 7-zip.
When you have all these files downloaded, and you have 7-zip installed, Select all of the files you've downloaded. Then right click on one of the highlighted files and hover over 7zip in your dropdown menu and then click on 'Extract Here.'
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
This will create a directory that looks similar to this:
As you also see in that picture (The 'Working_Folder' archive) you'll need my Sys & Xip files. And as you know me, I will always try to keep this folder updated so that when a new build comes out you guys can cook with it too, Which you guys can find HERE or any of my ROM threads. Right now I have all the newest builds. So you guys are set
_If you downloaded my kitchen instead, then it will have come with build 23545 & build 23563 only (Which are Windows Mobile 6.5.5 - the latest Windows Mobile Builds)._
After you download my Working_Folder.7z then just extract the files as shown (Just right click on the file and hover over 7zip and you can click on 'Extract Here.'
And yes, lol, my computer is names Muff - PC because me and my wife's pet names are Muffin, lol.
Now, click 'Yes' when it prompts you asking if you want to Merge the folders and then also click 'Yes' to Overwrite the files there if necessary.
Once you have the kitchen setup the way you want it, (you'll also notice the PagePool Changer I have in there) then go up one level in the folder to where you see Working_Folder and send a shortcut to the desktop as you see below:
Here is where you'll need to make changes to your files (Because my files have my background image and watermarks and all of my GUI changes..etc..).
Navigate to C:\kitchens\SuperJustKitchen\Working_Folder\SYS\23563\dpi_96\COMMON\Base_DPI_96
You can download this Base_DPI_96 folder here if you want the original files..
Just drag and drop over the Base_DPI_96 folder in the C:\kitchens\SuperJustKitchen\Working_Folder\SYS\23563\dpi_96\COMMON directory.
After you're all set in making your GUI changes then navigate to
C:\kitchens\SuperJustKitchen1\Working_Folder\EXT\SHARED\THEMES_QVGA
This is where you are going to change your background images. The most important part about making these images is the fact you need to keep them perfectly proportioned to your device. If you have a qvga, like my Wing/Herald, then its going to be 240 x 320 (portrait) and 320 x 240 (landscape).
When you're done making your images make sure to rename them respectively.
Now navigate to C:\kitchens\SuperJustKitchen1\Working_Folder\EXT\SHARED\Control Panel\HTCAnimation_1_3_5_0\files
This is where you'll change the splash screens. And Please do ^>^ because we each should have our own unique style of cooking, lol.
Just find an animated .gif image - Also 320 (tall) x 240 (width) - and just rename it Animation2.gif
Then Find a still image of whatever you'd like and rename it welcomehead.96.png
Just take mine out and dispose of them..
- End of Prep -
Part two below.​
- PART TWO _ More Prep -
Okay. First thing is navigate to your Working_Folder, which should be on your desktop continuing from the last post. Open the ErviusKitchen.exe
Let it load, then click on the drop down menu in the picture and land it on Herald. It will go crazy for a second, but, that is normal.
Next, click on the dropdown menu for the XIP and SYS and land them on the build you're using. I am using, the included, 28223 build.
Next, you're going to add your ROM version number. In the picture is how I normally label mine.
Should look like this:
Using LZX Compression is useful when you notice your ROM is too big. The Max size a ROM can be is about 80MB or so. If you plan on not flashing by SDCard then the minimum size of the ROM should be 50.1MB. When you are ready to cook, you'll see the size in bytes. So, in bytes, 50.1MB is 52,567,531
- - -
Next, click on Show Editor.
This will bring up all the .rgu files that are located in the kitchen. Scroll down to where you see the .rgu file located in the Shell.
Double click on it and it will open up the editor. Locate line 419. This is where you can 'brand' your ROM. All my ROMs I create usually have the branding '- Trib.' Put anything you want after the '- ' (and you also have to leave space right after the '- '). Then make sure to save. Then close out of the editor. Then go back to the main kitchen window.
- - -
Next, click on Extra Buttons.
This will bring up a menu with large buttons. Click on the CABtoEXT button.
That will bring up a command prompt window as shown:
Minimize all the other windows. Then hit the Enter key. This will open up a large window.
Then navigate to any of the cab files that you might want that are not listed in the kitchen. Select and Right-Click on the cab files that you want then click on Copy.
Then Right-Click and Paste the cab files into the window that popped up.
When all the cab files have been placed go back to the other command prompt window and then press Enter where you see Press any key to continue . . .(and make sure to only put up to four at a time.. for some reason it doesn't work right).
A prompt will follow asking if it will be used for 96dpi devices. Make sure you select the respective digit for 96dpi then hit enter. Another message will prompt you to select what devices can use the programs. Make sure to select All devices.
Your cabs you import into the kitchen will be located in the 0096 Category in the list
- - -
Now head back to the kitchen's main window. Next we are going to Save the ROM so far. Make sure you save with a version number (sometimes if I save before I put a version number I'll forget to put one all together. Basically a ROM won't flash without one.
Now Close out of the kitchen all together then re-open it. Reason being is because the cab files you've just installed won't show up until you do. Then Load your previously saved ROM.
Now it's time to make your selections of what is going to go into your ROM. Double click on each file/module to toggle the enabling/disabling of packages.
These are my selections:
Once you've made your selections make sure to save once more.
- End of Part Two_ More Prep-
Cheers,
Trib
​
- PART THREE _ Cooking -
Now you are ready to cook. Press the Create ROM button.​
You will see more craziness:
This process can take up to an hour depending on how many cores your computer has - it's a logical based kitchen ^>^
Once the process is complete, navigate to C:\kitchens\SuperJustKitchen\Working_Folder\RELEASE_HERALD and click on the ROM Update Utility. Or you can use the PagePool Changer to change the pagepool to something other than the default, which is 6MB. Changing it to 3MB will give you about 5MB more Ram. But it also has a trade-off of slowing your ROM down a bit.
Put your device into the bootloader by soft-reseting it (by pressing in, with your stylus, the little hole on the left side of your device) and also holding down the camera button. You will then be in a, what we call a tri-colored, screen.
Then check off the check box and press next. Do this again. Then it will pause. Then the utility will pop up again and click on next twice and then UPDATE.
Once you flash the ROM to your device, upload it with RGhost.Net
Then post the link in this thread. I would like nothing more than to see the fruits of yours and my own labour.
Cheers,
Trib.
-End Part Three _ Cooking -
​
An excellent and to the point start!
Let me be the first to congratulate you! This tutorial is going to help people like me tremendously!
Hm. i just realized I forgot to mention that these Sys and Xip files are for 96 dpi devices only or commonly known as QVGA. So Please if you want to cook for your device using my guide, please make sure your device is as such.
Long time viewer, first time poster.
I am also looking very forward to this tutorial. I've been messing around in the "kitchen", just getting the feel of it.
Looking forward to a better understanding.
Thanx for all the hard work.
Thank you for this!! I will try to.
Your welcome. I can't wait to see what your ROMs will be like.
WOW! Nice tutorial!!
If I mess it up now, it could only be due to my own un-geekness.
Just one question: Would it be too much trouble to outline just the files needed to create a "bare-bones" rom; i.e. a rom that will work (duh), but have as little "fluff" as possible?
Excellent work!! Donation is on the way!
Thank you for your kindness.
And that is exactly what I did - If you select the selections i've made you'll come out with a barebones system with all the necessary files.
nothing
not appear
[HKEY_LOCAL_MACHINE\Software\Microsoft\Shell\DeviceBeta]...
img: http://cwmobile.webcindario.com/nothing.PNG
what is the error?
thanks in advance..
Hm. Didn't realize that it wasn't in there. You can manually enter it in there. But I'll include it for you... Just redownload
Tribulattifather said:
Thank you for your kindness.
And that is exactly what I did - If you select the selections i've made you'll come out with a barebones system with all the necessary files.
Click to expand...
Click to collapse
Ah, OK, excellent.
Please pardon my noobness.
I'm at work right now. I'll hit that PayPal button when I get home (I don't want to be typing logins/passwords on this PC, for obvious reasons).
It can't be said often enough: Thank you for your work.
I surrender, thanks for try help me...
Don't surrender, lol. I'm uploading the files you'll need right now.
I'll post back here when its uploaded.
UPDATE: Added the correct files to the SYS folder; you will now be able to 'brand' your ROM now.
Tribulattifather said:
Thank you for your kindness.
And that is exactly what I did - If you select the selections i've made you'll come out with a barebones system with all the necessary files.
Click to expand...
Click to collapse
i have to disagree with you there. You have included many unneeded things for the average user.
To name a few unneeded:
ADC, Adobeflash/codecs, DRM, Entertanment, ipsecvpn, SQLCEMobile, Transcriber, Voicecommand, HTC animation, SIM_Tkit, Net CF.
Just my 2 cents
Granted your roms are more geared towards everyone. Many know mine were not
Oh yeah, I know what you mean. I only meant that this was a barebones ROM that I would make. I guess one could construe that I meant barebones for an average user. My apologies :1
But best thing one can do is cook , cook , cook and cook some more until you get the ROM you want, lol.
thanks, but if I yield to truth, and you can not download the files because they are heavy and my internet is 256 and download speed is + / - 30 kbs.
thanks... thanks... and thanks...
What build would you like me to upload separately for you? I think you said you needed 28223.
This file is only 30MB and contains only 28223 with the updated Shell folder:
http://rghost.net/download/980604/6a9cbd59a9d861179da20ac3f06349b222d8cfda/Working_Folder.7z
Cellomancer said:
Ah, OK, excellent.
Please pardon my noobness.
I'm at work right now. I'll hit that PayPal button when I get home (I don't want to be typing logins/passwords on this PC, for obvious reasons).
It can't be said often enough: Thank you for your work.
Click to expand...
Click to collapse
Thank you so much Cell for your kindness. I will prioritize your needs if you do need anything.

[DEV][TOOL][Linux]Android System Extraction and Repack Tool

Introduction
You probably know already that starting from Android 5.x (Lollipop) compiled roms (aosp,cm,stock) are not compressed anymore the way they used to be on previous android versions. On previous versions all content inside /system folder that has to be extracted within our device was either uncompressed (simple /system folder inside our flashable zip) or compressed in a system.img file, which it is a ext4 compressed file; both of these, anyway, were readable and we could see all system files (app,framework, etc).
The problem comes in >=5.0 versions, this method is not used anymore. Why? Because roms started to be always larger, so it is necessary to compress them even more.
Note : Introduction was taken from here : https://forum.xda-developers.com/an.../how-to-conver-lollipop-dat-files-to-t2978952 by @xpirt so thanks to him
So in order to save myself and others who most port Custom & Stock Roms, i decided to use some part of my time to write this script for easy work done.
What this script does :
It basically Unpack and Repack system.new.dat alongside with file_context.bin convertion which is seen in android 7.0/7.1
ITS USAGE:
NOTE
First Clone the repo.
Make sure that Android_System_Extraction_and_Repack_Tool is located at Desktop
Run "Xtrakt" from it's location in terminal
Copy "file_contexts.bin" from your Rom to "file_context_zone" folder
Use "f" from menu to convert "file_contexts.bin" to text readable "file_contexts"
Copy : system.new.dat, system.transfer.list & file_contexts to "convert-dat" folder.
Use "i" from menu to unpack, which the output will be name as "rom_system" for modifications of apks & files.
Use "y" from menu to repack, which the complete new "system.new.dat", "system.patch.dat" & "system.transfer.list" will be located at "Finish-new.dat" folder
Done !
EXAMPLE:
Again , Make sure that Android_System_Extraction_and_Repack_Tool is located at Desktop
In your terminal, type the following to start the script:
Code:
git clone https://github.com/iykequame/Android_System_Extraction_and_Repack_Tool.git
mv android_system_extraction_and_repack_tool ~/Desktop/
cd ~/Desktop/android_system_extraction_and_repack_tool/
./Xtrakt
OR
Code:
Double-click the Xtrakt file and choose "Run in Terminal" if your OS supports it.
##ALERT!!!##
sudo is requested in the script.
How To Get It {Tool]
Clone from one of the below ;
From GITHUB :
Code:
git clone https://github.com/iykequame/Android_System_Extractrion_and_Repack_Tool.git
From BITBUCKET :
Code:
git clone https://[email protected]/zac6ix/android_system_extraction_and_repack_tool.git
Or
Download zip
AFH
GIT-RELEASE
Sources :
Android_System_Extraction_and_Repack_Tool
GITHUB
BITBUCKET
Threads :
sdat2img 1.0 - img2sdat 1.2
For file_context.bin conversion by: Pom Kritsada @ MTK THAI Developers.
Credit to :
@xpirt
@SuperR.
-all xda threads which helped
-Android Matrix Development - here
-Nana Yaa for her time.
hi, your tool sounds good but it seems it doesnt work.
i press f and nothing happen ..
Use "f" from menu to convert **"file_contexts.bin"** to text readable **"file_contexts"**
Blackball said:
hi, your tool sounds good but it seems it doesnt work.
i press f and nothing happen ..
Use "f" from menu to convert **"file_contexts.bin"** to text readable **"file_contexts"**
Click to expand...
Click to collapse
Sorry for the Late reply !
Directories linking has been fix .
You can go ahead and try again
Thanks for sharing!
Don't work
When i press i ..Don't work.say file missing.but i already put all file..Please help meView attachment 4249470
Doesn't do anything with file_context.bin, doesn't even check if file is there.
oreo supported???
I am getting this error on repacking:-
Code:
WARNING! WARNING!! WARNING!!!
Please Check & Trace Where Errors.
There Is NO rom_system found
file_contexts -->> Missing !
Android SDK -->> not detected !
Please help.
Black_J said:
I am getting this error on repacking:-
Code:
WARNING! WARNING!! WARNING!!!
Please Check & Trace Where Errors.
There Is NO rom_system found
file_contexts -->> Missing !
Android SDK -->> not detected !
Please help.
Click to expand...
Click to collapse
I see that this thread is not supported.
Anyways, I observed that the tool works for file_contexts.bin but not for other options.
So , I followed the other link in the thread for individual commands and was successful.
Works perfectly on Android Pie! Have to do some tweaks, PM me if anyone wants to make this work for Android Pie.

[IDE] ROMS][Windows] Poison Kitchen IDE [Dev Preview 2][2.3-8.1]

Poison Kitchen IDE
Development preview
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
​
Description
A powerful IDE for android ROM development
Runs native on WINDOWS, MacOS themed.
Its powered by my XanderUI class library for the .net framework
Currently Development preview builds are only available, meaning things may be broken, behave incorrectly or other
Click to expand...
Click to collapse
Features
-Full GUI coded in C# for fast runtime
-XanderUI based controls(My C# class library)
-Based on .net 4.5
-Support for every single android version
-Unpack rom from (.zip, .tar, .md5, .img, aml_upgrade_package)
-Pull all required files from device(root needed to copy kernel block)
-Adb, fastboot and drivers installater
-ROM information
-Explorer
-Deodexing(4.4.4 and lower ATM)
-Unpacking the kernel
-Converting file_contexts.bin to standard text
-Kernel explorer
-Repacking kernel
-Logging
-Auto-generating updater-script
-Use generic symlinks if files detected
-Use generic file contets if the kernel does not contain file_contexts
-/data/app auto transition to new rom(somewhat working)
-Wipe data excluding /data/media(/sdcard path)
-Auto kernel block detection
-Auto mounting /system and /data
-Packing rom
-Signing rom
-Updater-script editor
-Extansion support
-Emulated exension scripts(applied via C#)
-Degapps extension
-Deknox extension
-Custom emoji extension
-Enable sony apps extension
Click to expand...
Click to collapse
Features not yet implemented
-root via magisk(systemless) and superSU(standard)
-init.d
-deodexing 5.0 and up
-adbd insecure
-init.d tweaks
-build.prop tweaks
-change display I.D
-add sysrw/ro binary
-logging needs tweaking
-loading rom information updated in the background
-Unpacking RUU as project(HTC)
-Unpacking TFT as project(SONY)
-Unpacking system.dat(sparse)
-Setting your actual device as the project and apply changes in realtime
-/data/app auto transition to new rom
-Kernel may not unpack
-Convert line endings in explorer context menu
-Inbuilt file editor(with EOL auto-detection)
-Boot animation player/changer
-Auto flash rom with ORS(TWRP)
-Bluestacks as rom
Click to expand...
Click to collapse
Settings
Load settings()
-Set default startup project or startup menu
-Enable/disable logging
-Stop logger from detecting files or folders added, deleted, changed or moved
Installation settings()
-Change romname
-Change installation type(autodetect on unpack, User generated, Tool generated)
-Change file contexts method(Auto, extracted from kernel, assumed)
-Enable/disable safewipe
-Enable/disable data/app auto transition
-Enable/disable autodetect ernel blockpath(add path below)
Pack settings()
-Change compression level
-Add signing method(pack into presigned, sign on zip, none)
-Change java heapsize
-Exclude files and folders from being packed/detected by IDE
Default program settings()
Change default program to open image files
Change default program to open video files
Change default program to open audio files
Change default program to open prop files
Change default program to open archive files
Change default program to open jar/apk files
Change default program to open other type files
Current version and updates()
Cleanup settings()
Click to expand...
Click to collapse
License
GNU GPL V3
Downloads
Downloads page
XDA:DevDB Information
Poison Kitchen IDE, Tool/Utility for the Android General
Contributors
Ricky Divjakovski
Version Information
Status: Testing
Created 2018-04-19
Last Updated 2018-04-19
Creating extensions and documentation
Code:
Description -
As extensions are a great adittion to the IDE, whats the use if you cant make your own for automated building?
Information you need to know -
The tool looks for the file "extension.info".
In the extension.info file you will specify the extension name, description and the poison shell script file(.psh).
Package the folder containing the extension as a zip archive
------------------------------------------------------------------
Entension index
------------------------------------------------------------------
Sample extension -
https://github.com/Ricky310711/Poison-Kitchen-Extension-Example
extension.info -
Lines will only be read if starting with "Name", "Description" or "Run"
-------------------- code exmpla
# this sets the extension name
Name:Fake optimizer
# this sets the extension description
Description:Do not apply this to rom, its a fake extension to show an example
# this is the poison script to run(must be in same directory)
Run:FakeOpt.psh
------------------------------------------------------------------
Scripting language(.psh file)
------------------------------------------------------------------
Information
-Must be linux EOL(\n)
-Anything but recognised 1st args are ignored
-Any errors will be ignore by the shell
-Use full paths asif you are in the root(/)
Extracting content to rom
---------- code example
EXTRACT|myFolder
1st arg states we are extracting(copying) a folder to the rom
2nd arg is the folder to extract(must be in same directory as extansion)
NOTE: This will extract the folder to the root of the rom
Changing a line in a file
---------- code example
CHANGE|START|/system/build.prop|ro.product.device=|THIS IS STARTS TEST
1st arg specifies we are changing a file
2nd arg specifies where on a line to search for the string(arg4)
3rd arg specifies the file to change
4th arg specifies the string to look for
5th arg is what you would like to replace the line with
The second arg can be START, CONTAINS or END
Appending a file
---------- code example
APPEND|TOP|/system/build.prop|# A TEST FOR APPENDING TOP
1st arg specifies we are appending a file
2nd arg specifies if we are appending at the TOP or BOTTOM
3rd are is the file to append
4th arg is the content to append
Remove a line from a file
---------- code example
REMOVE|/system/build.prop|# end fota properties
1st arg states we are removing a line from a file
2nd arg specifies the file
3rd arg is the string to look for in the line
Delete a file or folder
---------- code example
DELETE|/system/preinstall
Pretty straight forward, will delete a file or folder called "preinstall" from /system/
Create a file or folder
---------- code example
CREATE|DIRECTORY|/preinstall
arg 1 states we are creating something
arg 2 specifies if a FILE or FOLDER
arg 3 is the file or folder to create
Rename a file or folder
---------- code example
RENAME|/system/bin/am|amRenamed
1st arg specifies we are renaming a file or folder
2nd arg is the file or folder
3rd arg is the new name
Changelog
Development preview 2
-Added pull rom from device in setup
-Smoother nvigation
-XanderUI 1.6.0 integration
-Message boxes are now themed like the app
-Extensions now show progress upon running
-Deodexing up to Android 4.4.4 implemented
Development preview 1
-initial release
reserved3
supports all versions of android and all devices, no manual input needed.
dev preview 3 possibly tommorow
Yay now I can at least try to build my own g6 ROMs. Nice work.
development on hold until the 30th as im on holiday, i have been dedicating little time to this as internet here is extremely slow
Magisk and SU support added aswell as deodexing 5.x > 6.0
Also working on disabling signature verification, adding sysrw(as binary)
hi, im trying out the program, it never completes the extraction, and the progress icon starts at 53% do i need to do anything when trying to start the program.
i haVE TRIed running as administartor and without running as admin.
thanks
Twisted714 said:
hi, im trying out the program, it never completes the extraction, and the progress icon starts at 53% do i need to do anything when trying to start the program.
i haVE TRIed running as administartor and without running as admin.
thanks
Click to expand...
Click to collapse
A dialog will more then likely poppup requesting permission to run imgextractor.exe, be sure to accept that to complete the process
Ricky Divjakovski said:
A dialog will more then likely poppup requesting permission to run imgextractor.exe, be sure to accept that to complete the process
Click to expand...
Click to collapse
i am attaching some pics to what happens.
please advise. thanks
there are a couple more that are insignificant
Twisted714 said:
i am attaching some pics to what happens.
please advise. thanks
there are a couple more that are insignificant
Click to expand...
Click to collapse
Could you please PM me with pics of the firmware your selecting or even a link?
I've gone ahead and tried this. I pointed the app to my system.img (not the fastboot zip) and ended up with "error extracting". Tool looks promising. ROM is available for download here:
http://en.miui.com/download-333.html
I extracted it and used the images/system.img
oreo27 said:
I've gone ahead and tried this. I pointed the app to my system.img (not the fastboot zip) and ended up with "error extracting". Tool looks promising. ROM is available for download here:
http://en.miui.com/download-333.html
I extracted it and used the images/system.img
Click to expand...
Click to collapse
Im going to test now, if the firmware has system.transfer.list, and system.dat, it will not be able to be unpacked until i make a native library or extension to perform the operation as i think it would be extremely stupid for the need to have python installed to run.
The only reason i havent rebuilt smali/baksmali etc is 1. Would take me months, 2. we are modifying a system that relies on java to operate.
in future, hefty operations like unpacking etc, will be coded in ASM/C code for faster operation, Im planning on making the whole project open source to allow changes and fixes submitted by other developers, So if anyones interested let me know and ill upload the source code(Written in C# for the .net 4.5 framework)
Ricky Divjakovski said:
Im going to test now, if the firmware has system.transfer.list, and system.dat, it will not be able to be unpacked until i make a native library or extension to perform the operation as i think it would be extremely stupid for the need to have python installed to run.
The only reason i havent rebuilt smali/baksmali etc is 1. Would take me months, 2. we are modifying a system that relies on java to operate.
in future, hefty operations like unpacking etc, will be coded in ASM/C code for faster operation, Im planning on making the whole project open source to allow changes and fixes submitted by other developers, So if anyones interested let me know and ill upload the source code(Written in C# for the .net 4.5 framework)
Click to expand...
Click to collapse
Not sure if this helps but I've run Imgextractor directly on my system.img with this result:
Code:
Mi-A1-Repository>Imgextractor Mi-A1-Repository\Roms\Fastboot\tissot_images_V.9.5.10.0.ODHMIFA_8.0\images\system.img
ImgExtractor version 1.3.6 <Created by And_PDA (Based on sources ext4_unpacker)>
Extractor for images in EXT2\EXT3\EXT4\YAFFS2\CRAMFS filesystem formats
support SPARSE\SIN\MOTO structure formats
Open image file Mi-A1-Repository\Roms\Fastboot\tissot_images_V.9.5.10.0.ODHMIFA_8.0\images\system.img (size 3221225472 bytes) successfull...
Analize format of file. Please wait...
Found SPARSE FORMAT
Found EXT4 FORMAT
free space in image 188895232 bytes
Extract started. Please wait...
Extract 750 folders and 6306 files successfull
Found 386 symlink files
File stats (uid, gid, permission) save to Mi-A1-Repository\Roms\Fastboot\tissot_images_V.9.5.10.0.ODHMIFA_8.0\images\system__statfile.txt
Extract finish success
Press Enter to continue...
oreo27 said:
Not sure if this helps but I've run Imgextractor directly on my system.img with this result:
Code:
Mi-A1-Repository>Imgextractor Mi-A1-Repository\Roms\Fastboot\tissot_images_V.9.5.10.0.ODHMIFA_8.0\images\system.img
ImgExtractor version 1.3.6 <Created by And_PDA (Based on sources ext4_unpacker)>
Extractor for images in EXT2\EXT3\EXT4\YAFFS2\CRAMFS filesystem formats
support SPARSE\SIN\MOTO structure formats
Open image file Mi-A1-Repository\Roms\Fastboot\tissot_images_V.9.5.10.0.ODHMIFA_8.0\images\system.img (size 3221225472 bytes) successfull...
Analize format of file. Please wait...
Found SPARSE FORMAT
Found EXT4 FORMAT
free space in image 188895232 bytes
Extract started. Please wait...
Extract 750 folders and 6306 files successfull
Found 386 symlink files
File stats (uid, gid, permission) save to Mi-A1-Repository\Roms\Fastboot\tissot_images_V.9.5.10.0.ODHMIFA_8.0\images\system__statfile.txt
Extract finish success
Press Enter to continue...
Click to expand...
Click to collapse
Found the error, the img file is of a wierd format, as its named system.img, it actually contains files from the root, so within the system.img the the root of the image is actually the root of the device rather then the root of the system partition, its extremely odd but none the less extremely simple to fix
Issue is already fixed and will be included in dev preview 3, that is expected for public release in a day or so with much more additions
Ricky Divjakovski said:
Found the error, the img file is of a wierd format, as its named system.img, it actually contains files from the root, so within the system.img the the root of the image is actually the root of the device rather then the root of the system partition, its extremely odd but none the less extremely simple to fix
Issue is already fixed and will be included in dev preview 3, that is expected for public release in a day or so with much more additions
Click to expand...
Click to collapse
Yeah. I found it odd that the system.img had a /system directory in it. Awesome! Can't wait
Ricky Divjakovski said:
Could you please PM me with pics of the firmware your selecting or even a link?
Click to expand...
Click to collapse
its on mega.
https://mega.nz/#!dCA2mAYS!-GrKWuuTNODaYEbt3LWiw4LJzxkrz5wI3T94mQ4PU90
it is a android 6 to android 7 full update. its installed, but i am trying to learn cobble together a rom. this img is for a zoomtak upro, i have found today an image for the uplus/vplus. it has much more stuff in it.
thanks
Twisted714 said:
its on mega.
https://mega.nz/#!dCA2mAYS!-GrKWuuTNODaYEbt3LWiw4LJzxkrz5wI3T94mQ4PU90
it is a android 6 to android 7 full update. its installed, but i am trying to learn cobble together a rom. this img is for a zoomtak upro, i have found today an image for the uplus/vplus. it has much more stuff in it.
thanks
Click to expand...
Click to collapse
I will check it when i get home, if its an upgrade package, i cannot ad support for it..

[Tool] LG Back up & restore (com.lge.bnr) .lbf file analysis & extract tool

Hello, recently I looked into LG backup and restore application using static analysis.
Note: this is based on version lg bnr 8.0.26 from 2020-02-13, tested with 7.0.20 from 2008-12-31
Here is the extract tool:
https://github.com/Mysak0CZ/LBFtool
And here is the technical part (you don't need to read this, if you just want to extract your data):
The file contains 2 headers (one of them is referred to as "new")
These are XML documents encrypted using AES/ECB/PKCS5Padding + SHA256 and null IV with static password
Code:
cd562f61-5399-3978-ac76-7c54b0508010
And they look like this:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<BackUp>
<Common>
<Name>LGBackup_200217_1</Name> <!-- Name of the backup file -->
<Id>Randomly generated UUID</Id> <!-- Id of the backup file -->
<IsNew>True</IsNew> <!-- IsNew is same in new and old header -->
<Version>1.00</Version>
<Attr Name="product_model">LM-X525</Attr>
<Attr Name="os_version">9</Attr>
<!-- And other attributes including google email -->
</Common>
<BackupItem Category="settings_DB" StartOffset="59392" DataSize="136626" />
<BackupItem Category="MEDIA_DB" StartOffset="901169" DataSize="78393344" FileName="external.db" />
<!-- Other backuped items -->
</BackUp>
The "new" header has more information than original header, but same structure.
The attribute "IsNew" signals the presence of the new header. (and is True in both files)
All numbers inside file are in Big-endian.
And this is the structure of the file (decimal position):
Code:
0: Unknown - 0x00 for me
1: Int32 - size of the new header
5: Int64 - offset to the new header (usually 13)
13 ... EOF-33: data
EOF-33: 20 bytes - SHA1 hash of the password (if present, otherwise still data)
EOF-13: Int64 - offset to the (old) header
EOF-5: Int32 - size of the (old) header
EOF-1: Bool - Lock byte - the file is (0x01) or isn't (0x00) protected by password
The password is only checked during import, not used to encrypt data (so to remove password, just set the last byte to 0)
Every "BackupItem" entry has a "Category".
Special case is Category="APPLICATION" with this structure:
Code:
<BackupItem Category="APPLICATION">
<APPLICATION Name="com.lge.ime" StartOffset="19221586" DataSize="2385983" Package="com.lge.ime">
<Attr Name="com.lge.ime">com.lge.ime</Attr>
</APPLICATION>
<APPLICATION Name="org.exmple.app" StartOffset="1429652009" DataSize="3420160" FileName="org.exmple.app.tar" Package="org.exmple.app">
<Attr Name="org.exmple.app">org.exmple.app</Attr>
</APPLICATION>
<!-- ... -->
</BackupItem>
All applications are tar files that contain 2 folders:
app - contains the apk file
data - application's internal data
All other items have:
StartOffset - Offset inside file
DataSize - Self explanatory
FileName - Not all have this, but most do; it is the original name of the backuped file.
The files are not compressed nor encrypted.
Footnote: This is my first post on XDA, so sorry for any mistakes I made (including my english) and feel free to correct me/give me advice.
Mysak0CZ said:
Hello, recently I looked into LG backup and restore application using static analysis.
Note: this is based on version lg bnr 8.0.26 from 2020-02-13, tested with 7.0.20 from 2008-12-31
Here is the extract tool:
And here is the technical part (you don't need to read this, if you just want to extract your data):
The file contains 2 headers (one of them is referred to as "new")
These are XML documents encrypted using AES/ECB/PKCS5Padding + SHA256 and null IV with static password
And they look like this:
The "new" header has more information than original header, but same structure.
The attribute "IsNew" signals the presence of the new header. (and is True in both files)
All numbers inside file are in Big-endian.
And this is the structure of the file (decimal position):
The password is only checked during import, not used to encrypt data (so to remove password, just set the last byte to 0)
Every "BackupItem" entry has a "Category".
Special case is Category="APPLICATION" with this structure:
All applications are tar files that contain 2 folders:
app - contains the apk file
data - application's internal data
All other items have:
StartOffset - Offset inside file
DataSize - Self explanatory
FileName - Not all have this, but most do; it is the original name of the backuped file.
The files are not compressed nor encrypted.
Footnote: This is my first post on XDA, so sorry for any mistakes I made (including my english) and feel free to correct me/give me advice.
Click to expand...
Click to collapse
Nice job dude! just a the quick recommendation: I would suggest that you put your code on gitlab or GitHub so it will become easier for others to contribute
Sent from my OnePlus 6T using XDA Labs
Hi. I'm trying to use this tool but I don't know how to use it. I followed the instructions and downloaded Python. but none of the other steps are working for me. I have my backup on my PC and am trying to extract my files into normal formats as I wish to move away from the LG platform. Thank you.
---------- Post added at 07:20 AM ---------- Previous post was at 06:57 AM ----------
Nevermind, I found a work around.
For anyone else in the future wondering: If you select backup with the app on the phone and backup to the internal memory, it will create .pdf files of all text/images in internal storage>>Quickmemo+. This doesn't help to retrieve the audio or video recordings, but at least that way you can retrieve your text files/images.
Tried script on old backup, failed with error.
Mysak0CZ said:
Hello, recently I looked into LG backup and restore application using static analysis.
Note: this is based on version lg bnr 8.0.26 from 2020-02-13, tested with 7.0.20 from 2008-12-31
Here is the extract tool:
And here is the technical part (you don't need to read this, if you just want to extract your data):
The file contains 2 headers (one of them is referred to as "new")
These are XML documents encrypted using AES/ECB/PKCS5Padding + SHA256 and null IV with static password
Code:
cd562f61-5399-3978-ac76-7c54b0508010
...
[/CODE]
All applications are tar files that contain 2 folders:
app - contains the apk file
data - application's internal data
All other items have:
StartOffset - Offset inside file
DataSize - Self explanatory
FileName - Not all have this, but most do; it is the original name of the backuped file.
The files are not compressed nor encrypted.
Footnote: This is my first post on XDA, so sorry for any mistakes I made (including my english) and feel free to correct me/give me advice.
Click to expand...
Click to collapse
My first post as well. Thanks for the script. I ran it on an old backup I was hoping to extract contacts from. See excerpt with error below.
C:\Temp\LG G4\Backup>python extract.py LGBackup_190218.lbf
[+] Backup size: 597864605
Parsing...
Reading header
[*] Header start offset: 597792768
[*] Header length: 71824
[+] Header read OK
Reading header (new)
[*] Header start offset: 7021235167904623918
Traceback (most recent call last):
File "extract.py", line 125, in <module>
root = readHeader(True)
File "extract.py", line 99, in readHeader
size = getBackupInfoSize(isNew)
File "extract.py", line 88, in getBackupInfoSize
raise Exception("Invalid header length.")
Exception: Invalid header length.
C:\Temp\LG G4\Backup>
Click to expand...
Click to collapse
I'm a complete newbie with Python, haven't done any coding in over a decade. Where do I go from here?
Ninja_Toad said:
My first post as well. Thanks for the script. I ran it on an old backup I was hoping to extract contacts from. See excerpt with error below.
I'm a complete newbie with Python, haven't done any coding in over a decade. Where do I go from here?
Click to expand...
Click to collapse
Hi! Your backup seem to be at least partially corrupted. (The new header position seems to start at 7021235167904623918, however the file is only 597864605 bytes long). Fortunatly there are two headers in the backup and the old one seems to be ok (You got "[+] Header read OK" for the old header). So you can try ignoring the "new" header.
To ignore the faulty header just set the relevant "FORCE_*_HEADER" to True in the script header. In your case just set "FORCE_OLD_HEADER = True".
Also note, that extracting contacts in readable format is beyond this script's current scope. This can however be done manually. After you get your data successfully extracted, look for export/data/contacts_DB file. This is a TAR file in which you need to find file "data/data/user/0/com.android.providers.contacts/databases/contacts2.db". This is the contact database as your phone stores it. To actually extract the contacts, you will need to find a way to convert the database to some other format (I have't looked into how the contacts are stored, you will need to do your own googling)
Files extracted but...
hello guys,
I also managed to extract my files using the hack mentioned above (force old headers to TRUE) since by using the default script i was also getting a similar error as above.
However now all of my files (pictures in particular) are corrupted and i cannot seem to be able to open them using several editors.
Anyone else had the same issue?
Thanks in advance!
serlal said:
hello guys,
I also managed to extract my files using the hack mentioned above (force old headers to TRUE) since by using the default script i was also getting a similar error as above.
However now all of my files (pictures in particular) are corrupted and i cannot seem to be able to open them using several editors.
Anyone else had the same issue?
Thanks in advance!
Click to expand...
Click to collapse
Yes I have exactly same issue as you have. All exported files cannot be read.
Hello @tking2000 and @serlal, this script was written based on versions that are available to me. There are two possibilities of what is happening:
1) The file was badly corruped, however the old header stayed itact. (This is the likely case, if you are trying this tool because your phone refused to restore the backup)
2) The file was made by version that does something differently and the script doesn't account for it.
In the first case there is nothing anyone can do (short of trying some corrupted file recovery software hoping the corruption is only minor)
In the second case, you can try sending me a PM with following information, so I can have a look and confirm whether this is truly the case (and improve the script)
1) The script's output
2a) The <Version> and <Attr Name="settingVersionName"> from the <Common> part of the header
2b) If you aren't concerned about privacy or it is just easier for you: just send the whole header file
3) The version of the com.lge.bnr app (LG Mobile Switch); this is not necessary, but may help me
Feel free to censor anything you are sending with [CENSORED] (like your email or filenames)
I have no experience with python, but I have one of these lbf files and I'm trying to figure out how to make it work and all I get is couldn't get library pycryptodome. How do I get Python 3.8.3 to get this library?
Multipart backups
Hello everyone,
I just finished an update, that should enable the tool to extract backups that have multiple files.
If you received "Exception: Invalid header length." in the past and your backup has multiple files, try the script now; your backups are likely to extract correctly now.
This is the likely case for: @Ninja_Toad @serlal and @tking2000
This was made possible thanks to @cheesyzombie who sent me the data I asked for.
@kamikazkid, You don't need to know Python to use this tool, the easiest way is to enter the commands in quotes on the github page into the console (To open the console Shift+Right click in the folder with backups and choose "Open command window here").
Just:
Download the zip on the github page (Under "Code" button)
Make sure the extract.py and your backup are in the same folder
Follow the usage, skip the 4th step and replace xxxxxx to match your backup name.
I figured it out, it was something with windows 10 and the version of python installation I used. Microsoft garbaging things up as usual, thanks for the help though. Thanks, I recovered my files from my old phone successfully.
I have no experience withc++, but I have one of these lbf files and I'm trying to figure out how to make it work, it is a great this forum
Is there a way to import the _DB files (contacts, messages, call logs etc.) back to a phone?
I asked before:
https://forum.xda-developers.com/lg-g3/general/restore-backup-lbf-lineage-17-t4172483#post83644281
Thank you so much for this! I was able to extract the Messaging data from an LG G8 ThinQ. Does anybody know the easiest way to view that data on my PC?
Hi, you can follow these steps to extract data fron _db files:
1) Send the _db files like contacts_db, messages_db to any android phone
2) Double tap on the file and open it using File Manager (which is by default on Mi phones)
3) The file will now open as a folder. Continue opening the folders until you reach to the last file.
4) The last file is the database file. It won't open directly. Select the file and extract the file.
5) Now transfer the file to computer and you can now view it using SQLite DB Browser if its a contacts file or you can use any VMG reader if its a messages file.
Hope this helps you.
Hi @Mysak0CZ, just follow your instructions on GitHub but when I run the command on Command Prompt, nothing happens. Just like this:
F:\>python -m pip install pycryptodome
F:\>python extract.py LGBackup-201031.lbf
When I enter nothing happened. Kindly help to advise for this.
Thank you
Problem in powershell
Mysak0CZ said:
Hi! Your backup seem to be at least partially corrupted. (The new header position seems to start at 7021235167904623918, however the file is only 597864605 bytes long). Fortunatly there are two headers in the backup and the old one seems to be ok (You got "[+] Header read OK" for the old header). So you can try ignoring the "new" header.
To ignore the faulty header just set the relevant "FORCE_*_HEADER" to True in the script header. In your case just set "FORCE_OLD_HEADER = True".
Also note, that extracting contacts in readable format is beyond this script's current scope. This can however be done manually. After you get your data successfully extracted, look for export/data/contacts_DB file. This is a TAR file in which you need to find file "data/data/user/0/com.android.providers.contacts/databases/contacts2.db". This is the contact database as your phone stores it. To actually extract the contacts, you will need to find a way to convert the database to some other format (I have't looked into how the contacts are stored, you will need to do your own googling)
Click to expand...
Click to collapse
Hi, I am trying to extract via your method but in the power shell in sending the command "python extract.py LGBackup_1x0x07.lbf" it does not execute and brings me back the initial path line. Do you have solutions in this regard? Thanks in advance
Ps. I use Win10
Worked so well. I only needed to recover images and audio recordings after realizing that LG backup tool won't restore on other brand phones.
Thank you!!
Mysak0CZ said:
Hello, recently I looked into LG backup and restore application using static analysis.
Note: this is based on version lg bnr 8.0.26 from 2020-02-13, tested with 7.0.20 from 2008-12-31
Here is the extract tool:
https://github.com/Mysak0CZ/LBFtool
And here is the technical part (you don't need to read this, if you just want to extract your data):
The file contains 2 headers (one of them is referred to as "new")
These are XML documents encrypted using AES/ECB/PKCS5Padding + SHA256 and null IV with static password
Code:
cd562f61-5399-3978-ac76-7c54b0508010
And they look like this:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<BackUp>
<Common>
<Name>LGBackup_200217_1</Name> <!-- Name of the backup file -->
<Id>Randomly generated UUID</Id> <!-- Id of the backup file -->
<IsNew>True</IsNew> <!-- IsNew is same in new and old header -->
<Version>1.00</Version>
<Attr Name="product_model">LM-X525</Attr>
<Attr Name="os_version">9</Attr>
<!-- And other attributes including google email -->
</Common>
<BackupItem Category="settings_DB" StartOffset="59392" DataSize="136626" />
<BackupItem Category="MEDIA_DB" StartOffset="901169" DataSize="78393344" FileName="external.db" />
<!-- Other backuped items -->
</BackUp>
The "new" header has more information than original header, but same structure.
The attribute "IsNew" signals the presence of the new header. (and is True in both files)
All numbers inside file are in Big-endian.
And this is the structure of the file (decimal position):
Code:
0: Unknown - 0x00 for me
1: Int32 - size of the new header
5: Int64 - offset to the new header (usually 13)
13 ... EOF-33: data
EOF-33: 20 bytes - SHA1 hash of the password (if present, otherwise still data)
EOF-13: Int64 - offset to the (old) header
EOF-5: Int32 - size of the (old) header
EOF-1: Bool - Lock byte - the file is (0x01) or isn't (0x00) protected by password
The password is only checked during import, not used to encrypt data (so to remove password, just set the last byte to 0)
Every "BackupItem" entry has a "Category".
Special case is Category="APPLICATION" with this structure:
Code:
<BackupItem Category="APPLICATION">
<APPLICATION Name="com.lge.ime" StartOffset="19221586" DataSize="2385983" Package="com.lge.ime">
<Attr Name="com.lge.ime">com.lge.ime</Attr>
</APPLICATION>
<APPLICATION Name="org.exmple.app" StartOffset="1429652009" DataSize="3420160" FileName="org.exmple.app.tar" Package="org.exmple.app">
<Attr Name="org.exmple.app">org.exmple.app</Attr>
</APPLICATION>
<!-- ... -->
</BackupItem>
All applications are tar files that contain 2 folders:
app - contains the apk file
data - application's internal data
All other items have:
StartOffset - Offset inside file
DataSize - Self explanatory
FileName - Not all have this, but most do; it is the original name of the backuped file.
The files are not compressed nor encrypted.
Footnote: This is my first post on XDA, so sorry for any mistakes I made (including my english) and feel free to correct me/give me advice.
Click to expand...
Click to collapse
ok I am so lost. And here is the technical part (you don't need to read this, if you just want to extract your data):
that statement would make it appear easy. well the link only takes you to the code, there is no tool and nothing with "new" as header. so ive tried deciphering what to do for hours now and i cant figure npthing out. rooted and flashed my lgv20 and did a backup with lg bridge beforehand. trying to restore and phone connects to computer fine but doesnt regster in lg bridge so that is why i need to extract .lbf file. can someone make this easier?
hello..it ended up successful.but there is no jpeg or mp4 file on DCIM folder..how can i restore them?should i do somthing with the script? i don't know pyton

Categories

Resources