XboxHacker BBS
 
*
Welcome, Guest. Please login or register.
Did you miss your activation email?
May 20, 2013, 08:25:35 AM


Login with username, password and session length


Pages: 1
  Print  
Author Topic: I am tired of blind coding...  (Read 2928 times)
sascoo
Newbie
*
Posts: 6


View Profile
« on: February 16, 2010, 01:50:20 AM »

I have been working on porting some c++ code over to the xbox.  Is there any way to get any sort of crash information or debugging on a retail box?  I am working with XeDebug so that I can launch new builds a bit faster but when I get a hard crash there is nothing I can do besides attempting to find where the crash occurred by putting print statements in my code...  Logging my program was working fairly well to a point but now I am in the part of my program which is multithreaded and I believe I am getting a deadlock.  I don't really feel like making log calls throughout the entirety of the program.

If anyone has any form of a solution bar acquiring an actual development kit, please enlighten me.

Thanks
Logged
le_uberfry
Master Hacker
****
Posts: 226


View Profile
« Reply #1 on: February 16, 2010, 05:22:54 AM »

I suppose "hard" crashes occur when machine check happens? (panic mode)
Make a patch for 0x200 (HV) to branch to a routine that'll dump the srr0 (address that caused it), srr1 (MSR value) and finally restart the console...
I think it's a trivial solution but I'm sure others can come up with a more decent idea, maybe crash dump and so on? Smiley

(in that case, have a look at 0x300 and 0x400 related code in HV, it will lead you to unencrypted sections that you can use for crash dumps)

OH OH OH wait! another idea (inb4 ideaman)! you say your app's multithreaded, but it'll be a bit hard to acquire infos about which thread did it, right? you might enum your spinlock value, print that out aswell (don't use encrypted memory) - cause you can't really be sure which cpu runs the thread, right? $#!t'll be SO cash.
« Last Edit: February 16, 2010, 05:31:15 AM by le_uberfry » Logged

I had a blast at the party yesterday!
Oh wait, what you mean you weren't invited? It was in your mouth and everyone came!
sascoo
Newbie
*
Posts: 6


View Profile
« Reply #2 on: February 16, 2010, 11:15:42 AM »

I am pretty new to hacking the xbox and low level stuff in general.  Are you talking about patching the nand?  If so, what tools do I need to start tweaking/reading the assembly?  Also, is there a site which gives detail to the various offsets of the nand and what each part does?

P.S.  You smart hardware/software RE people should just hurry up and get the syscalls from the devkit working on retail -- using the debug calls from the sdk would be so much easier. Wink


Thanks

Edit:  I am looking into IDA
« Last Edit: February 16, 2010, 10:19:38 PM by sascoo » Logged
slasherking823
Master Hacker
****
Posts: 222


View Profile
« Reply #3 on: February 16, 2010, 11:36:26 PM »

I suppose "hard" crashes occur when machine check happens? (panic mode)
Make a patch for 0x200 (HV) to branch to a routine that'll dump the srr0 (address that caused it), srr1 (MSR value) and finally restart the console...
I think it's a trivial solution but I'm sure others can come up with a more decent idea, maybe crash dump and so on? Smiley

(in that case, have a look at 0x300 and 0x400 related code in HV, it will lead you to unencrypted sections that you can use for crash dumps)

OH OH OH wait! another idea (inb4 ideaman)! you say your app's multithreaded, but it'll be a bit hard to acquire infos about which thread did it, right? you might enum your spinlock value, print that out aswell (don't use encrypted memory) - cause you can't really be sure which cpu runs the thread, right? $#!t'll be SO cash.

not many actually have the capabilities to do what you are suggesting
Logged

If that gamerscore or tenth prestige is so important to you that you absolutely need a pointless number - get it legit
If you are just trying to show off - throw a party(real party, not nerd party, some of you would miss that point)
If you like to be a fagot and go by "Jtags are for Mw2" - GTFO
sascoo
Newbie
*
Posts: 6


View Profile
« Reply #4 on: February 17, 2010, 03:26:53 PM »

...

not many actually have the capabilities to do what you are suggesting

Indeed.  It is going to take me a while to get up to speed.  Anyway, is the hv stored in the nand or do I need to look elsewhere?
Thanks
Logged
le_uberfry
Master Hacker
****
Posts: 226


View Profile
« Reply #5 on: February 17, 2010, 04:17:03 PM »

not many actually have the capabilities to do what you are suggesting
Now that's just foolish - nobody's born with these skills, that's why you learn them.
Or shall I go get a spoon? Might be a bit easier Wink

sascoo: patches.bin

example:

.long address
.long (9f-8f)/4
8:
  li %r3, 0x40
  b putc
9:

compile with gcc, done (or alternatively: pick them out one by one using a disassembler)
Logged

I had a blast at the party yesterday!
Oh wait, what you mean you weren't invited? It was in your mouth and everyone came!
sascoo
Newbie
*
Posts: 6


View Profile
« Reply #6 on: February 17, 2010, 04:45:55 PM »



We can either try osmosis or you can give me that spoon so i can eat your brains and steal your knowledge.
Logged
slasherking823
Master Hacker
****
Posts: 222


View Profile
« Reply #7 on: February 17, 2010, 07:08:50 PM »

not many actually have the capabilities to do what you are suggesting
Now that's just foolish - nobody's born with these skills, that's why you learn them.

Some can learn, others cant
I try, but assembly always seems to blow my mind, it probably has to do with the fact that I cant do math in my head
Logged

If that gamerscore or tenth prestige is so important to you that you absolutely need a pointless number - get it legit
If you are just trying to show off - throw a party(real party, not nerd party, some of you would miss that point)
If you like to be a fagot and go by "Jtags are for Mw2" - GTFO
Xumpy
Master Hacker
****
Posts: 310


View Profile
« Reply #8 on: February 18, 2010, 02:34:04 AM »

Hold on, hold on... There is one thing I don't understand (Ok, for the moment one thing Wink )

I'm not new to assembly. I have some experience but probably in the eyes of experience hackers I'm a complete newbie.

If you want to disassemble something, I have always used gdb. I suppose this only works for the x86 architecture so I can not use this.
I'm new to power pc. But I really want to learn how to disassemble these bin files so it would be more clear of what they are doing.

What tools you guys use for this, is this also possible with gdb, the same way as there is a cross compiler for gcc?
Logged

Once your mind is running, returning to its original state feels like standing still.
dstruktiv
Hacker
***
Posts: 92



View Profile WWW
« Reply #9 on: February 18, 2010, 03:36:54 AM »

IDA with Xorlosers 360 PPC plugins.
Logged

Author of XBLA Unlocker and NXE2GOD and QuickBoot and... you get the idea Wink
Xumpy
Master Hacker
****
Posts: 310


View Profile
« Reply #10 on: February 18, 2010, 04:47:54 AM »

Looks a very cool program, but a little to pricey for me... Will check the demo although I believe it won't do me any good. Maybe in the near future I'll consider buying this Wink

Thanks for the repley

Greetz

Xump

edit: I found there is a freeware, suppose this is the one you where referring to me... Going to test it now
edit2: So the plugin needs version 5.6 Sad to bad its not compatible with the freeware

thnx
« Last Edit: February 18, 2010, 05:00:03 AM by Xumpy » Logged

Once your mind is running, returning to its original state feels like standing still.
le_uberfry
Master Hacker
****
Posts: 226


View Profile
« Reply #11 on: February 18, 2010, 06:59:11 AM »

http://www.xboxhacker.org/index.php?topic=14348.msg103010#msg103010
thank cory1492, he was the one to supply the spoon Wink
« Last Edit: February 18, 2010, 02:34:45 PM by le_uberfry » Logged

I had a blast at the party yesterday!
Oh wait, what you mean you weren't invited? It was in your mouth and everyone came!
Pages: 1
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.11 | SMF © 2006-2009, Simple Machines LLC

Valid XHTML 1.0! Valid CSS! Dilber MC Theme by HarzeM