Related
Hi,
I write some code that can modify the ROMs, it can save your time to add and delete files by hand.
RomMaster V2.0 Beta
Usage: RomMaster [options] imagefile
-d[m] <dfile> - delete file
replace file/module together with -a option
'm' delete module, deleting module isn't suggested
-a[c] <afile> - add file into the rom
'c' means use compress(need CECompressv4.dll)
-o <ofile> - output imagefile name
-v <0~9> - print info, 0 detail, 9 only show errors, default is 5
-w <5> - 5 is 2005, default is 2003&SE
-x - only save XIP(OS) data
-s <0x...> - Fix XIP start address(Hex)
-e <0x...> - Fix XIP end address(Hex)
In replace mode, 'c'&'m' is useless
It is now 2.0 Bata Release.
You can delete file/modules you don’t like from the ROM.
RomMaster –d “filename” –o “newROMname” “ROMname”
You can add files into the ROM.
RomMaster –a “newfilename” –o “newROMname” “ROMname”
You can replace file in the ROM
RomMaster –d “filename” –a “newfilename” –o “newROMname” “ROMname”
“newfile”’s size should be the same or small than the file you want to replace, new file will occupy the same space as the old one.
I test some ROM in my SP; include SDA, Dopod 575 & 585. I only tested one 2005 ROM. Replace module may don’t work, I am still working on it.
Before you burn the image generated by the tool, make sure you finish follow step:
1. RomMaster –o “TestROM” “SrcROM”
2. Do binary compare “SrcROM” with “TestROM”
a) If they are 100% same, I think you can safely use this tool.
b) If they are 99% same, you should be careful, make sure you only burn the OS part. Because some ROM are modified by someone before, there are maybe some useless data in the ROM, only burn the OS part won’t damage your SP.
c) Else, the “SrcROM” may contain some unknown structure or data, the “TestROM” may won’t work, don’t try burning it into you SP. If you want to modify it, tell me where I can find the ROM, if I am free, I can give some help.
3. I only tested one 2005 ROM, its structure isn’t very correct, and I think that ROM is extracted form emulation ROM. So if 2005 ROM isn’t 100% same, don’t try and be careful even they are 100% same.
This is great!!!
Going to try it!
ncruz,
I'll wait for your experience, cause if this is working we can all save space by directly burning upgraded cameras etc into the rom. will save me at least 1MB ram or storage.
The tools sounds great gmap.
There already exists MKROM tool - http://www.xs4all.nl/~itsme/projects/xda/romtools.html
it is 100% working with WM2003/2003SE devices. But it is rather inconvenient.
I'll test your "-w 5" option on a real device. Real WM5 device has one XIP kernel section with only few modules and about 1Mb free space. All other data is kept in IMGFS partition, I'm currently working on a tool that would work with it.
And one question. When you add new files to ROM, do you add them to a new XIP or extend the existing XIP? And when you delete modules, do you reuse the freed space after adding new ones?
mamaich said:
There already exists MKROM tool - http://www.xs4all.nl/~itsme/projects/xda/romtools.html
it is 100% working with WM2003/2003SE devices. But it is rather inconvenient.
I'll test your "-w 5" option on a real device. Real WM5 device has one XIP kernel section with only few modules and about 1Mb free space. All other data is kept in IMGFS partition, I'm currently working on a tool that would work with it.
And one question. When you add new files to ROM, do you add them to a new XIP or extend the existing XIP? And when you delete modules, do you reuse the freed space after adding new ones?
Click to expand...
Click to collapse
That's great if we can modify IMGFS partition I am waiting for it.
I know that tool and i don't know how it works. I made this tool only for interesting.
You can find XIP chain in 2003 ROM, by XIP chain, you can know the address and length of each XIP section. I will scan the hole XIP region before inserting the new file to reduce memory fragment. When a module is deleted, its space will be freed and reused when adding files. I freed about 6M space in my own ROM by deleteing the useless files, and add about 5M files into it, it works OK.
It seems 2005 don't have XIP chain information in the ROM, i only test one 2005 ROM, and i didn't find the XIP chain info. If your 2005 ROM don't have XIP chain info too, you should modify ROMHDR.physlast to a correct value by hand. Because if i can't find the XIP chian info, I use ROMHDR.physlast to decide the end address of XIP. Or, there are almost no space for you to add new file. My 2005 ROM physlast=0x8c253278, and only about 78732 bytes free before 0x8c253278.
I update the the tool V2.2 , fixed a bug when deeling with MDA(818) ROM.
gmap said:
That's great if we can modify IMGFS partition I am waiting for it.
Click to expand...
Click to collapse
I've PMed you a test version. I'll make it available to public later.
... If your 2005 ROM don't have XIP chain info too, you should modify ROMHDR.physlast to a correct value by hand.
Click to expand...
Click to collapse
My ROM has all needed info, I had to extract everything from rom image after 1C0000 address to a separate file and gave it to your tool. It is working perfectly. I've managed to delete and add a new file to ROM. I have not tested "-dm" option. It seems that all modules/files in XIP section of WM5 are uncompressed. I'm using BlueAngel's WM5 ROM. Later I'll try to replace boot.hv file with my own version.
Can you add a switch to your program "-s bytes" so that it woud skip the given number of bytes from file start, so it would be possible to work directly on NBA files with header?
gmap, can you tell me what file i can use this with? Is it for nbk or nba files? Thanks
I'm not able to edit the xip sextion ...
i've tried your tool on 1.60c.07CHS rom for xdaII :
RomMaster.exe -w 5 -x -o test.bin nk.nba
result :
[Info] It is a common ROM.
[Error] File is damaged, end address small than start address.
[Error] File is damaged, end address small than start address.
RomMaster.exe -w 5 -x -o test.bin imgfs_raw_data.bin (created with mamaich's tool)
result :
[Info] It is a common ROM.
[Error] Load nb00 failed.
RomMaster.exe -w 5 -x -o test.bin img.bin (created by nba part 1C0000 to end)
result :
[Info] It is a common ROM.
[Error] File is damaged, end address small than start address.
[Error] File is damaged, end address small than start address.
How to save the XIP section ?
TofClock said:
RomMaster.exe -w 5 -x -o test.bin imgfs_raw_data.bin (created with mamaich's tool)
Click to expand...
Click to collapse
This would not work. My tool works with IMGFS and you need to edit XIP
and ... how to edit XIP ?
mamaich said:
My ROM has all needed info, I had to extract everything from rom image after 1C0000 address to a separate file and gave it to your tool. It is working perfectly. I've managed to delete and add a new file to ROM. I have not tested "-dm" option. It seems that all modules/files in XIP section of WM5 are uncompressed. I'm using BlueAngel's WM5 ROM. Later I'll try to replace boot.hv file with my own version.
Can you add a switch to your program "-s bytes" so that it woud skip the given number of bytes from file start, so it would be possible to work directly on NBA files with header?
Click to expand...
Click to collapse
mamaich, or anyone else, what did you use to extract after 1C0000?
splitrom?
any help would be greatly appreciated.
Russ
Wow , just an hex-editor like winhex or edithexa
i tried that w/xvi32, and it didn't seem to work. I guess I'll try again
Thx gmap for this great tool. 8)
Recently I want to replace the TureFFS.dll at the XIP area of Wizard OS ROM.
ftp://xda:[email protected]/Uploads/HTC_Wizard/Roms/Qtek/Qtek_9100_1_6_7_ENG__OS_ONLY.zip
I type the following command and it says that it cannot replace the file.
Code:
D:\>RomMaster.exe -d TrueFFS.dll -a TrueFFS.dll -w 5 -o new.nba os.nba
[Info] It is a common ROM.
[Warning] o32_rom(0x8c268ef8)'s o32_data at 0x00000000 is zero.
[Warning] Found dif-referenced region [OLD] Address=0x8c1e1290 Length=0x00000800 ObjectType=0x00200000
[Warning] Found dif-referenced region [New] Address=0x8c1e1290 Length=0x00000800 ObjectType=0x00008000
[Warning] Found dif-referenced region [OLD] Address=0x8c1fe538 Length=0x00000600 ObjectType=0x00200000
[Warning] Found dif-referenced region [New] Address=0x8c1fe538 Length=0x00000600 ObjectType=0x00008000
[Warning] Found dif-referenced region [OLD] Address=0x8c211018 Length=0x00000a00 ObjectType=0x00200000
[Warning] Found dif-referenced region [New] Address=0x8c211018 Length=0x00000a00 ObjectType=0x00008000
[Warning] Memory Block(0x8c101000,0x8c1510ac) overlap with Block(0x8c10288c,0x8c1028b8).
[Error] You want to get an object whose size is 108, but it is 112. RomOffset=0x8c268e00
[Error] Could not replace 'TrueFFS.dll' with 'TrueFFS.dll'.
However, I can successfully replace the boot.hv file. Do you know why?
ahlok_hk said:
Thx gmap for this great tool. 8)
Recently I want to replace the TureFFS.dll at the XIP area of Wizard OS ROM.
ftp://xda:[email protected]/Uploads/HTC_Wizard/Roms/Qtek/Qtek_9100_1_6_7_ENG__OS_ONLY.zip
I type the following command and it says that it cannot replace the file.
Code:
D:\>RomMaster.exe -d TrueFFS.dll -a TrueFFS.dll -w 5 -o new.nba os.nba
[Info] It is a common ROM.
[Warning] o32_rom(0x8c268ef8)'s o32_data at 0x00000000 is zero.
[Warning] Found dif-referenced region [OLD] Address=0x8c1e1290 Length=0x00000800 ObjectType=0x00200000
[Warning] Found dif-referenced region [New] Address=0x8c1e1290 Length=0x00000800 ObjectType=0x00008000
[Warning] Found dif-referenced region [OLD] Address=0x8c1fe538 Length=0x00000600 ObjectType=0x00200000
[Warning] Found dif-referenced region [New] Address=0x8c1fe538 Length=0x00000600 ObjectType=0x00008000
[Warning] Found dif-referenced region [OLD] Address=0x8c211018 Length=0x00000a00 ObjectType=0x00200000
[Warning] Found dif-referenced region [New] Address=0x8c211018 Length=0x00000a00 ObjectType=0x00008000
[Warning] Memory Block(0x8c101000,0x8c1510ac) overlap with Block(0x8c10288c,0x8c1028b8).
[Error] You want to get an object whose size is 108, but it is 112. RomOffset=0x8c268e00
[Error] Could not replace 'TrueFFS.dll' with 'TrueFFS.dll'.
However, I can successfully replace the boot.hv file. Do you know why?
Click to expand...
Click to collapse
In replace mode, new file should not biger than old file. So, you should delete old 'TrueFFS.dll' first, then add the new one(You can delete some file next to 'TrueFFS.dll' to get free space or move it to a big free space, then modify the file size and related infomation of 'TrueFFS.dll' by hand to make it bigger). Replacing module isn't stable, I confused by some of the module data. If you want to replace a module, it may not work. I haven't find a way that can be used to calculate all of the data.
gmap said:
In replace mode, new file should not biger than old file. So, you should delete old 'TrueFFS.dll' first, then add the new one(You can delete some file next to 'TrueFFS.dll' to get free space or move it to a big free space, then modify the file size and related infomation of 'TrueFFS.dll' by hand to make it bigger). Replacing module isn't stable, I confused by some of the module data. If you want to replace a module, it may not work. I haven't find a way that can be used to calculate all of the data.
Click to expand...
Click to collapse
Thx for your explanation. Actually the new file is smaller than the one being replaced. And I just found that I can only delete those non-module files while all modules could not be deleted.
Thx again. Hope to see new version if you have time to find out how to calculate the data. :wink:
How can i extract a kernel file (kbbdrv.dll)?
thanks
dherrero said:
How can i extract a kernel file (kbbdrv.dll)?
thanks
Click to expand...
Click to collapse
dumprom tool
But if you'll extract this or any other XIP DLL and then readd it to the same, or any other ROM it would not work.
Hello,
I have a Apache Rom,
I would like to delete nk.exe are replace it.
iv tryed:
rommaster -w 5 -d nk.exe nk.nba
also
rommaster -w 5 -d nk.exe -a nk.exe nk.nba
keeps telling me i can delete that file.
just to let you know: if i use dumprom i get the boot partition files (containing nk.exe) and if i use imgfs i get all the os files (not containing nk.exe)
Any help would be great thanks
you cannot delete nk.exe, and you should not even need to do that.
Hello.
History:
My Qtek9090 running WM5 has good CPU, fast graphics and very, very slow filesystem. I'm looking for something, may be for fatfsd.dll extracted from another PDA. And I cann't find it
There exists very handy utility WM5 Files Dumper [thanks buzz_lightyear ]
I think it is a good idea to upload dumps of all files from our PDA's. It would be a good source of information and source of code bricks to cook patches and updates.
Such a dump should contains all files and modules [extracted both from bootloader and OS] and full dump of registry. It should be as clean as possible - just after hard reset, before entering PIN, before adding any contacts and any patches.
Tommorow I will try to upload WM_5_03_02_WWE_built_1337_42_BlueAngel_by_mamaich.zip.
And again - thanks to our master hackers
I'm looking for something, may be for fatfsd.dll extracted from another PDA. And I cann't find it
Click to expand...
Click to collapse
And even if you'll find it - it would not work on your device. It is always XIP.
And it would not speedup your device - it has a slow ROM.
mamaich said:
/me said:
]I'm looking for something, may be for fatfsd.dll extracted from another PDA. And I cann't find it
Click to expand...
Click to collapse
And even if you'll find it - it would not work on your device. It is always XIP.
Click to expand...
Click to collapse
Probably you are right I'm a lame, but I afraid, that it is true.
But: as I understand: XIP means "eXecute In Place". Dll's as modules are executed from slow ROM [and there is no shadow RAM] [and there is no way to cache them]. Dll's as files are loaded into RAM, and then executed. Correct me, if its not true.
We have plenty of RAM, so [probably] it is possible to load a lot of dll's into RAM instead executing them from [slow] ROM.
Dlls created with "WM5 Files Dumper" - looks good. I would have to analyze them several times, I would have to ask master hackers is it true, but I would try to load them into RAM.
mamaich said:
/me said:
I'm looking for something, may be for fatfsd.dll extracted from another PDA. And I cann't find it
Click to expand...
Click to collapse
And it would not speedup your device - it has a slow ROM.
Click to expand...
Click to collapse
Yes, of course.
But SPB benchmark told me:
Reading files from \somewhere is 4 times slower then WM2003. It is a good value.
Write files into \somewhere is 6 times slower then WM2003. It is also a good value.
But:
Copy files [OS level] is two times faster than read them and write back. It is not good value.
Retrieve filenames from huge directory is 10-12 times slower, than WM2003. It is also not a good value [it should be comparable to reading files, ie. 4 time slower]
There are two ways:
1. there is something wrong within fatfsd.dll,
2. overhead of executing fatfsd in place is not acceptable,
3. my benchmarks are wrong [I have not enough time to benchmark filesystem without cache
/me said:
Tommorow I will try to upload WM_5_03_02_WWE_built_1337_42_BlueAngel_by_mamaich.zip.
Click to expand...
Click to collapse
It is here: ftp://xda:[email protected]_WWE_built_1337_42_BlueAngel_by_mamaich.zip
If you think it is a good idea to share WM5 code bricks, upload your your clean dump into
ftp://xda:[email protected]/Uploads/RomFiles_dumps
UserName and Password is here: http://wiki.xda-developers.com/index.php?pagename=BA_FTP_Site search for "xdaupload".
baniaczek said:
But: as I understand: XIP means "eXecute In Place". Dll's as modules are executed from slow ROM [and there is no shadow RAM] [and there is no way to cache them]. Dll's as files are loaded into RAM, and then executed. Correct me, if its not true.
Click to expand...
Click to collapse
There are 3 types of DLLs used on WM5. First type - normal files, they are loaded into RAM, fixups are processed, etc. They are slow to load (due to fixup processing), but would execute from RAM. Second type - XIP, which are executed directly from ROM and would work slowly. In BA this set of files is executed directly from ROM:
Code:
device.exe
filesys.exe
nk.exe
busenum.dll
cecompr.dll
ceddk.dll
certmod.dll
coredll.dll
crypt32.dll
devmgr.dll
diskcache.dll
fatfsd.dll
fatutil.dll
fsdmgr.dll
fsreplxfilt.dll
hd.dll
imgfs.dll
msflash.dll
mspart.dll
osaxst0.dll
pm.dll
regenum.dll
relfsd.dll
It is much less than was in WM2003.
And WM5 added a new filesystem - IMGFS. It contains compressed modules split to sections, but they are fixed to specific addresses in RAM, they are decompressed to these constant areas and executed from RAM. They are similar to XIP as they also don't contain relocations, but would work fast. I don;t know the correct termin for this type of files.
To replace files in XIP section you'll need this tool - http://forum.xda-developers.com/viewtopic.php?t=33321
if you overwrite any of files I've wrote here by a CAB file or other method without modifying ROM - their old versions would be used instead because they are loaded much earlier than all filesystem drivers.
Thanks mamaich
Registry Question
thanks for the files baniaczek!
does anyone know which file or how the other OS registry entries (the ones not in the boot.hv) get created? There are so many more in a full registry.
thanks!
P.S. thanks mamaich for the great tools!
Re: Registry Question
OS imports *.RGU files on hard reset, and it also reads mxip_*_*.provxml files that also can setup registry items. On Universal and similar devices registry can be set by CAB files in extended ROM.
If you add a new RGU file to OS image it would not be processed. Maybe they should have DSM file with the same name, or be mentioned in [HKEY_LOCAL_MACHINE\System\ObjectStore\RegistryUpdate] key or in packages.sof. I don't know. I always add keys to default.hv/user.hv or edit existing RGU files.
Hi!
There a lot of kitchens avaialable for ROM building. Now this one is to ease TouchFlo3D building.
This kitchen uses the knowledge and works of 6Fg8, D-MAN666, xboxmod, chainfire and many others who are involved in Manila hacking.
If you use this kitchen and/or any of the decompiled scripts then be so kind and share back the source code of your modified scripts too!
This kitchen (v1.5) has the following utilities included:
6Fg8's mode 9 editor (v3.3.0.1)
sztupy's mode9 converter (v1.0)
chainfire's CFC compressor (v0.46)
MKT: a tool for batch converting/compressing/compiling mode9,qtc,png,xml,lua files (v1.1)
LuaDec (2.0)
A work in progress lua and xml IDE
And various other tools
In the center of this kitchen stands MKT aka manila_kitchen_tool, which is like 'make' but for manila kitchen developement.
It has the following functionality:
split hased _manila files back to their original filenames
join a bunch of files in a directory back to their hashed form
mass decompile mode9 files back to xml and save their lua scripts
mass convert qtc files to/from png files
mass compile lua files
It works like 'make' in sense that only the modified files will be recompiled/recompressed so after the firts setup it might be ideal for manila development.
The output of the kitchen was tested with the Rhodium manila (WVGA version) on a HTC raphael device and it works, so this project is no longer a prototype, but is still considered beta stuff
Kitchen set up
I uploaded a complete Rhodium2 Manila kitchen in case you want to use that as a base (download both the kitchen and the rhodium files, then copy them to the same directory), but of course you can use any other manila pakcage you get across. To set up the kitchen copy the package into the 'pkg' directory then run:
Code:
mkt split
to split the hashed files back into their filenames. (For this conversion it uses the same table as m9editor uses.)
You will get a "bin" directory. This will hold all "compiled" stuff, so here you will find all the files that don't need more preprocessing, and can be hashed/installed to the device
Next you want to get some editable files out from the luac, mode9 and qtc files, so use:
Code:
mkt -x bin frommode9
To decompile mode9 files back to XML (it will also extract the scripts out of the package)
Next:
Code:
mkt -c d,qp fromqtc
or
mkt fromqtc
Will convert all qtc files to png files. (the first type will work on cfc compressed qtc files, the second will work on non cfc compressed files)
After this only the scripts are remaining. Unfortunately these can't be decompiled easily, so grap the decompilation of someone (like me ), and put these files into the "insrc" directory. After this run
Code:
mkt -d insrc -o src split
so all the hashed _manila files will be converted back to their original filenames to ease searching through them.
After this you're ready with your prepared kitchen. These things were already done with the Rhodium manila so you might use that package to start manila modding.
Compiling
You can use tomode9, compile and toqtc commands to compile these files back to their binary counterpart. Alternatively you can use:
Code:
mkt -c pq,c,p make
to run this three command after each other. It's like a Makefile, so it will only compile things that have changed. Of course you might want to 'make all':
Code:
mkt -a -c pq,c,p make
This will build all files from the "src" directory into the "bin" directory
Creating the package
After you're done you can use
Code:
mkt -o outdir join
to hash all files from the bin directory back to hashed form, and put it into the 'outdir' directory. Next add the binaries and you're ready to flash
Alternatively I included createpkg that will create a cab package from the OEM apckage found in the 'pkg' directory
Download and other stuff: http://winmo.sztupy.hu/manilakitchen.html
Sounds great! Downloading now. Thanks sztupy!
Yeah, good job sztupy, this will be a great addition.
nice...gotta buy a bigger house...so many kitchens
pcarvalho said:
nice...gotta buy a bigger house...so many kitchens :d
Click to expand...
Click to collapse
roflcopter
pcarvalho said:
nice...gotta buy a bigger house...so many kitchens
Click to expand...
Click to collapse
what you need is a microwave
sztupy said:
Missing functionality / bugs:
Embedded decompiled scripts can't be re-embedded into mode9 files automatically (this would need a command line mode9 editor
Click to expand...
Click to collapse
I can help you out with that. Not that it's already done but copying the relevant parts from m9editor together isnt the big deal.
6Fg8 said:
I can help you out with that. Not that it's already done but copying the relevant parts from m9editor together isnt the big deal.
Click to expand...
Click to collapse
I hoped so
unfortunately it's hard to tell a command line tool where to inject the scripts... An XML export/import function would be cool (export it to XML, without the binary scripts, then add the decomp'd scripts, and the importer would do its job esolving everything), but I know that won't be possible until you resolve the mode9 files completely...
sztupy said:
I hoped so
unfortunately it's hard to tell a command line tool where to inject the scripts... An XML export/import function would be cool (export it to XML, without the binary scripts, then add the decomp'd scripts, and the importer would do its job esolving everything), but I know that won't be possible until you resolve the mode9 files completely...
Click to expand...
Click to collapse
hm, didnt do much with xml, but i think i can figure that out. mode9 is almost done, there's only one bytegrave at the end of a mode9 file still unknown to me.
6Fg8 said:
hm, didnt do much with xml, but i think i can figure that out. mode9 is almost done, there's only one bytegrave at the end of a mode9 file still unknown to me.
Click to expand...
Click to collapse
your visualization of the m9 files look like xml, that's why I thought about that (but yaml could be a good serializator too). But this is just an idea, if you can tel me an easy way to tell a command line script where to inject a script that would be fine
And a command line CFC compressor is also needed
sztupy said:
your visualization of the m9 files look like xml, that's why I thought about that (but yaml could be a good serializator too). But this is just an idea, if you can tel me an easy way to tell a command line script where to inject a script that would be fine
And a command line CFC compressor is also needed
Click to expand...
Click to collapse
mode9 is basically binary XML, so i had no choice
The easiest way (at least for me) is byte positions just kidding ...
I'm on vacation next week, maybe i'll get struck by an ocean of light while skiing on one of the wonderful austrian mountains
CFC compressor .... I've that lying around somewhere here, shouldnt be a problem to adapt it.
an ambitious project... thank you
nice work great addition
Scripts update addon with the newest decompiled stuff.
Kitchen is now tested and considered BETA. Also added a great new tool: MKT to the kitchen. Read first post.
sztupy said:
Kitchen is now tested and considered BETA. Also added a great new tool: MKT to the kitchen. Read first post.
Click to expand...
Click to collapse
Just downloaded kitchen and getting ready to start playing. Just wondering, will this make a installable cab file for rhodium manila for touch pro? Of course with vga adapted files. I've noticed that previous attempts of making a cab for it have failed, but oem packages work when cooked in. I'm making a theme, which shouldn't require a full install, but would be nice to know.
showaco said:
Just downloaded kitchen and getting ready to start playing. Just wondering, will this make a installable cab file for rhodium manila for touch pro? Of course with vga adapted files. I've noticed that previous attempts of making a cab for it have failed, but oem packages work when cooked in. I'm making a theme, which shouldn't require a full install, but would be nice to know.
Click to expand...
Click to collapse
I tried to install it as a cab on NATF's ROM I'm using, and it worked flawlessly. It might break on a stock ROM though. The whole convert to cab thingy is alpha currently, but hopefully it will be solved.
sztupy, So how do you go about fixing the main function? I have the LUA file I've been working on done except for the main function and all the Q16.16 instances. But looking at the src.lua file, it appears chunks of the main are scattered throughout the file. Literally, I have code parts at the beginning of the file, in the middle and at the end of the file.
That's how the luadec output that you ran for me (because luadecguess was inaccurate) outputted the decompile.
So I'm stuck because I'm not sure how to proceed with fixing it. What do you do, just leave it where it's at and search for what it's referring to and fix it where you find it? Or do you cut/paste (move) it at the top of the src code in the order it's supposed to be in?
EDIT: never mind, left the code where it was and just searched out and fixed what it referenced. Other then the Q16.16 lines, everything is good.
Hi sztupy. Excellent work. Im poor and unemployed so although Id like to, I cant donate any cash at the moment. I like this project enough to offer body parts though, if any of yours fail
EDIT - bug report removed. was related to luaconv.exe. moving to another thread.
smotrs said:
sztupy, So how do you go about fixing the main function? I have the LUA file I've been working on done except for the main function and all the Q16.16 instances. But looking at the src.lua file, it appears chunks of the main are scattered throughout the file. Literally, I have code parts at the beginning of the file, in the middle and at the end of the file.
That's how the luadec output that you ran for me (because luadecguess was inaccurate) outputted the decompile.
So I'm stuck because I'm not sure how to proceed with fixing it. What do you do, just leave it where it's at and search for what it's referring to and fix it where you find it? Or do you cut/paste (move) it at the top of the src code in the order it's supposed to be in?
Click to expand...
Click to collapse
You can consider every function in the file as a value. It's just like a number or a string in this case, because in the main body you assign functions to some variables. So if you find something:
Code:
SomeStuff = function(foo)
lots of stuff
lots of stuff
lots of stuff
end
SomeOtherStuff = function(bar)
lots of stuff
lots of stuff
lots of stuff
end
Then in the main body this will translate to:
Code:
SomeStuff = funtion1
SomeOtherStuff = function2
And in the disassemlby to something like this:
Code:
R0 := Function(f1)
SomeStuff := R0
R0 := Function(f2)
SomeOtherStuff := R0
And of course the definitions of these functions will be put after the main body (just as with any other inlined function, the only exception is that compare/luadec and the other tools I made will handle these functions separately to ease decompiling). So if you have to fix the main body you have to only look at the part of the script which is not in a function...end body
hello to all will u please anyone can help me to how we cook with extendir...i stuck with this step :
"Modify the order of all other file system filter drivers in your boot.rgu. Personally I change order 0 to 10, 1 to 11, 2 to 12, etc.
Modify your boot_ms.rgu (also in XIP) if you cooked encfilt.dll/mencfilt.dll in your rom.
Rebuild your boot.hv and port the boot.rgu, boot_ms.rgu and boot.hv in to your XIP. "
wil u please anyone can explain about the order of boot.rgu
thanks to all
shafizal said:
hello to all will u please anyone can help me to how we cook with extendir...i stuck with this step :
"Modify the order of all other file system filter drivers in your boot.rgu. Personally I change order 0 to 10, 1 to 11, 2 to 12, etc.
Modify your boot_ms.rgu (also in XIP) if you cooked encfilt.dll/mencfilt.dll in your rom.
Rebuild your boot.hv and port the boot.rgu, boot_ms.rgu and boot.hv in to your XIP. "
wil u please anyone can explain about the order of boot.rgu
thanks to all
Click to expand...
Click to collapse
When you look at the boot.RGU files you'll find some keys in the "HKEY_LOCAL_MACHINE\System\StorageManager\filters\" and "HKEY_LOCAL_MACHINE\System\StorageManager\FATFS\filters\" sections.
Those keys have a value inside whose name is "Order", you have to find all of those keys and if there is any that has the order 0 (usually they all start from 1) you have to move all the values up by 1. (0 becomes 1, 1 becomes 2, etc.), then you can add the ExtenDir entries:
[HKEY_LOCAL_MACHINE\System\StorageManager\filters\Extendir]
"Order"=dword:0
[HKEY_LOCAL_MACHINE\System\StorageManager\FATFS\filters\Extendir]
"Dll"="Extendir.dll"
"Order"=dword:0
If you have problems understanding this upload the RGU file and I'll do the changes for you.
airxtreme said:
When you look at the boot.RGU files you'll find some keys in the "HKEY_LOCAL_MACHINE\System\StorageManager\filters\" and "HKEY_LOCAL_MACHINE\System\StorageManager\FATFS\filters\" sections.
Those keys have a value inside whose name is "Order", you have to find all of those keys and if there is any that has the order 0 (usually they all start from 1) you have to move all the values up by 1. (0 becomes 1, 1 becomes 2, etc.), then you can add the ExtenDir entries:
[HKEY_LOCAL_MACHINE\System\StorageManager\filters\Extendir]
"Order"=dword:0
[HKEY_LOCAL_MACHINE\System\StorageManager\FATFS\filters\Extendir]
"Dll"="Extendir.dll"
"Order"=dword:0
If you have problems understanding this upload the RGU file and I'll do the changes for you.
Click to expand...
Click to collapse
thank u very much bro here is my boor.rgu
http://www.sendspace.com/file/5u38dj
shafizal said:
thank u very much bro here is my boor.rgu
http://www.sendspace.com/file/5u38dj
Click to expand...
Click to collapse
I looked and all the orders seem to be fine, you just have to add the two entries at the end
Code:
[HKEY_LOCAL_MACHINE\System\StorageManager\filters\Extendir]
"Order"=dword:0
[HKEY_LOCAL_MACHINE\System\StorageManager\FATFS\filters\Extendir]
"Dll"="Extendir.dll"
"Order"=dword:0
If that doesn't work try the boot.rgu I attached where I added those two entries and also moved all the others entries' order up by 1.
airxtreme said:
I looked and all the orders seem to be fine, you just have to add the two entries at the end
Code:
[HKEY_LOCAL_MACHINE\System\StorageManager\filters\Extendir]
"Order"=dword:0
[HKEY_LOCAL_MACHINE\System\StorageManager\FATFS\filters\Extendir]
"Dll"="Extendir.dll"
"Order"=dword:0
If that doesn't work try the boot.rgu I attached where I added those two entries and also moved all the others entries' order up by 1.
Click to expand...
Click to collapse
thank u very much bro will try this and i will post
How about
airxtreme said:
I looked and all the orders seem to be fine, you just have to add the two entries at the end
Code:
[HKEY_LOCAL_MACHINE\System\StorageManager\filters\Extendir]
"Order"=dword:0
[HKEY_LOCAL_MACHINE\System\StorageManager\FATFS\filters\Extendir]
"Dll"="Extendir.dll"
"Order"=dword:0
If that doesn't work try the boot.rgu I attached where I added those two entries and also moved all the others entries' order up by 1.
Click to expand...
Click to collapse
That is the easier part. How do you add the file extendir.dll to xip?? Thats the problem I am facing and for which there seems to be no answer.
Premananda_laishram said:
That is the easier part. How do you add the file extendir.dll to xip?? Thats the problem I am facing and for which there seems to be no answer.
Click to expand...
Click to collapse
If you're using platformrebuilder or a platformrebuilder-based kitchen it's just a copy&paste of the module inside the OEMXIPKernel folder. I have no idea about others but if they use XIPPort is going to be a mess.
request
airxtreme said:
If you're using platformrebuilder or a platformrebuilder-based kitchen it's just a copy&paste of the module inside the OEMXIPKernel folder. I have no idea about others but if they use XIPPort is going to be a mess.
Click to expand...
Click to collapse
Would you be kind enough to post or pm me an xip with extendir 1.6 already added in msxipkernel. I will just port it to my kitchen from then on.
Premananda_laishram said:
Would you be kind enough to post or pm me an xip with extendir 1.6 already added in msxipkernel. I will just port it to my kitchen from then on.
Click to expand...
Click to collapse
Sure but you have to tell me which cache size you want first.
2 or 4
airxtreme said:
Sure but you have to tell me which cache size you want first.
Click to expand...
Click to collapse
2mb or 4 mb cache 1.06 version. Please cook it with extendir in msxipkernel, because my kitchen does not have the provision to port oemxipkernel.
I forgot to mention, I will be cooking for wm6.1.
Premananda_laishram said:
2mb or 4 mb cache 1.06 version. Please cook it with extendir in msxipkernel, because my kitchen does not have the provision to port oemxipkernel
Click to expand...
Click to collapse
I attached the xip to this post
wm6.1
Can I use this to cook for wm6.1 rom? I edited my post a few minutes back.
And one final request. Could you please upload your whole kitchen(pre-port) to some sites so that I can use it to build xip for future extendir release. Bugging you every now and then would be very annoying to you.
Premananda_laishram said:
Can I use this to cook for wm6.1 rom? I edited my post a few minutes back.
And one final request. Could you please upload your whole kitchen(pre-port) to some sites so that I can use it to build xip for future extendir release. Bugging you every now and then would be very annoying to you.
Click to expand...
Click to collapse
I have no idea if it could work on WM6.1 but I supposed yes.
I used a clean oskitchen install, imported the latest leo rom, added the file to the MSXIPKernel folder and enabled the setting to halt after platformrebuilder runs to get the xip.bin from its folder. No need to upload the whole package just for that because you can take any wm6.1 rom for HTC phones (the first 6.1 rhodium ROMs are fine) and import it.
I cannot use it
I cannot use it. It says the dsm file is missing
Premananda_laishram said:
I cannot use it. It says the dsm file is missing
Click to expand...
Click to collapse
Platformrebuilder strips the DSM informations from the files to make the ROM faster so I can't do much about that. All I can tell you is that you can use xipport to dump another xip, then click build packages, add extenddir.dll+txt from my XIP dumped with xipport in the files\MSXIPKernel folder, click undo, click realloc P, click write maps and rebuild the xip.bin to have one with extenddir that your kitchen will probably accept.
mine
Here is the xip from my kitchen. Will it be possible to use it in your kitchen and then add the extendir dll. That way I can use it directly in my kitchen
Premananda_laishram said:
Here is the xip from my kitchen. Will it be possible to use it in your kitchen and then add the extendir dll. That way I can use it directly in my kitchen
Click to expand...
Click to collapse
I've attached the xip with extenddir in msxipkernel to this post.
BTW No it can't be used without having the full ROM; I had to do the work by hand editing the DSM and removing the debug libraries.
If you can upload an original ROM for your phone plus the kitchen you are using I can look if I can add support to oskitchen: since it's a 6.1 phone it should probably work fine.
you can put it anywhere in the xip, just remember that the module wont work in xip you have to use the .dll file.
Here it is
Here is my kitchen and folders
rom, sys and oem from this
http://asusmobile.ru/files/ROMs_P525/not_official/Alexx~/ASUS.P525.WM6.1.20273.1.3.3.WWE.exe
Kitchen attachment
There are quite enough applications out there that sort packages, but
I wrote this simple console application and even though it's not as good as the other package sorters I'm here to share it with anyone interested...
I have written it having in mind the outcome of bepe's xidump:
Code:
dump
|_IMGFS
| |___OEM
| |___RESERVED
| |___SYS
| |___.ROM (file)
| |___.VM (file)
|
|_XIP
|_LangDB
|_MSXIPKernel
|_MSXIPKernelLTK
|_OEMXIPKernel
|_WinCENLS_%locale%
so I always run it after xidump in order to get the most out of it...And so should you
Usage :
Code:
OSPS.exe /t:<Target (OEM) Folder> [COLOR="blue"]/n[/COLOR] [COLOR="red"]/r[/COLOR] [COLOR="green"]/d[/COLOR] [COLOR="Magenta"]/s[/COLOR] [COLOR="Sienna"]/k[/COLOR]
/n <Optional switch to sort packages into EXT>
/r <Optional switch to sort registry files>
/d <optional switch to delete empty packages>
/s <Optional Switch to sort SYS,XIP packages>
/k <Optional Switch to keep all original comments>
If /r is given the application will rewrite each registry file removing duplicate values and making it more readable.
If /r is omitted no registry files will be touched.
If /n is given the application will:
a) Convert every OEM package which name starts with "PACKAGE_*" to EXT Package named after the package's MASD.
b) Move the corresponding localization files ("PACKAGE_...wait for it..._%locale%") to the EXT Package's %locale% subdir.
c) Read initflashfiles.dat and if there are any entries about any EXT Package it will split initflashfiles.dat, rewrite it and create an app.dat for each of those EXT Packages, converting the hexstrings to readable strings.
If /n is omitted the application will:
a) Copy every OEM package which name starts with "PACKAGE_*" to a new folder - Pkgs\Common - and it will rename them after each package's MASD.
b) Move each corresponding localization Package ("PACKAGE_...wait for it..._%locale%") to a new folder - Pkgs\Locale - and it will rename them after each package's MASD and (%locale%).
c) Read initflashfiles.dat and if there are any entries about any Package it will split initflashfiles.dat, rewrite it and create an initflashfiles.txt for each of those Packages, converting the hexstrings to readable strings.
The application will sort all *manila files found according to language.
If /s is given the application will:
a) Sort OEM into 3 subfolders : (i) %locale%, (ii) COMMON, (iii) dpi_%dpi%
b) Sort SYS to VK style.
c) Sort XIP like this:
Code:
XIP
|_%Build_Number%
|_LangDB
|_MSXIPKernel
|_MSXIPKernelLTK
|_%Device_Name%
|_OEMXIPKernel
|_WinCENLS_%locale%
If /s is omitted the application will not make any further changes to the dump.
If /d is given the application will remove any empty Packages (like X1,X2,L1,etc),
If /d is omitted no packages will be deleted.
If /k is given the application will keep all the original comments in initflashfiles.dat and app.dat/initflashfiles.txt.
If /k is omitted the application will just keep some basic comments.
Change Log:
07/July/10 - v1.0.0.0
Initial Release
10/July/10 - v1.0.0.1
Added /s and /k switches
11/July/10 - v1.1.0.0
Added conversion of hexstrings to readable strings for ALL LCIDs
20/July/10 - v1.2.0.0
Bug-Fix: Some files from the locale packages weren't moved as they should
Changed how /k switch works(read more...)
20/July/10 - v1.2.1.0
Increased stability
22/Sep/10 - v1.2.2.0
Bug-Fix: Some PACKAGE_2DManila* folders were left inside OEM
17/Nov/10 - v1.3.0.0
Bug-Fix: Registry sorting wasn't working 100%
22/Nov/10 - v1.4.0.0
Bug-Fix: Manila lcid sorting
To Do:
Any suggestions are welcomed!
Any bug reports are appreciated!
Regards!
kokotas said:
4. Sort SYS to VK style.
5. Sort XIP like this:
Code:
XIP
|_%Build_Number%
|_LangDB
|_MSXIPKernel
|_MSXIPKernelLTK
|_%Device_Name%
|_OEMXIPKernel
|_WinCENLS_%locale%
Click to expand...
Click to collapse
Can I skip these steps?
And something please consider:
- when using /n, don't sort OEM (%locale% - COMMON - dpi_xxx), or an option to skip OEM sorting
- initflashfiles.dat, app.dat hexstring convert
- don't edit app.dat header for easier edit and view
- can i have an option to keep all comment lines in initflashfiles.dat and app.dat?
It's very good app, thank you so much.
Epson said:
Can I skip these steps?
4...
5...
And something please consider:
- when using /n, don't sort OEM (%locale% - COMMON - dpi_xxx), or an option to skip OEM sorting
Click to expand...
Click to collapse
I could add a switch for all of the above. Let me check it...
Epson said:
- initflashfiles.dat, app.dat hexstring convert
Click to expand...
Click to collapse
Well till now I can get only English hexstring converted correctly, but I'm looking for a way to do it for other languages... but with no success so far
Epson said:
- don't edit app.dat header for easier edit and view
Click to expand...
Click to collapse
What exactly do you mean? Give me an example if it's not difficult.
Epson said:
- can i have an option to keep all comment lines in initflashfiles.dat and app.dat?
Click to expand...
Click to collapse
Well I don't like those useless comments, so no for this one.
Epson said:
It's very good app, thank you so much.
Click to expand...
Click to collapse
Thank you for trying it and leaving your comments!
Regards!
kokotas said:
I could add a switch for all of the above. Let me check it...
Well till now I can get only English hexstring converted correctly, but I'm looking for a way to do it for other languages... but with no success so far
What exactly do you mean? Give me an example if it's not difficult.
Well I don't like those useless comments, so no for this one.
Thank you for trying it and leaving your comments!
Regards!
Click to expand...
Click to collapse
I like those suggestion too because I don't use VK kitchen
I think he means the "FF FE" header of app.dat (you removed it), some text viewer can't display correct and think it's an binary file.
About the hexstring convert, maybe you should work with airxtreme as he did it very well here: http://forum.xda-developers.com/showthread.php?t=692314
Oh, and thank you for your app. It's great.
Ok guys!
I uploaded a version which doesn't remove the header "FF FE" from each app.dat,
and has 2 new switches to control whether to:
(i) sort SYS,XIP and OEM according to VK style and
(ii) remove comments from initflashfiles.dat and app.dat
Only thing left is to find a way to convert ALL hexstrings, regardless LCID...
Regards!
kokotas said:
Only thing left is to find a way to convert ALL hexstrings, regardless LCID...
Click to expand...
Click to collapse
New version is attached @ 1st post to handle this issue.
I've tested it with English, Greek, German and Chinese Rom and it's working!
If you find anything wrong let me know...
Regards!
kokotas said:
New version is attached @ 1st post to handle this issue.
I've tested it with English, Greek, German and Chinese Rom and it's working!
If you find anything wrong let me know...
Regards!
Click to expand...
Click to collapse
LOL, I don't know why but your tool does exactly what I want here: http://forum.xda-developers.com/showpost.php?p=6992501&postcount=46
And when keep all comment lines, I see that you used the method I posted, it's great because we can split initflashfiles correctly and don't have junk lines left.
I've tested the new version with 0409, 0804 and 0404 ROMs, it's working great. Thank you so much, friend.
Cloudyfa said:
LOL, I don't know why but your tool does exactly what I want here: http://forum.xda-developers.com/showpost.php?p=6992501&postcount=46
And when keep all comment lines, I see that you used the method I posted, it's great because we can split initflashfiles correctly and don't have junk lines left.
I've tested the new version with 0409, 0804 and 0404 ROMs, it's working great. Thank you so much, friend.
Click to expand...
Click to collapse
I'm glad you like it!
I had seen your comments there.
Those were some of the things I wanted too, along with registry sorting , manila files sorting, old style packages sorting etc.
so when I started writing this little app I took them into consideration
Regards!
kokotas said:
I'm glad you like it!
I had seen your comments there.
Those were some of the things I wanted too, along with registry sorting , manila files sorting, old style packages sorting etc.
so when I started writing this little app I took them into consideration
Regards!
Click to expand...
Click to collapse
I think I've found a bug of your tool:
When I use your tool to sort Huashan leaked ROM. Some packages lose their locale files folder (exp: Power, MP3Trimmer,... lose their 0804\files).
Btw, please consider:
- Keep comment lines in initflashfiles.dat only
- Delete all comment lines in app.dat files, then add 1 line at top: ";***PkgName***" and 1 empty line at bottom.
So we don't need the option to keep comment lines anymore. We'll have initflashfiles.dat with default structure and well organized app.dat for EXT, and a nice final initflashfiles.dat after building process.
Thanks for the useful tool, friend!
v1.2.1.0
An updated version is up @ 1st post.
Cloudyfa said:
I think I've found a bug of your tool:
When I use your tool to sort Huashan leaked ROM. Some packages lose their locale files folder (exp: Power, MP3Trimmer,... lose their 0804\files).
Click to expand...
Click to collapse
I think this bug is fixed now.
I downloaded that rom and tested it and all the packages are sorted correctly as far as I can see!
Cloudyfa said:
Btw, please consider:
- Keep comment lines in initflashfiles.dat only
- Delete all comment lines in app.dat files, then add 1 line at top: ";***PkgName***" and 1 empty line at bottom.
So we don't need the option to keep comment lines anymore. We'll have initflashfiles.dat with default structure and well organized app.dat for EXT, and a nice final initflashfiles.dat after building process.
Thanks for the useful tool, friend!
Click to expand...
Click to collapse
I changed a little how the application handles comments:
If /k is given the application will keep all the original comments.
If /k is omitted the application will keep only some basic comments. For example:
initflashfiles.dat
Code:
root:-Directory("My Documents")
root:-Directory("Program Files")
Directory("My Documents"):-Directory("我的图片")
Directory("\My Documents\我的图片"):-File("春天.jpg","\Windows\Spring.jpg")
Directory("\My Documents\我的图片"):-File("青草.jpg","\Windows\Grass.jpg")
Directory("\My Documents\我的图片"):-File("绿叶.jpg","\Windows\Leaf.jpg")
Directory("\My Documents\我的图片"):-File("水纹.jpg","\Windows\Water.jpg")
Directory("My Documents"):-PermDir("模板")
Directory("Program Files"):-Directory("连接")
Directory("\Windows"):-Directory("Help")
Directory("\Windows"):-Directory("Fonts")
Directory("\Windows"):-Directory("程序")
Directory("\Windows"):-Directory("StartUp")
Directory("\Windows"):-PermDir("“开始”菜单")
Directory("\Windows"):-Directory("Temporary Internet Files")
Directory("\Windows"):-Directory("AppButtons")
Directory("\Windows"):-Directory("收藏夹")
Directory("\Windows"):-Directory("Rings")
Directory("\Windows"):-Directory("AppMgr")
Directory("\Windows"):-PermDir("System")
Directory("\Windows\System"):-PermDir("ConfigMgr")
Directory("\Windows\System"):-PermDir("CertDtls")
Directory("\Windows\System"):-PermDir("DumpFiles")
Directory("\Windows\System"):-PermDir("CabQueue")
; Start Menu contents
Directory("\Windows\“开始”菜单"):-PermDir("程序")
Directory("\Windows\“开始”菜单"):-PermDir("设置")
Directory("\Windows\“开始”菜单\程序"):-File("帮助.lnk","\Windows\help.lnk")
Directory("\Windows\“开始”菜单\程序"):-File("搜索手机.lnk","\Windows\search.lnk")
Directory("\Windows\“开始”菜单\程序"):-File("电话.lnk","\Windows\cprog.lnk")
Directory("\Windows\“开始”菜单\程序"):-File("任务.lnk","\Windows\tasks.lnk")
Directory("\Windows\“开始”菜单\程序"):-File("调制解调器链接.lnk","\Windows\ATCIUI.lnk")
Directory("\Windows\“开始”菜单\程序"):-File("Internet 共享.lnk","\Windows\IntShrUI.lnk")
Directory("\Windows\“开始”菜单\程序"):-File("任务管理器.lnk","\Windows\TaskMgr.lnk")
Directory("\Windows\“开始”菜单\程序"):-File("ActiveSync.lnk","\Windows\sync.lnk")
Directory("\Windows\“开始”菜单\程序"):-File("日历.lnk","\Windows\calendar.lnk")
Directory("\Windows\“开始”菜单\程序"):-File("联系人.lnk","\Windows\addrbook.lnk")
Directory("\Windows\“开始”菜单\程序"):-File("Internet Explorer.lnk","\Windows\pie.lnk")
Directory("\Windows\“开始”菜单\程序"):-File("PerfMan.lnk","\Windows\perfman.lnk")
Directory("\Windows\“开始”菜单\程序"):-File("电子邮件.lnk","\Windows\tmailpicker.lnk")
Directory("\Windows\“开始”菜单\程序"):-File("短信.lnk","\Windows\tmailsms.lnk")
Directory("\Windows"):-File("设置电子邮件.lnk","\Windows\acctwiz.lnk")
; turn off the OLD inbox later
; put the OLD inbox to the program floder (temporary)
Directory("\Windows\“开始”菜单\程序"):-File("便笺.lnk","\Windows\notetake.lnk")
Directory("\Windows\“开始”菜单\程序"):-File("图片和视频.lnk","\Windows\pimg.lnk")
Directory("\Windows\“开始”菜单\程序"):-File("SimTkUI.lnk","\Windows\SimTkUI.lnk")
Directory("\Windows\“开始”菜单\程序"):-File("计算器.lnk","\Windows\calc.lnk")
Directory("\Windows\“开始”菜单\程序"):-File("资源管理器.lnk","\Windows\fexplore.lnk")
Directory("\Windows\“开始”菜单\程序"):-File("入门.lnk","\Windows\WelcomeCenter.lnk")
Directory("\Windows\“开始”菜单\程序"):-File("闹钟.lnk","\Windows\MSAlarms.lnk")
Directory("\Windows\“开始”菜单\程序"):-Directory("游戏")
Directory("\Windows\“开始”菜单\程序\游戏"):-File("纸牌.lnk","\Windows\solitare.lnk")
Directory("\Windows\“开始”菜单\程序\游戏"):-File("icon.lnk","\Windows\gamesico.lnk")
; App Button default links
Directory("\Windows\AppButtons"):-File("日历.lnk","\Windows\calendar.lnk")
Directory("\Windows\AppButtons"):-File("联系人.lnk","\Windows\addrbook.lnk")
Directory("\Windows\AppButtons"):-File("任务.lnk","\Windows\tasks.lnk")
Directory("\Windows\AppButtons"):-File("录音.lnk","\Windows\voice.lnk")
Directory("\Windows\StartUp"):-File("bugtrap.lnk","\Windows\bugtrap.lnk");
Directory("\Windows\StartUp"):-File("poutlook.lnk","\Windows\poutlook.lnk")
Directory("\Windows\StartUp"):-File("欢迎使用.lnk","\Windows\welcome.lnk")
Directory("\Windows\“开始”菜单\程序"):-File("远程桌面 Mobile.lnk", "\Windows\wpctsc.lnk")
Directory("Program Files"):-Directory("Windows Media Player")
Directory("\Windows\“开始”菜单\程序"):-File("Windows Media.lnk","\Windows\WMPlayer.lnk")
Directory("\Program Files\Windows Media Player"):-File("默认(纵向).skn","\Windows\wmp_WPC_portrait.lnk")
Directory("\Program Files\Windows Media Player"):-File("默认(横向).skn","\Windows\wmp_WPC_landscape.lnk")
Directory("\Program Files\Windows Media Player"):-File("默认(方格).skn","\Windows\wmp_WPC_square.lnk")
Directory("\Program Files\Windows Media Player"):-File("欢迎使用 Windows Media.wma","\Windows\wm_start.lnk")
; Help .LNK files
Directory("\Windows\Help"):-File("ActiveSync.lnk","\Windows\h_sync.lnk")
; Transcriber available for USA, FRA & GER
Directory("\My Documents\模板"):-File("空白文档.pwi","\Windows\blank.pwi")
Directory("\My Documents\模板"):-File("会议记录.pwi","\Windows\meeting.pwi")
Directory("\My Documents\模板"):-File("备忘录.pwi","\Windows\memo.pwi")
Directory("\My Documents\模板"):-File("电话备忘录.pwi","\Windows\phone.pwi")
Directory("\My Documents\模板"):-File("示例文档.pwi","\Windows\sample.pwi")
Directory("\My Documents\模板"):-File("待办事宜.pwi","\Windows\todo.pwi")
Directory("My Documents"):-Directory("个人")
Directory("My Documents"):-Directory("商务")
Directory("My Documents"):-Directory("我的音乐")
Directory("My Documents"):-Directory("我的铃声")
Directory("\Windows"):-File("cmclient.exe","\Windows\HTC_cmclient.exe")
app.dat
Code:
;ALBUM
Directory("\Windows\“开始”菜单\程序"):-File("相册.lnk","\Windows\Album.lnk")
Directory("\Windows\Help"):-File("相册.lnk","\Windows\Help_Album.lnk")
Directory("\My Documents\我的图片"):-File("Albums Sample_01.jpg","\Windows\Albums Sample_01.jpg")
Directory("\My Documents\我的图片"):-File("Albums Sample_02.jpg","\Windows\Albums Sample_02.jpg")
Directory("\My Documents\我的图片"):-File("Albums Sample_03.jpg","\Windows\Albums Sample_03.jpg")
Directory("\My Documents\我的图片"):-File("Albums Sample_04.jpg","\Windows\Albums Sample_04.jpg")
Directory("\My Documents\我的图片"):-File("Albums Sample_05.jpg","\Windows\Albums Sample_05.jpg")
Directory("\My Documents\我的图片"):-File("Albums Sample_06.jpg","\Windows\Albums Sample_06.jpg")
Directory("\My Documents\我的图片"):-File("Albums Sample_07.jpg","\Windows\Albums Sample_07.jpg")
EDIT:
I added more stability to the application:
When I run it on an old rom's dump (the ones that weren't organized into "PACKAGES_*") the application would crash!
With v1.2.1.0 it should work ok!
I've tested it with some Elfin official roms and it's NOT crashing
Regards!
Great work!!!
kokotas said:
An updated version is up @ 1st post.
I think this bug is fixed now.
I downloaded that rom and tested it and all the packages are sorted correctly as far as I can see!
I changed a little how the application handles comments:...
Click to expand...
Click to collapse
Ya, I've tested and it works very well now.
lol, you really did it exactly what I want again (about those basic comment lines) You know, it's a mess without them.
kokotas said:
EDIT:
I added more stability to the application:
When I run it on an old rom's dump (the ones that weren't organized into "PACKAGES_*") the application would crash!
With v1.2.1.0 it should work ok!
I've tested it with some Elfin official roms and it's NOT crashing
Regards!
Click to expand...
Click to collapse
I've never faced that issue because I use this code in my kitchen:
Code:
if exist IMGFS\OEM\PACKAGE_* "%path_exe%OTHER\PkgSorter" /t:IMGFS\OEM /n /d
but it's great that you improve the stability.