View Single Post
Old 05-13-2024, 07:50 AM   #1
ehbowen
Member
ehbowen began at the beginning.
 
Posts: 16
Karma: 10
Join Date: Apr 2024
Location: Houston
Device: none
.cng Format (The Complete National Geographic)

About ten years ago I received a copy of The Complete National Geographic on DVD-ROM as a Christmas present. I installed it and referred to it occasionally, but a couple of years back the computer on which I installed it died.

This morning I had occasion to look up a remembered article from 1967. I still had the DVD-ROMs (and I had archived them to my NAS back in the day and still had the disk archives), so I tried to install the package.

It wouldn't install. The package relies on Adobe AIR, which apparently was discontinued back in 2010. Attempts to install it now fail, although I found by dint of much searching that the failure is due to expiration of the signing certificate, and that if you disconnect your computer from the Internet and temporarily set its system clock back to 2010, the package will install. Once installed it will continue operating even after you set your system time back to current. One problem down.

The second, though, is that I'd prefer to access this content on Linux; while I still do have legitimate Windows machines I'm moving away from them and I've decided to forego Win11. While looking around I found a couple of very informative web pages, which I'll link here as well as fair-use-excerpt some of the critical parts:

The Retired Engineer

Quote:
A bit of Googling turned up this very informative page which stated “The cng files are all jpegs, XOR’d bitwise with 239.” and also provided a TCL program to do the necessary conversion back to jpg. I’m not familiar with TCL but writing a C program to do the same thing was relatively trivial and proved that the Nat Geo “encryption” was indeed nothing more than an XOR with 0xEF 🙂
The Retired Engineer also provides a Github link to his script and C program for converting the .cng files. Someone with more technical savvy than I have at present might be able to do something with that, possibly even create a Calibre plugin with that functionality. Just an idea.
ehbowen is offline   Reply With Quote