212017
 

忙了一年项目,好久没更新博客了

仙剑6的DLC幻字灰色补丁上次被误删了,趁这次机会把原理写下来

补丁原理就是librivet.dll里面有个导出函数Rivet_DlcVerification,DLC进不去、幻字灰色都是因为这个函数返回0导致的,解决办法很简单,把函数入口代码改成:
mov eax, 1
retn

点击下载成品

  发表在 下午 7:43
182013
 

仙剑5前传发售已有一段时间了,该做的工具差不多都做了,因为这学期课程较松的缘故,平时我有较多的自由支配时间,除去考研复习,最近也研究了一下仙剑4音乐SMP的解密,贴上来就当是学习笔记给大家分享了。另外,SMP解密工具网上已经有很多了,所以只想要解密音乐的同学去其他网站上下载别人做的现呈工具吧,这里目的主要是分析一下SMP文件解密原理。

进入正题,用WinHEX查看smp文件,发现文件头标识RST与CPK文件的一致,往下看几乎没有明文,果断上OD。老规矩用CreateFileW断点,在游戏程序创建p01-1.smp文件句柄时断下

返回程序领空到790C8F处,F8单步一路跟下去,790CD8-790CEE这段读取了文件头,并验证文件标识是否为0x1A545352(即RST):

00790CD5  |> 8D5E 08       lea     ebx, dword ptr [esi+8]
00790CD8  |.  68 80000000   push    80
00790CDD  |.  53            push    ebx
00790CDE  |.  50            push    eax
00790CDF  |.  E8 FC090000   call    <ReadFile>
00790CE4  |.  8B03          mov     eax, dword ptr [ebx]
00790CE6  |.  83C4 0C       add     esp, 0C
00790CE9  |.  3D 5253541A   cmp     eax, 1A545352
00790CEE  |.  74 38         je      short 00790D28

继续阅读 »

  发表在 下午 6:38
172011
 

【简介】《三国战魂OL》是由北京软星(即《仙剑奇侠传五》开发商)制作的一款角色扮演的网游,其资源封包后缀为PKG,本工具提供了PKG封包格式的解包功能

【下载】点击下载

【截图】

【源代码】

本来想写一篇分析的,但由于我的硬盘空间不足,游戏已经删了,当时也没怎么记录,所以很抱歉无法提供一份具体分析
封包结构大致如下:封包内文件部分文件经过Zlib压缩(贴图之类的),部分未压缩(MP3音乐等),封包尾部为索引信息,一共两部分:索引MD5效验值和文件索引信息,两者均经过异或加密。

172011
 


这是我的第一篇关于逆向的文章,若有错误,欢迎指正!


在《云之遥》中,部分地图是无法存档的,本文便介绍如何用OD对云之遥程序进行调试并找到相应地方实现随时存档

首先,OD附加入云之遥主程序,F9让他先跑起来(若线程Suspend则Resume即可)

然后返回程序领空,右键查找参考字串,有如下这样一行:

0041B1DA    68 F8C27900     PUSH SwdCF.0079C2F8  ; ASCII “%s%cS%02d.sav”

这不就是存档路径吗?往上看,我们在0041B168下一个断点,单击“储存”,OD就会断下来,F8下去,会看到函数会返回到004FE286,继续在004FE1C0下一个断点,F9运行,然后再单击“储存”,断下来后,观察堆栈,有如下两条:

0012FBCC   004FC0DC  返回到 SwdCF.004FC0DC 来自 SwdCF.004FE1C0

0012FBD8   004FFDAD  返回到 SwdCF.004FFDAD 来自 SwdCF.004FC0A0

到004FFDAD去看下,往上在004FFB34下一个断点,再次单击“储存”可以被断下,根据刚才记录,可以看到存档CALL的地址在004FFDA8:

继续阅读 »