xboxscene.org forums

Author Topic: Homebrew Signing  (Read 94 times)

Kthulu

  • Archived User
  • Hero Member
  • *
  • Posts: 787
Homebrew Signing
« on: May 27, 2004, 08:55:00 AM »

i have a little xbe i made that just renames some files and then does a power cycle to the box.  when i tried to sign it with xbedump -habibi, everything 'passes' except the 'header size' check.  it fails.  is there some sort of adjustment i need to make to my project properties to get this thing sign-able?  thanks!
Logged

freakdave

  • Global Moderator
  • Sr. Member
  • *****
  • Posts: 284
Homebrew Signing
« Reply #1 on: May 27, 2004, 09:37:00 AM »

if it's a debug *.xbe,try to compile it as release or vice versa.then check again if it works...
Logged

Kthulu

  • Archived User
  • Hero Member
  • *
  • Posts: 787
Homebrew Signing
« Reply #2 on: May 27, 2004, 10:40:00 AM »

thanks!  i'll try that.  it's compiled for release, so i'll try debug...

However, can you or someone else explain or point me to an explaination of what xbedump is doing when it checks 'header size'?

This post has been edited by Kthulu: May 27 2004, 05:43 PM
Logged

Kthulu

  • Archived User
  • Hero Member
  • *
  • Posts: 787
Homebrew Signing
« Reply #3 on: May 27, 2004, 03:25:00 PM »

damn!  debug didn't work either.  release or debug...this is what i get:
CODE

S:\#Xbox\APPS\PC\xbedump>xbedump.exe inithack.xbe -habibi
XBE Dumper 0.5-BETA Release
Using Habibi Keys
Magic XBEH value:      pass
Header Size:           fail
Image Base Address:    pass
Certificate Adress:    pass
Certificate Size  :    pass
Correcting Mediatypes and Regions
Section Address:       pass
Debug Address:         pass
Patch XOR Keys
Kernel Entry:          3C7BDD6F  (KEY: A8FC57AB)
Kernel Thunk Table:    B4D854BC  (KEY: 5B6D40B6)
Section:  0 Hash:      pass -> corrected
Section:  1 Hash:      pass -> corrected
Section:  2 Hash:      pass -> corrected
Section:  3 Hash:      pass -> corrected
Section:  4 Hash:      pass -> corrected
Section:  5 Hash:      pass -> corrected
Correcting Signature:
2048 RSA Signature:    pass

File out.xbe created, verifying it ...

Magic XBEH value:      pass
Header Size:           fail
Image Base Address:    pass
Certificate Adress:    pass
Certificate Size  :    pass
Section Address:       pass
Debug Address:         pass
Kernel Entry:          3C7BDD6F  (KEY: A8FC57AB)
Kernel Thunk Table:    B4D854BC  (KEY: 5B6D40B6)
Section:  0 Hash:      pass
Section:  1 Hash:      pass
Section:  2 Hash:      pass
Section:  3 Hash:      pass
Section:  4 Hash:      pass
Section:  5 Hash:      pass
2048 RSA Signature:    pass

XBE file integrity:    FALSE !!!!!!! FALSE !!!!!


S:\#Xbox\APPS\PC\xbedump>
Logged

d0wnlab

  • Archived User
  • Sr. Member
  • *
  • Posts: 326
Homebrew Signing
« Reply #4 on: May 27, 2004, 04:15:00 PM »

I've gotten this a number of times with different XBEs, and in all but I think one case they worked anyways.

edit: I was using habibi key at the time as your are, maybe it's a related bug?

This post has been edited by d0wnlab: May 27 2004, 11:15 PM
Logged

Kthulu

  • Archived User
  • Hero Member
  • *
  • Posts: 787
Homebrew Signing
« Reply #5 on: May 27, 2004, 04:20:00 PM »

ok cool thanks!  it wasn't working with a habibi font exploit.  i'll try it with a game save to see if had something to do with the font...
Logged

d0wnlab

  • Archived User
  • Sr. Member
  • *
  • Posts: 326
Homebrew Signing
« Reply #6 on: May 28, 2004, 06:55:00 AM »

QUOTE (Kthulu @ May 28 2004, 12:44 AM)
ok cool thanks!  it wasn't working with a habibi font exploit.  i'll try it with a game save to see if had something to do with the font...

habibi font exploit?

IIRC habibi = audio keys, -font (or -fonts) are for the font exploit.. it's been awhile though, I might be completely wrong.  If your getting an error, is it a signing error?
Logged

PedrosPad

  • Archived User
  • Hero Member
  • *
  • Posts: 1277
Homebrew Signing
« Reply #7 on: May 28, 2004, 07:35:00 AM »

I've seen this.  Only got it when I updated to a later XDK.  I think M$ has slightly altered the XBE file format in the linker of the newer XDKs, and xbedump just doesn't know about it.

I recall I found a workaround, and that that was to delete the XBE produced, and run CXBE on the *.EXE that is also produced.  CXBE turns the EXE into an XBE in the old format, and xbedump then signed it with no problem.

Follow  this link

This post has been edited by PedrosPad: May 28 2004, 02:41 PM
Logged

Kthulu

  • Archived User
  • Hero Member
  • *
  • Posts: 787
Homebrew Signing
« Reply #8 on: May 28, 2004, 08:08:00 AM »

QUOTE (d0wnlab @ May 28 2004, 09:19 AM)
habibi font exploit?

IIRC habibi = audio keys, -font (or -fonts) are for the font exploit.. it's been awhile though, I might be completely wrong.  If your getting an error, is it a signing error?

the new UltmateDashboardExploit (still under development) exploit uses habibi
Logged

Kthulu

  • Archived User
  • Hero Member
  • *
  • Posts: 787
Homebrew Signing
« Reply #9 on: May 28, 2004, 08:09:00 AM »

thanks PedrosPad!  i will definitely give that try!
Logged

Kthulu

  • Archived User
  • Hero Member
  • *
  • Posts: 787
Homebrew Signing
« Reply #10 on: May 28, 2004, 08:50:00 AM »

QUOTE

S:\#Xbox\APPS\PC\xbedump>cxbe.exe inithack.exe

S:\#Xbox\APPS\PC\xbedump>xbedump.exe inithack.xbe -habibi
XBE Dumper 0.5-BETA Release
Using Habibi Keys
Magic XBEH value:      pass
Header Size:           pass // Yay!
Image Base Address:    pass
Certificate Adress:    pass
Certificate Size  :    pass
Correcting Mediatypes and Regions
Section Address:       pass
Debug Address:         pass
Patch XOR Keys
Kernel Entry:          000110E1  (KEY: A8FC57AB)
Kernel Thunk Table:    00018600  (KEY: 5B6D40B6)
Section:  0 Hash:      fail -> corrected
Section:  1 Hash:      fail -> corrected
Section:  2 Hash:      fail -> corrected
Section:  3 Hash:      fail -> corrected
Section:  4 Hash:      fail -> corrected
Section:  5 Hash:      fail -> corrected
Section:  6 Hash:      fail -> corrected
Correcting Signature:
2048 RSA Signature:    pass

File out.xbe created, verifying it ...

Magic XBEH value:      pass
Header Size:           pass
Image Base Address:    pass
Certificate Adress:    pass
Certificate Size  :    pass
Section Address:       pass
Debug Address:         pass
Kernel Entry:          000110E1  (KEY: A8FC57AB)
Kernel Thunk Table:    00018600  (KEY: 5B6D40B6)
Section:  0 Hash:      pass
Section:  1 Hash:      pass
Section:  2 Hash:      pass
Section:  3 Hash:      pass
Section:  4 Hash:      pass
Section:  5 Hash:      pass
Section:  6 Hash:      pass
2048 RSA Signature:    pass

XBE file integrity:    OK

i guess the red is ok?  it will be awhile before i can test on the xbox...

This post has been edited by Kthulu: May 28 2004, 03:52 PM
Logged

TOOGAM

  • Archived User
  • Newbie
  • *
  • Posts: 26
Homebrew Signing
« Reply #11 on: June 01, 2004, 10:10:00 AM »

According to a file on the Xbox Linux project's site (Xbox Linux XBE Bootloader), the same site that is responsible for making XBEDump, you can have a valid header for the Xbox kernel which doesn't pass XBEDump's tests. XBEDump just makes some assumptions on what XBE's should look like, and if they don't look that way then XBEDump complains, but XBEs don't have to look that way. A later XDK (which requires VS .NET a.k.a. VS7) always made XBE's that XBEDump didn't like. The same code on an earlier XDK (which didn't recognize VS .NET, and so needed VS6 to install) made XBE files that XBEDump liked quite well. Do not use the CXBE conversion as mentioned above. I thought it was a great idea too, but even though those XBE's pass XBEDump's tests, there are other problems. (XBEPack doesn't like the XBE's that CXBE makes.) Rather that create that problem, I suggest to just ignore XBEDump's results since they are known to be imperfect.
Logged

Kthulu

  • Archived User
  • Hero Member
  • *
  • Posts: 787
Homebrew Signing
« Reply #12 on: June 01, 2004, 02:32:00 PM »

thank you very much guys! this is all very good to know.  even if cxbx isn't the way to go, i was wondering how one makes an xbe using the only the openxdk smile.gif
Logged