sascoo
Newbie

Posts: 6
|
 |
« 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
|
 |
« 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?  (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
|
 |
« 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.  Thanks Edit: I am looking into IDA
|
|
|
|
« Last Edit: February 16, 2010, 10:19:38 PM by sascoo »
|
Logged
|
|
|
|
|
slasherking823
|
 |
« 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?  (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
|
 |
« 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
|
 |
« 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  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
|
 |
« 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
|
 |
« 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
|
 |
« 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  ) 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
|
 |
« Reply #9 on: February 18, 2010, 03:36:54 AM » |
|
IDA with Xorlosers 360 PPC plugins.
|
|
|
|
|
Logged
|
|
|
|
|
Xumpy
|
 |
« 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  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  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
|
 |
« Reply #11 on: February 18, 2010, 06:59:11 AM » |
|
|
|
|
|
« 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!
|
|
|
|