Rick Harris wrote: > Hi all, > > I recall some time back on the list talk of tools to report and strip the DVD > region encoding on a DVD. > > One user came up with one to report the region encoding being used by a > particular DVD, located at http://busy-bee.net/files/show_region.txt > > Last night I had the need to strip a DVD's region encoding and after scouring > the mail archives and Google, came up with none. > > So this morning I wrote a very simple one (my first C++ program): > > /* File: dvd_region_free.cpp > A tool to force a DVD to be region code free > Author: Rick Harris [EMAIL PROTECTED] > > Installation: Run `g++ dvd_region_free.cpp -o dvd_region_free` to compile, > then `cp dvd_region_free /usr/bin/dvd_region_free` > Usage: /usr/bin/dvd_region_free /path/to/VIDEO_TS.IFO > */ > > #include <iostream> > using namespace std; > #include <fstream> > > int main(int argc, char** argv) { > if( argc != 2 ) { > fprintf( stderr, "Usage: %s VIDEO_TS.IFO\n", argv[0] ); > return -1; > } > > fstream File (argv[1], ios::in | ios::out | ios::binary); > if(! File) { > cerr << "File does not exist!\n"; > exit(EXIT_FAILURE); > } > File.seekp (35); // Seek to region code byte ready to write > char buffer[1] = ""; > File.write (buffer, 1); // Zero the byte > File.close(); > } > > > Or if your mail client wraps weirdly, can be downloaded here > http://mightylegends.org/dvd/dvd_region_free.cpp > > Simply seeks to the 35th byte in VIDEO_TS.IFO and over-writes it with a zero > byte. > Each of the 8-bits of the 35th byte represent one region, so if the user > really wants to modify this they could also use it to create their own region > encoded discs by flipping the relevant bits. > > Hope someone finds it useful.
I posted this to the list a year or two ago: /* compile me: */ /* gcc -o region-zero region-zero.c */ /* set my perms: */ /* chmod 0755 region-zero */ /* move me to someplace useful: */ /* mv region-zero /usr/local/bin */ /* run me in directory VIDEO_TS */ #include <stdio.h> main() { FILE * fd; fd = fopen("VIDEO_TS.IFO","r+"); fseek(fd,0x23,SEEK_SET); /* hex offset 0x23 is the region code byte */ putc(0x0,fd); /* zero all the region code bits */ } The program I really want to see is the one that uses the laser in a dvd burner to damage a commercial dvd in such a way that it is deregionalized.