查看完整版本: [-- 【详细分析】DC游戏上海麻将 的隐藏文件破解分析过程 --]

【 浮游城 - Castle in the Sky | 开放邀请注册,PS|SS|WII|DC下载研究中心 】 -> 【 DC 窝棚 | DreamCast Wikiup 】 -> 【详细分析】DC游戏上海麻将 的隐藏文件破解分析过程 [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

glf999 2006-11-16 09:29

详细分析 DC游戏上海麻将 的隐藏文件破解分析过程

最近好几个朋友要我帮着看看 上海麻将 这个游戏

是R18 加密的光盘 游戏镜像编号是139 。

Gibson曾经讲过这个游戏的破解问题。

我在这里只是重点讲述一下分析的过程,相关破解的部分请您参看

Gibson的原著。




下面跟随我,再一次来分析一下这个解密的过程吧!!

(有些地方出现了思路和计算上的错误,不喜欢您可以直接看下面的结果)

引用


思路:

首先直接在镜像中找CD001信息 结果查到好几个

继续跟踪,在0x5837000处看见真正的iso索引信息

由此逆查,希望知道真正iso索引在哪个扇区


已知:

第一个 CD001是出现在LBA 16 处

真正的 CD001的位置是 0x5837000

求:

1.第一个 CD001 在CDI文件中的地址是哪?

2.CDI文件中的0x5837000 是光盘上的哪个扇区?

解答:

1. 第一个 CD001 可以直接搜索到,是在CDI文件的 0x53000处

(实际应改是0x53001为了方便,把前一字节也计算上,以下都是这么计算)

分析:

第二个CD001 应该是在17 扇区出现 所以由此可以推算出

俩个扇区的间隔 是多少

结论:

第二个 CD001 出现在0x23800

也就是 扇区间的间隔大小

0x53800 - 0x53000 = 800 ---〉2048 字节

第三个 CD001 出现在0x54000

0x54000 - 0x53800 = 800 ---〉2048 字节

扇区间隔是 2048 字节

再分析:

当前已知:扇区间隔 ,A点实际位置 A点的扇区号 B点的实际位置

求:B点的扇区号

解 方法1:

B点位置减去A点位置等于中间的距离
5837000-53000=57E400
换成扇区数
57E400/2048=2B8F ---〉11151 (十进制)

11151+16=11167 这里大概就是 实际的iso索引的位置

实际呢不是 我算错了 抱歉数学不好哦
-------------------------------------------------------

我还没放弃哦 还在继续努力中

--------------------------------------------------------
53000- (2048*16)= ??
-
2C630
=
269D0 大概是0扇区的位置我去看看271D0 还不是

!!!这TM是什么和什么啊 2048 不是正确扇区间隔吗??

看来我很小白吧 !! 哈哈哈哈哈 我认了哦



******************** 真正的分析结果在这下面 **********************



也许是思路错误了,换个方法来看 :

就是用ISO存储标准来推算实际iso索引的位置。

经过认真的仔细的分析后,终于有结果了哦。

[attachment=44333]

看图img0000这个是真正的iso索引中0GD文件的相关

信息,这个不是重点。

[attachment=44334]
接茬往下看 img0001 看见没? 我标出的地方就是

这里相当的重要哦。00 00 AF DE 换算成十进制后

是 45022 眼熟吧 这个镜像是在45000那里隐藏的

真正的iso索引。


您也许要问 为啥这个是 45022呢 这个是iso编写

标准所规定的:iso索引要在 起始扇区后的第17扇区

开始写入的,前面的十六个扇区(LBA 00 ~ 15)是有

其他用途的。DC 游戏光盘(包括直读D盘和原版Z盘)

就是在这里写引导信息 IP.BIN 的。还有 SS 的光盘

也是在这里写特殊内容的,PS光盘好像也有类似的内容

不过我没有分析过。再加上保留的几个扇区,出现在这

里也不为过。


再说了DC的启动原理的那个特点,也会从这里读取文件内容。

这些刚好被D商那来加密游戏光盘了真是的啊!可气啊!!!


算了! 就不跟他们计较了 还有正事没说完呢!

[attachment=44335]
打开isobuster加载这个镜像文件,直接查看45022这个扇区,

看见什么没有??

[attachment=44336]
没看见就看我这个图吧 img0003 这个就是刚才在 img0000 和

img0001 中一模一样的内容。


为了稳妥起见,再来验证一下45016这里看见没这个就是真正

的iso索引的起始位置剩下破解工作就是..................

.............(具体参看Gibson的原著,我就不在这复述了)


2006-11-15
GLF999



PS:这个文件 OP.SFD 刚好在33982~65628出现,而恰好包含45000

这段内容,两端都有数据 中间在45000这里有iso索引信息,所以

这个文件有可能是做过手脚的文件,一是在SFD后面加的虚假信息,

再就是这个文件也许没有,用只是检验文件用的所以要注意这!!


PS2:看我说的很瞎人,其实没什么大不了的。这个游戏是引导版的,

这要是出现在直读镜像上面就要小心了,说不定哪个地方就是陷阱呢。




下面附上这个游戏镜像相关的文件:

FileList.txt 是原始镜像中文件的排列信息。

SORT.TXT 这个游戏是的文件是经过排列整理的,

所以我附上了这个排序文件。

iso-index.bin 是 我复制出来的iso索引信息 ,

您直接粘贴到 0x53000 就可以显示所有文件了。

IP.BIN 文件是修改过的文件,原始镜像里面带的文件

不是直读的,这个文件是使用 BIN2BOOT hack过的,我

已经制作成直读镜像并用模拟器成功运行了。

IP0.BIN 是原始镜像中的ip文件,您可以用来和我提供

那个文件比较一下那里不同。

另外压缩包中还有我用模拟器截的图,您可以看看。

隐藏的内容将会在 2006-11-20 解除

glf999 2006-11-16 09:32
附带提一下 这个游戏的直读镜像我也做好了

有需要的话 我会考虑上传的

镜像有 433MB 文件很大 我只能保留2天

到时候没有消息我就删除了

YZB 2006-11-16 10:00
很复杂的样子啊,慢慢消化啦~

幸亏DC上此类游戏不多,目前我只发现3.4个~

HHY 2006-11-16 12:02
我肯定要学!顶了再说...

g兄辛苦了...多谢!

dask 2006-11-16 13:11
很想学,PS2上FFX一直没办法得到所有文件

a3sai 2006-11-16 13:27
感谢999大大 我看不明白的说 我可能不是和吧

sniperhgy 2006-11-16 13:32
支持glf999大哥,顺便期待新的汉化教程

glf999 2006-11-16 14:27
那您就汉化这个麻将吧 全是 PVR 之类的图

YZB 2006-11-16 14:54
引用
引用第7楼glf9992006-11-16 14:27发表的“”:
那您就汉化这个麻将吧 全是 PVR 之类的图



人家是叫你写个教程呢~

第2篇的入门篇就拜托您啦~
^-^

glf999 2006-11-17 10:07
我还跟您学习中呢 哪有写教程的资本啊


还是您来吧

lusiwen 2006-11-17 21:53
我开始学C语言了,不知道有没有帮助呢

888208 2006-11-18 00:06
隐藏的内容将会在 2006-11-20 解除

HHY 2006-11-18 00:25
已经完全搞定了! 多谢999兄分享

原来问题所在是我的镜像格式

怪不得原来改了内容载入镜像就无法读取... 原来是之前的引导文件已经不能识别改过的镜像了...

所以应该加上一点...此法只适用于cdi格式的DC游戏!!

qxqianxu 2006-11-18 11:18
感觉好复杂!慢慢学习!!!

31980889 2006-12-28 23:45
今天才下载的看看怎么弄


查看完整版本: [-- 【详细分析】DC游戏上海麻将 的隐藏文件破解分析过程 --] [-- top --]


Powered by PHPWind Code © 2003-08 PHPWind
Gzip enabled

You can contact us