""
All times are GMT +2. The time now is 02:00 AM.  

Go Back   PSX/PS2/PS3 Scene Newz > PlayStation2 Forums > PS2 Homebrew/Dev & Emu Scene > FreeVAST

Reply
 
Thread Tools Display Modes
  #1  
Old 08-31-2008, 06:05 PM
Lei_WuLong Lei_WuLong is offline
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.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #2  
Old 08-31-2008, 07:56 PM
TnA's Avatar
TnA TnA is offline
Registered User
 
Join Date: Apr 2005
Location: Germany
Posts: 1,718
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!*
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #3  
Old 08-31-2008, 10:31 PM
Neme Neme is offline
Registered User
 
Join Date: Apr 2005
Posts: 89
Quote:
Originally Posted by Lei_WuLong View Post
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.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #4  
Old 09-01-2008, 11:56 PM
Lei_WuLong Lei_WuLong is offline
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 View Post
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?
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #5  
Old 09-02-2008, 12:04 AM
Lei_WuLong Lei_WuLong is offline
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.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #6  
Old 09-02-2008, 12:10 AM
TnA's Avatar
TnA TnA is offline
Registered User
 
Join Date: Apr 2005
Location: Germany
Posts: 1,718
Quote:
Originally Posted by Lei_WuLong View Post
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!*
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #7  
Old 09-02-2008, 10:43 PM
Lei_WuLong Lei_WuLong is offline
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?
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #8  
Old 09-02-2008, 10:54 PM
JNABK's Avatar
JNABK JNABK is offline
Guest User
 
Join Date: Sep 2004
Location: NTSC
Posts: 1,302
Quote:
Originally Posted by Lei_WuLong View Post
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 View Post
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

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #9  
Old 09-02-2008, 11:00 PM
dlanor dlanor is offline
Contributor
 
Join Date: Sep 2004
Posts: 4,773
Quote:
Originally Posted by Lei_WuLong View Post
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
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #10  
Old 09-02-2008, 11:13 PM
Lei_WuLong Lei_WuLong is offline
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.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #11  
Old 09-02-2008, 11:21 PM
JNABK's Avatar
JNABK JNABK is offline
Guest User
 
Join Date: Sep 2004
Location: NTSC
Posts: 1,302
Quote:
Originally Posted by dlanor View Post
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

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #12  
Old 09-02-2008, 11:46 PM
TnA's Avatar
TnA TnA is offline
Registered User
 
Join Date: Apr 2005
Location: Germany
Posts: 1,718
Quote:
Originally Posted by Lei_WuLong View Post
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!*
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump



All times are GMT +2. The time now is 02:00 AM.