【DNR教程】《LBA保护的修复(二) LBA保护文件中LBA信息的分析与
本帖最后由 lgzylp 于 2010-12-26 19:39 编辑前一讲,介绍了如何找到 LBA保护文件,参见【DNR教程】《LBA保护的修复(一) LBA保护文件的确定》
这一讲,将介绍如何分析LBA保护文件中的LBA信息,以及如何导出这些信息。
我们用winhex来打开上次找到的HEADER.BIN。
开始2个字节9C 0C 表示被保护的文件的个数。倒过来,0x0C9C=3228,这3228个文件是受保护的,
也就是说,你rip完了之后,这3228个文件的 首地址(LBA) 和 大小(Size),都必须与HEADER.BIN里面保存的 LBA和Size相一致。
我已经用红,黄,绿,蓝,紫 五种颜色标注出来了(只标注了5个文件,其它可以同理)。经过验证发现,
每种颜色代表一个文件的信息,每种颜色又分5小块,每块4个字节,其中 第三块和第四块(已框),是我们需要的信息,
其他1,2,5三个部分是文件名的位置,文件标识符等,与修复无关,我们不感兴趣。
原理明白了,开始编程
通过以上的程序,LBA和Size就被导出来了,导出后的文件如下图
LBA.TXT每一行有三个部分组成。
LBA|Size|FILEXXXXXX
好了,到这里,第二讲已经讲完了。
补充一下完整的思路:
(1)导出HEADER.BIN里面保存的 3228个 LBA 和 Size到一个文本文件 LBA.TXT(已完成!)
(2)导出原版ISO里面所有文件的 LBA 和 Size 到一个文本文件 oldISO.TXT
(3)导出rip后的iso里面所有文件的 LBA 和 Size 到一个文本文件 newISO.TXT
(4)通过比较 LBA.TXT 和 oldISO.TXT 得到 受保护的文件的名字
(5)到newISO.TXT查找 受保护的文件的名字,并获取他们新的 LBA 和 新Size
(6)用新的LBA和新Size替换LBA.TXT里的 旧LBA和 旧Size,另存为LBA.NEW
(7)把LBA.NEW写回 HEADER.BIN
(8)利用VCDROMX把新HEADER.BIN写入rip后的iso,替换旧HEADER.BIN
以上就是整个LBA修复的过程
当然,如果人工一步步去做的话,太恐怖了。必然有捷径。
其中(2)---(6)步将在下一讲 【DNR教程】《LBA保护的修复(三) LBA的比较与更新》
(7)--(8)步 将在第四讲 【DNR教程】《LBA保护的修复(四) 新LBA的回写与新LBA保护文件的注入》
================================================================================
本系列一共四讲
【DNR教程】《LBA保护的修复(一) LBA保护文件的确定》
【DNR教程】《LBA保护的修复(二) LBA保护文件中LBA信息的分析与导出》
【DNR教程】《LBA保护的修复(三) LBA的比较与更新》
【DNR教程】《LBA保护的修复(四) 新LBA的回写与新LBA保护文件的注入》 强大,每帖必顶! 编程高手 牛X教程系列贴 技术贴二支持 教程好!!学习中 有些复杂,研究中。 完全弄不懂啊.... a a a a aa a a a 看不懂啊 看不懂啊~~~~~~~~~~~~~ 内存地址查找与替换工具?
貌似以前玩奇迹sf 用外挂替换端口时用过。。。。
都忘记怎么用了 哈哈
页:
[1]