QUOTE(Sabretooth)


I'm on TV!
More of his posts:
QUOTE(Sabretooth)
It's not photoshopped. If it were, it wouldn't look so shitty (stupid Macbook Pro camera :argh: )
I'm currently working out the interface between the apple-TV Finder.app and the plugins it loads. They're Objective-C shared libraries implementing a simple interface derived from a class in BackRow.Framework called BRAppliance. Of course, BackRow.framework doesn't ship with headers... or interface definitions... or really anything other than some nifty PNG files and a 1.6 MB shared-lib binary.
Unfortunately, since I'm a C++ kind of guy, this is going to take a while to get anything concrete. All the usual methods are useless (I don't even have 'objdump').
However, obj-C is far more forgiving in the face of reverse engineering (that whole 'dynamic message passing' thingie), so this is probably actually easier than if it were C++.
I'm currently working out the interface between the apple-TV Finder.app and the plugins it loads. They're Objective-C shared libraries implementing a simple interface derived from a class in BackRow.Framework called BRAppliance. Of course, BackRow.framework doesn't ship with headers... or interface definitions... or really anything other than some nifty PNG files and a 1.6 MB shared-lib binary.
Unfortunately, since I'm a C++ kind of guy, this is going to take a while to get anything concrete. All the usual methods are useless (I don't even have 'objdump').
However, obj-C is far more forgiving in the face of reverse engineering (that whole 'dynamic message passing' thingie), so this is probably actually easier than if it were C++.
and in his most recent post he has released a video
QUOTE(Sabretooth)
Alright, check this out:
http://video.google.com/videoplay?docid=2472553296791117282
(The awesomeness of Google Video and my MacBook Pro camera combine to bring you a video where you can just about make out 48 pt font. Wonderful.)
That is a 100% custom bundle loaded. BackRow.framework has a whitelist of potential bundle class names. I used RUICalibrationAppliance -- it appears to be unused. I'll check out the whitelisting later and see if I can get around that completely; since there's only one unused item, you'd have to replace other stuff to get more menu items. I suggest Podcasts as the first to go, as nobody cares about those.
The first open-source Apple TV application:
http://video.google.com/videoplay?docid=2472553296791117282
(The awesomeness of Google Video and my MacBook Pro camera combine to bring you a video where you can just about make out 48 pt font. Wonderful.)
That is a 100% custom bundle loaded. BackRow.framework has a whitelist of potential bundle class names. I used RUICalibrationAppliance -- it appears to be unused. I'll check out the whitelisting later and see if I can get around that completely; since there's only one unused item, you'd have to replace other stuff to get more menu items. I suggest Podcasts as the first to go, as nobody cares about those.
The first open-source Apple TV application:
CODE
@implementation RUICalibrationAppliance
- (id)applianceControllerWithScene: (id)fp8 {
BRRenderScene* scene = fp8;
const char* errCStr = "Television Rules the Nation";
NSString* errStr = [NSString stringWithCString:errCStr encoding:NSASCIIStringEncoding];
BRAlertController* alert = [BRAlertController alertOfType:1 titled:errStr primaryText:errStr
secondaryText:errStr withScene:scene];
return alert;
}
@end
- (id)applianceControllerWithScene: (id)fp8 {
BRRenderScene* scene = fp8;
const char* errCStr = "Television Rules the Nation";
NSString* errStr = [NSString stringWithCString:errCStr encoding:NSASCIIStringEncoding];
BRAlertController* alert = [BRAlertController alertOfType:1 titled:errStr primaryText:errStr
secondaryText:errStr withScene:scene];
return alert;
}
@end
Thread link: http://forums.somethingawful.com/showthrea...hreadid=2391956
Sabretooth's posts start on page 11.
I figure once we get full USB support, the mods will be endless.