 |
 |
All times are GMT +2. The time now is 06:40 PM. |
 |

08-31-2008, 06:05 PM
|
|
Registered User
|
|
Join Date: Aug 2008
Location: Germany
Posts: 5
|
|
|
DVDElf Injection?
Installed Free MC Boot yesterday and its works perfectly.
I also did the (optional) "injection" part, but I'm not sure what that is for. 
In the tutorial, it says: "Also, adding a DVDELF.BIN is completely optional, but is a very nice feature to save on memory card space."
So obviously it has something to do with "saving memory card space", but the term "injection" suggests some other purpose.
I just added the .elf during install, as it was easy to do, but maybe I don't need it at all. 
So my question is: What is "DVDElf Injection" and what is it used for?
Thanks to the guys spending their free time developing these nice tools. And thanks for writing it all down in your extensive tutorials. 
Last edited by Lei_WuLong; 08-31-2008 at 08:43 PM.
|

08-31-2008, 07:56 PM
|
 |
Registered User
|
|
Join Date: Apr 2005
Location: Germany
Posts: 1,893
|
|
|
This (encrypted) DVDELF.bin-file is necessary (for Homebrew-users yet), to get a valid "encrypted ELF"/"KELF"-Header and build a valid "KELF".
This file isn't necessary, if you have a DVD-Player on ROM.
If you do not have one, on a hardware-based chip in your PS2, you need this DVDELF.bin.
The MCID (and with it the encryption) is different if the filesize of the "KELF" is different. The key varies.
Small, DVDELF.bin's help you to save space on mc and loading-time of FMCB.
__________________
PS2 V7, DMS3 V2 (FW:2.4Beta7), SONY BBA, Seagate Baracuda 200GB-HDD, my AIO 0.5
PS2 V7, CC1.0 (FW:34 hacked v2 BM:2.1.6), SONY BBA, Maxtor DiamondMAX9 PLUS 160GB-HDD, My AIO 0.5, Sony-Linux, xRhino-Linux
2xSony MC 8MB
MAX 16MB/Datel 16MB with Boot-CD
MAX 32MB/Datel 32MB *I found it!*
|

08-31-2008, 10:31 PM
|
|
Registered User
|
|
Join Date: Apr 2005
Posts: 89
|
|
Quote:
Originally Posted by Lei_WuLong
So my question is: What is "DVDElf Injection" and what is it used for?
|
Hiya!
The "injection" is one of the main ideas that made running programs possible via MC boot.
Since we are not able to create valid encrypted ELFs for MC booting, we need to find other means for executing our own code with the help of an already existing valid encrypted ELF.
Such valid ELF is the built-in DVD player found in the PS2s EROM (called DVDELF). As these ELFs contain areas that are not encrypted, it's possible to "inject" arbirary code into the ELF without affecting checksum calculation and decryption, so the PS2 still sees the modified DVDELF as completely valid.
With some tricks it's possible to inject (aka embed) full programs (other ELFs) into the DVDELF, provided that it has a big enough unencrypted area to contain them. In older PS2 models the DVDELF's size ranged from 500 kilobytes to 1.7 megabytes, making it possible to inject other ELFs into them. The DVDELF in the new slim models however is only 75 kilobytes big. This is so small that FMCB injects only its launcher program into it and launches other apps externally, but it also makes it the perfect DVDELF for our purpose, because it saves space on the MC compared to the older/bigger ones.
When installing, the optional DVDELF.BIN should be a valid encrypted DVD player ELF from a PS2 that is the same region as the one you want to install FMCB on. Without this, the installer loads the DVD player ELF from your own PS2 and uses that for injection, and saves it to the MC as osdmain.elf. If you have an older PS2, it's a good idea to find a 75k DVDELF and use that for carrying the launcher.
If you provide an EMBED.ELF, it will be injected into the DVDELF instead of the default FMCB launcher, and will be launched every time you boot from the MC. For this the DVDELF should be big enough for the injection to be successful of course.
Hope that helps. 
|

09-01-2008, 11:56 PM
|
|
Registered User
|
|
Join Date: Aug 2008
Location: Germany
Posts: 5
|
|
It seems I'm still missing some parts of the whole picture... which is not surprising as my previous "ps2 experience" was limited to playing games. I'm just curious.
Quote:
Originally Posted by TnA
This (encrypted) DVDELF.bin-file is necessary (for Homebrew-users yet), to get a valid "encrypted ELF"/"KELF"-Header and build a valid "KELF".
|
So this is needed when installing FMCB, right? As far as I understand FMCB creates some MC-specific verifiable ELF to disguise itself as a valid osdxxx.elf during bootup.
Quote:
This file isn't necessary, if you have a DVD-Player on ROM.
If you do not have one, on a hardware-based chip in your PS2, you need this DVDELF.bin.
|
Is there a PS2 model, which does not have a DVD-Player on its ROM? I mean, every PS2 can play DVDs.
Let's assume there is a DVD-Player (on ROM) present, it is then used for creating an encrypted header or is there no need for that in this case?
Quote:
|
Small, DVDELF.bin's help you to save space on mc and loading-time of FMCB.
|
Ok, (I think) I understand the part in DVDELF.bin in creating an encrypted ELF, but not why this does save space. After all, encryption does not automatically mean compression... or does it? 
Is en/decrypting only necessary when installing files on the MC or also when running them?
|

09-02-2008, 12:04 AM
|
|
Registered User
|
|
Join Date: Aug 2008
Location: Germany
Posts: 5
|
|
whoops, sorry I didn't see the 2nd reply when I typed my response (Firefox3 does not refresh the last open tabs from the previous session, I'm still getting used to that...).
So most of my questions are already answered. Thanks.
So in my case, there was no need for the dvdelf.bin, as I own the
"new" PS2 Slim with the 75KB DVD-Player. 
|

09-02-2008, 12:10 AM
|
 |
Registered User
|
|
Join Date: Apr 2005
Location: Germany
Posts: 1,893
|
|
Quote:
Originally Posted by Lei_WuLong
So this is needed when installing FMCB, right?
|
Yes, it is needed to get a valid KELF-Header.
(Neme, plz correct me if I'm wrong. ^^)
Quote:
|
As far as I understand FMCB creates some MC-specific verifiable ELF to disguise itself as a valid osdxxx.elf during bootup.
|
The MC-Upgrade is encrypted specifically to:
-size of encrypted file
-MC-Hardware-ID
Quote:
Is there a PS2 model, which does not have a DVD-Player on its ROM? I mean, every PS2 can play DVDs.
Let's assume there is a DVD-Player (on ROM) present, it is then used for creating an encrypted header or is there no need for that in this case?
|
I'm not sure about those early pre-V5-PS2s.
But I'm not fully aware of the whole process now.
Quote:
Ok, (I think) I understand the part in DVDELF.bin in creating an encrypted ELF, but not why this does save space. After all, encryption does not automatically mean compression... or does it?
|
No it doesn't, but a part of the MCID, relies to the MC-Hardware-ID and file-size of file to encrypt, or encrypted file.
As mentioned above,...
Quote:
|
Is en/decrypting only necessary when installing files on the MC or also when running them?
|
In both cases.
A encrypted file gets installed to the MC as "OSD-Update" and this specifically to your MC-ID+filesize-ID and PS2-MagicGate-Region-encrypted file gets decrypted and runned instead of the original "OSDSYS".
__________________
PS2 V7, DMS3 V2 (FW:2.4Beta7), SONY BBA, Seagate Baracuda 200GB-HDD, my AIO 0.5
PS2 V7, CC1.0 (FW:34 hacked v2 BM:2.1.6), SONY BBA, Maxtor DiamondMAX9 PLUS 160GB-HDD, My AIO 0.5, Sony-Linux, xRhino-Linux
2xSony MC 8MB
MAX 16MB/Datel 16MB with Boot-CD
MAX 32MB/Datel 32MB *I found it!*
|

09-02-2008, 10:43 PM
|
|
Registered User
|
|
Join Date: Aug 2008
Location: Germany
Posts: 5
|
|
Ok, let me sum this up to see if I understood it.
So a valid DVD-Player elf is needed to create a valid "self-made" encrypted elf containing the FMCB launcher. This is done with the injection method  described below. This injected elf is put on MC and renamed to osdxxx.elf, so that it is automatically loaded during bootup (thanks to Sony for this one). When booting up, the FMCB launcher is executed, which makes it possible to run arbitrary (unencrypted) ELFs, like the uLaunchELF-browser or ESR.
This also implicates that nothing special happens with the files provided in the INSTALL folder, they are just copied to the MC. Which means if I want to update these files, I just overwrite them with the new version using uLaunchElf.
And if I (theoretically) don't want to inject the FMCB launcher, I can provide a EMBED.ELF, to be injected instead. As long as the DVDELF is "big" enough to carry it.
Correct?
The only thing I'm not sure of, is why the 75KB DVDELF saves loading time (as explained below). Just because its smaller?
|

09-02-2008, 10:54 PM
|
 |
Guest User
|
|
Join Date: Sep 2004
Location: NTSC
Posts: 1,452
|
|
Quote:
Originally Posted by Lei_WuLong
Ok, let me sum this up to see if I understood it.
So a valid DVD-Player elf is needed to create a valid "self-made" encrypted elf containing the FMCB launcher. This is done with the injection method  described below. This injected elf is put on MC and renamed to osdxxx.elf, so that it is automatically loaded during bootup (thanks to Sony for this one). When booting up, the FMCB launcher is executed, which makes it possible to run arbitrary (unencrypted) ELFs, like the uLaunchELF-browser or ESR.
This also implicates that nothing special happens with the files provided in the INSTALL folder, they are just copied to the MC. Which means if I want to update these files, I just overwrite them with the new version using uLaunchElf.
And if I (theoretically) don't want to inject the FMCB launcher, I can provide a EMBED.ELF, to be injected instead. As long as the DVDELF is "big" enough to carry it.
Correct? 
|
CORRECT!!
Quote:
Originally Posted by Lei_WuLong
The only thing I'm not sure of, is why the 75KB DVDELF saves loading time (as explained below). Just because its smaller?
|
Yes, a smaller file takes less time to load. 
__________________
PS2 Skins Gallery
PS2 Consoles:
V4 - unmodded (2)
V5 DMS4 Pro SE
V9 CC 2.0 SLE
V16 Silver - unmodded

|

09-02-2008, 11:00 PM
|
|
Contributor
|
|
Join Date: Sep 2004
Posts: 5,029
|
|
Quote:
Originally Posted by Lei_WuLong
Ok, let me sum this up to see if I understood it.
So a valid DVD-Player elf is needed to create a valid "self-made" encrypted elf containing the FMCB launcher. This is done with the injection method  described below. This injected elf is put on MC and renamed to osdxxx.elf, so that it is automatically loaded during bootup (thanks to Sony for this one). When booting up, the FMCB launcher is executed, which makes it possible to run arbitrary (unencrypted) ELFs, like the uLaunchELF-browser or ESR.
This also implicates that nothing special happens with the files provided in the INSTALL folder, they are just copied to the MC. Which means if I want to update these files, I just overwrite them with the new version using uLaunchElf.
|
The above is all correct.
Quote:
|
And if I (theoretically) don't want to inject the FMCB launcher, I can provide a EMBED.ELF, to be injected instead. As long as the DVDELF is "big" enough to carry it.
|
This is also correct, though in practice it is up to whoever prepares the 'EMBED.ELF' to ensure that it does not exceed the capacity of the DVDELF. Also, whenever an 'EMBED.ELF' is used to replace the FMCB launcher, this will most likely disable ESR, since ESR depends on some CDVD initialization work done by the FMCB launcher.
Quote:
|
The only thing I'm not sure of, is why the 75KB DVDELF saves loading time (as explained below). Just because its smaller?
|
Yes. Memory cards are a rather slow file media, and the huge DVDELF files of the old fat PS2 consoles take much longer both to load and to decrypt. I haven't measured the time difference, but if we just compare sizes (for pure loading time) a 1.5MB file is twenty times larger than a 75KB file, so it should take appx that much longer to load.
Edit:
Hi JNABK! You beat me to it again, both in posting time and conciseness.
(I really should stop being so longwinded...)
Best regards: dlanor
|

09-02-2008, 11:13 PM
|
|
Registered User
|
|
Join Date: Aug 2008
Location: Germany
Posts: 5
|
|
Yeah, seems I got it.
Thank you very much. All your answers are appreciated, elaborate and concise alike. 
|

09-02-2008, 11:21 PM
|
 |
Guest User
|
|
Join Date: Sep 2004
Location: NTSC
Posts: 1,452
|
|
Quote:
Originally Posted by dlanor
Edit:
Hi JNABK! You beat me to it again, both in posting time and conciseness.
(I really should stop being so longwinded...)
Best regards: dlanor
|
No, i think you should continue as you do...those 'long winded' posts are actually very useful indeed, as it helps to give a different perspective to those who have a somewhat understanding of homebrew and wish to understand a bit more.
Even I have picked up new info i thought i knew, but I was wrong .....thanks to your exellent explainations. 
__________________
PS2 Skins Gallery
PS2 Consoles:
V4 - unmodded (2)
V5 DMS4 Pro SE
V9 CC 2.0 SLE
V16 Silver - unmodded

|

09-02-2008, 11:46 PM
|
 |
Registered User
|
|
Join Date: Apr 2005
Location: Germany
Posts: 1,893
|
|
Quote:
Originally Posted by Lei_WuLong
Yeah, seems I got it. 
|
Seems you did.
I agree with JNABKs last post.
__________________
PS2 V7, DMS3 V2 (FW:2.4Beta7), SONY BBA, Seagate Baracuda 200GB-HDD, my AIO 0.5
PS2 V7, CC1.0 (FW:34 hacked v2 BM:2.1.6), SONY BBA, Maxtor DiamondMAX9 PLUS 160GB-HDD, My AIO 0.5, Sony-Linux, xRhino-Linux
2xSony MC 8MB
MAX 16MB/Datel 16MB with Boot-CD
MAX 32MB/Datel 32MB *I found it!*
|
| Thread Tools |
|
|
| Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
|
Copyright ©2008 PSX-SCENE.COM Portions of this site are protected under the Creative Commons license. We are in no way affiliated with Sony Computer Entertainment or Nintendo Company, Ltd. As this is a public forum, we are not responsible for any of it's content. All posted material is Copyright of their respective owners.
|
 |
All times are GMT +2. The time now is 06:40 PM. |
 |
|
|
 |