BT vison box chipped?

i used reflector, but spices.net gives similar results.. i'll see if i can find the exe on the net if you want to have a look :)

Mick

no, its ok I know reflector.

Thing is, if you are decompiling this way (which I think isnt legal?) then you wont ever get the true source code bak in VS.Net. It really looks like, to me at least, that there are some missing references in the decompiled source.

Doesnt it look that way to you? How many component cs files do you get when you decompile? Do any of the solution files have missing references? One way to test this would be to use MSBUILD on the command line and use the AssemblyPath option to point to the build output directory.
 
Unfortunately I dont know a huge amout of C#, I know enough to get by .. ie write small apps .. but haven't worked on any projects of this size before.. Can you explain what you meant by your previous post with the MS BUILD command?

(also did you see my previous post with the decompiled version) it may shed some light....

Thanks
Mick
 
Last edited:
yeah, I saw the last post - which is what made me think of missing references.

MSBUILD is the tool VS.Net uses to compile all of your apps written under the 2.0 framework. There should be a link to the VS command prompt from the start menu, use this and cd to the location of your sln file. Now, just type MSBUILD on the prompt and you will see that everything starts to build. You will get an error at the end of it, post it here if you like.

Doing this on the command line actually helps you get more errors fixed, and gives you more control.
 
there would be far too many errors to paste.. it was over 1000 when I first tried to compile, I managed to get that down to about 186, but then you fix some errors, and you seem to then get more...

At the moment theres 186 still, so i think its very broken. There is lots of code which is good tho.

some of the errors using the msbuild are like..
Program.cs(183164,38): error CS1519: Invalid token '>' in class, struct, or inte
rface member declaration
Program.cs(183164,39): error CS1520: Class, struct, or interface method must hav
e a return type
Program.cs(199858,29): error CS1519: Invalid token '<' in class, struct, or inte
rface member declaration
Program.cs(199858,36): error CS1519: Invalid token '>' in class, struct, or inte
rface member declaration
Program.cs(199858,37): error CS1520: Class, struct, or interface method must hav
e a return type
Program.cs(199862,22): error CS1519: Invalid token '<' in class, struct, or inte
rface member declaration
Program.cs(199862,38): error CS1519: Invalid token '>' in class, struct, or inte
rface member declaration
...

Program.cs(26229,36): error CS0418: 'Microsoft.TV2.DVB.SI.DescriptorFactory': an
abstract class cannot be sealed or static
Program.cs(42047,36): error CS0418: 'Microsoft.IPTV.Client.Logger': an abstract
class cannot be sealed or static
Program.cs(44767,36): error CS0418: 'Microsoft.TV2.Test.TasmanScreenShot': an ab
stract class cannot be sealed or static
Program.cs(70004,34): error CS0418: 'Microsoft.TV2.TryWrappers': an abstract cla
ss cannot be sealed or static
Program.cs(71622,34): error CS0418: 'Microsoft.TV2.NetworkUtilities': an abstrac
t class cannot be sealed or static
Program.cs(75908,34): error CS0418: 'Microsoft.TV2.DvrFileSystemStore': an abstr
act class cannot be sealed or static
Program.cs(109342,39): error CS0418: 'Microsoft.TV2.GuideData.Internal.MDGuideLo
ader.PerfUtils': an abstract class cannot be sealed or static
Program.cs(131434,38): error CS0418: 'Microsoft.TV2.AV.DServerTuner2.SeqGenerato
r': an abstract class cannot be sealed or static
Program.cs(132811,34): error CS0418: 'Microsoft.TV2.AV.CCPayload': an abstract c
lass cannot be sealed or static
Program.cs(146793,34): error CS0418: 'Microsoft.TV2.Media.EdgeMapManager': an ab
stract class cannot be sealed or static
Program.cs(195797,40): error CS0418: 'Microsoft.TV2.UI.TasmanPage.Win32': an abs
tract class cannot be sealed or static
 
Right, ok this makes more sense now.

You are not going to be able to compile your code untill you get hold of the assemblies specified there:

Microsoft.TV2
Microsoft.IPTV

The other errors are syntax, and will show up in VS.Net - they are there either because you need those assemblies above, or the decompilation didnt work so well. Find them and see if you can fix them, this might make the errors go away, but I doubt it. I really think you need those assemblies to compile it.
 
I think its just that decompilation didnt work so well... almost the whole project starts with microsoft.tv2.xx
there is a microsoft.tv2. folder which has LOTS of .cs files in it, and the same with the IPTV folder.

all the other DLL's associated are drivers (not .net dll's and they use DLLImport) or CE framework dll's

the exe and the decompiled version are on the previous page (post #20)

Mick
 
Last edited:
ok, so for the Microsoft.TV2 stuff, do they have a sln or proj file there? If they do, build them out to the same output dir as the rest of the stuff first.
 
all of the stuff is from the one exe file. reflector just makes a proj file for it. I tried all of the other dll's in reflector but get a red ! as there not .net stuff. I just tried dissasembling again using the dll's that were on the box for the CE framework, but the result is the same.

Apparently the <privateImplementation> stuff is to do with the way the compiler works, and is used internally for static arrays and for case switching on strings...

http://oil.abstraction-project.com/2008/05/c-fast-array-initialization.html
http://www.codeguru.com/forum/archive/index.php/t-369212.html
 
essentially you need the sln or proj files for those MS assemblies. With out them you wont be able to build them, and they are needed by the rest of the code. You can download them here as part of a library: http://support.microsoft.com/kb/929984.

However, I think the Microsoft.IPTV one will be a problem, I think this is specific to the box. Unless you can stub it, or remove all references to it from the code, I dont know how you will be able to compile.
 
Unfortunately they are not available for download, and you need to contact MS to obtain them....
 
your going to have to do a search for a download then, or get them from a version of VS.Net that installs them unfortunately, I just read the info and assumed they were available there.

Loks like they might be part of VS2008?
 
I could be completely off track here, but if the box re-downloads the OS and client from BT when you swap in a new hard drive is there not away to intercept the download to obtain the assemblies? or is this not possible (for what ever reason)?
 
the assemblies will probably be signed. Without the key, it would be hard to register them again once altered. So to get around this problem, you need the library from MS to start with.
 
well, if you try to decompile the code on it, yes you would face a similar problem.

However, I am inclined to think that these are just add-ons put there for you by a third party, in this case BT. I dont know much about this particular box, but it looks to me like these are only ever going to be sold by the likes of BT etc when flogging their IPTV service.

I dont suppose I need to point out that decompiling code like this is porbably illegal do I?
 
Maybe... but big corporations seem to get away with it?

http://www.halflifesource.com/headlines/news_corp_hires_hacker_for_dish_episonage/article2418.htm

"NDS, which provides security technology to a global satellite network that includes satellite TV service DirecTV, denies the claims, saying it was only engaged in reverse engineering -- looking at a technology product to determine how it works, a standard in the electronics industry."

http://www.ibm.com/developerworks/linux/library/l-lobtivo/


So it may depend upon what your intentions are...

I purchased a box from ebay, which I own. If I want to find out how it works, and make it do something else (as long as I'm not defrauding any companies such as BT), then I dont see why it would be illegal.

Any modifications could be distibuted as a "patch" so therefore no copyright code would be distributed.

For example if i want to find out how the box works, to make it into a usable mediacentre, instead of a doorstop....

Mick
 
You're right mick. Reverse-engineering in itself is perfectly legal, for the purposes of understanding how something works. So in this case, if you intended to write your own application for the box and BT won't provide any APIs or documentation, then no problem. May be an issue with whether the seller of the box had the right to sell it?

I'm not sure about patching proprietary software, but the patches could themselves be for educational purposes, ie aiding reverse engineering and demonstrating alternative functionality.

In any case, if no money is being made out of it, then I doubt BT would really do anything about it. At worst they might make future boxes more secure, or harder to get hold of to prevent folk just signing up to BT Vision to get the box.

BTW, IANAL ;)

I'm getting a box soon myself, so will be looking into to it too. Not a C# programmer though - C, C++, Java but not C# or .net.
 
your going to be out of luck then, this box seems to be developed for the .Net framework.

If you chaps are interested in using it as a media center, then decompiling the code on it to understand it may not be the best way forward, instead you may want to look into replacing the OS.

Now, I dont know how these particular boxes work, but I will hazard a guess and say that you may want to get a boot manager (if one exists right now for this box, all the better) that lets you boot an OS from the HDD. That way, you can put whatever you like on it and ignore the current software.
 
The OS currently boots from the HDD. It is possible to put linux on the box, but the germans cant get microcodes to load. The microcodes for winCE are already in the DLL's.

There is already a lot of info on www.t-hack.com which is what I have based the work on our box from.

Mick
 
microcodes?

I have just had a look at that wiki, seems quite interesting, but are they not using different hardware? My german is awful, so I had to rely on google to translate where there was no english.
 
Back
Top