# Problems decrypting a few TiVo files



## morac (Mar 14, 2003)

I'm not sure why I never converted my old TiVo files to MPG, but I didn't. I no longer have a Windows computer. I now have a M1 Mac as such I used tivo-libre to convert my TiVo files to mpg. That worked for almost all of them with a handful of exceptions. The error I got for all of these is:



> Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: arraycopy: source index -3 out of bounds for byte[184]
> at java.base/java.lang.System.arraycopy(Native Method)
> at net.straylightlabs.tivolibre.TransportStream.decryptPacket(TransportStream.java:196)
> at net.straylightlabs.tivolibre.TransportStream.processPacket(TransportStream.java:114)
> ...


I also tried to use tivodecode-ng which I compiled for the M1, but that failed with:


> failed to parse PES headers : pktID 592147
> Failed to add packet to stream : pktId 592147


As a last ditch effort, I installed Windows 10 ARM64 under Parallels, but that was a lost cause as I couldn't play any TiVo file in that. I'm guessing because TiVo Desktop isn't compatible with ARM, though Windows 10 ARM64 is supposed to support 32-bit intel apps. Even if I got TiVo Desktop working, the Directshow Dump installer fails because it requires .Net 1.x which isn't available.

Is there anything I can do to decrypt these files?

Edit:

I think I have an old Windows XP laptop with TiVo Desktop on it. Maybe that will work, but I don't even know if it will boot up.


----------



## Worf (Sep 15, 2000)

Chances are it won't work - I'm guessing the .tivo file is corrupted, which sometimes happens with the transfer. If the recordings still exist, transfer them again - it's been known that sometimes the transfer will fail.


----------



## Dan203 (Apr 17, 2000)

FYI pyTivo Desktop includes the same TiVo DirectShow filter that TiVo Desktop does. If you install that you can use VideoReDo to decrypt the file. (use the free trial) Or you can try to hunt down a copy of the old DirectShow Dump program which also uses that filter.


----------



## morac (Mar 14, 2003)

Dan203 said:


> FYI pyTivo Desktop includes the same TiVo DirectShow filter that TiVo Desktop does. If you install that you can use VideoReDo to decrypt the file. (use the free trial) Or you can try to hunt down a copy of the old DirectShow Dump program which also uses that filter.


I'll mention this since I tried to install pyTiVo on my new MacBook Air 2020 M1 recently. The installer doesn't work on that model. I'm not sure why since Rosetta 2 is supposed to translate any intel executables to M1, but it gave me an unexecutable error, even after allowing it to run.


----------



## Dan203 (Apr 17, 2000)

morac said:


> I'll mention this since I tried to install pyTiVo on my new MacBook Air 2020 M1 recently. The installer doesn't work on that model. I'm not sure why since Rosetta 2 is supposed to translate any intel executables to M1, but it gave me an unexecutable error, even after allowing it to run.


Yeah I just got an M1 Mini and tested it with the same result. Unfortunately my whole Mac build system is old and wont even run on BigSur, so I don't think I'll even be able to upgrade it without a significant amount of work. 

That's the problem with using these web technologies like Angular and Electron they're constantly being upgraded and if you don't stat on top of it you can fall so far behind it's almost impossible to catch back up without many many hours of work.


----------



## morac (Mar 14, 2003)

Dan203 said:


> Yeah I just got an M1 Mini and tested it with the same result. Unfortunately my whole Mac build system is old and wont even run on BigSur, so I don't think I'll even be able to upgrade it without a significant amount of work.
> 
> That's the problem with using these web technologies like Angular and Electron they're constantly being upgraded and if you don't stat on top of it you can fall so far behind it's almost impossible to catch back up without many many hours of work.


Yeah, though with open source programs at least they can be upgraded. I actually ran into the same can't execute problem with kmttg, but since the source code was available, I just downloaded and recompiled a M1 compatible version. I did have to comment out a few lines that required Oracle Java, but that didn't seem to cause any major impacts. I also compiled Tivo decode.


----------



## Dan203 (Apr 17, 2000)

Are you mac only?


----------



## morac (Mar 14, 2003)

At the moment yes. Though this is my first mac.


----------

