RDシリーズでコピーワンス間違いのフラグを書き直す

以前から何度かコピーワンスじゃないはずのタイトルがコピー不可になってしまう現象(HDDからDVD-RAMに高速ダビングした時など)があったので、少し前の日記で調べたRDシリーズのタイトル情報の構造を元にコピー不可のフラグをクリアするだけのプログラムを作ってみた。パラメータとかエラーチェックは一切なしの手抜き。実行すると同じフォルダ内のVR_MANGR.IFOを書き換えるので、DVD-RAMとかならDVD_RTAVフォルダにrdcfc.exeをコピーして実行するだけでもいい。

ダウンロード

rdcfc v0.01

  • CRC32: 1E7CD193
  • MD5: B2ACF5760571711246DD61674EEA1926
  • SHA-1: 3D9106C32B1746B2D152DB8A8D69A536295F37F4

ソースリスト

上記アーカイブファイルに含まれている。

#include <stdio.h>

int main(int argc,char *argv[]) {
	unsigned int tn;
	unsigned long tp;
	unsigned char buf[0x168];
	FILE *fp;
	int i;

	fp=fopen("VR_MANGR.IFO","r+b");
	fread(buf,1,0x168,fp);
	tp=buf[0x130]<<24|buf[0x131]<<16|buf[0x132]<<8|buf[0x133];
	fseek(fp,tp,SEEK_SET);
	fread(buf,1,4,fp);
	tn=buf[0x00]<<8|buf[0x01];
	tp=tp+4;
	while(tn>0) {
		fseek(fp,tp,SEEK_SET);
		fread(buf,1,0x8e,fp);
		buf[0x3f]=buf[0x3f] & 0xf7;
		fseek(fp,tp,SEEK_SET);
		fwrite(buf,1,0x8e,fp);
		tp=tp+0x8e;
		tn--;
	}
	fclose(fp);
}

DVD-RWVRフォーマットしたものはUDF2.0なのでWindowsXP標準では読めないっぽい。てな訳でドライブ製造元に関係なく使える東芝ダイレクトの海外サイトで配布しているDVD RAM Driver Softwareを使ってみたら問題なく読めた。インストーラから日本語なので安心して使える。