如何在CD或DVD上获得扇区的准确位置和角度(数据位置测量)
How to Get Exact Location and Angles of Sectors on CD or DVD (Data Position Measurement)?
我正在开发复制保护。它必须能够使用扇区角度或扇区的确切物理位置(数据位置测量)等特征来识别光盘。所以问题是,我可以使用哪些特征来做到这一点,以及我如何获得有关它们的一些信息,特别是扇区的角度?
正如你所知道的,要点是这些特性在每次拷贝磁盘时都必须改变。
首选语言为c++和c#。
谢谢。
基本上不能。
扇区角度和读取半径是普通光驱不暴露的信息,您需要修改光驱固件才能将此信息发送给主机。
还有更多:根据环境条件,驱动器对这些参数的看法可能会发生很大的变化,并且生产公差(大多数中心孔不完全位于磁盘的中心)将使使用这些信息变得非常困难,因为它会在相同磁盘的不同样品之间发生变化。
最重要的是:这不会创建任何复制保护——如果你可以验证这个信息,那么其他人也可以,允许他使用它来创建一个足够好的副本。
基本规则是:任何信息,你可以从磁盘中提取,以验证其真实性,也可以提取复制它-这就是为什么复制保护方案在锁定硬件(例如游戏控制台)中工作最好的原因,其中驱动器固件真正适应它。
精确的测量将不起作用,但这对于指纹识别目的来说是不必要的。您可以测量任何扇区对之间的寻道时间。
我故意说"指纹"。你首先需要衡量目标市场的设备间差异(游戏邦注:可能是PC,而不是XBox,对吧?这是相当多的变化)。然后,您需要调查相关性——双轨和三轨搜索时间之间的关系是什么?
最后,您需要提出一个适当的容忍度。磁盘上的污迹将导致查找错误。
相关文章:
- 将值指定给向量(2D)的向量中的某个位置
- 在C++中测量postscript字体宽度
- 使用Unreal C++获取VR耳机的世界位置/方向
- 写入位置0x0000000C时发生访问冲突
- 如何将两个不同矢量的同一位置的两个元素组合在一起
- GL_SHADERSTORAGE_BUFFER位置是否与其他着色器位置冲突
- 有没有一种方法可以测量c++程序的运行时内存使用情况
- 如何使用cudaMallocManaged在指针位置初始化对象?(C++)
- 无法获取webot::PositionSensor对象中位置传感器的值
- 非常量变量只读位置的赋值
- 如何定义更改car类中car位置的方法
- 使用迭代器时如何访问对象在向量中的位置?
- 更改.cpp程序的输入文件中数据的位置会意外更改输出
- 求最大元素位置的分治算法
- 你好。。。id_public变量不应该给出结果为 81 和 86 吗?为什么它为两个派生类占用不同的内存位置?
- 为什么我的点没有在 OpenGL 中绘制鼠标所在的位置?
- 用时钟测量程序的运行时间
- 如何将元素添加到向量的字符串位置
- 为什么根据测量位置测量经过的时间时会有很大的不同?
- 如何在CD或DVD上获得扇区的准确位置和角度(数据位置测量)