Vb也疯狂 -- 破解《南侠展昭痞子龙》图像

晚上在家,心情不好,懒得写东西,就胡乱翻出抽屉里一张光盘《南侠展昭痞子龙》,游戏龙公司出品,绝对垃圾。一时为我枉花了五元钱于其上而懊悔不止,总得有些利用价值吧!刚好我最近需要些图像资源,我们就去破解它吧!

 

先总结一下以前破解成功和失败的经验。

一般程序人员为了方便,图像数据是不加密的。加密的数据我从没破解出来。

一般处于效果和资源节省考虑,游戏所采用的颜色数和图像数据的颜色数总是相同的。

一般图像资源的文件名和内容是有联系的。即使打包,他们也会利用文件名表或有明显标示的指针表以便于调试。

一般程序人员是不会想到我们会采用删除、修改、替换等极限方式来寻找他们的数据规律的。

 

然后就是这些经验得出的结论。

不必担心过于复杂的算法,目前最复杂地不过是rle

只要检查一下游戏所采用的颜色数,我们可以少走很多弯路。

用直觉和文件的字义去猜文件作用绝对是明智的做法。

你可以随意删除、修改、替换游戏中的文件来寻找数据规律。

 

呵呵,都是废话。

接下来是vb破解全过程,成功破解所有ava文件。

第一步,找出图像文件。这一步完全是废话,因为这个游戏不像盟军敢死队和铁血联盟那样将图像打包,无需拆包(顺便提一下,这两个游戏我都将其完全拆包,但只将铁血联盟的loading界面破了几十个出来,傲视三国的声音好像是打包的,也完全拆开了)。而且其文件名起的可谓非常友好,还全部集中在image目录中。我就直接找出了一个软柿子,连验证都没有验证一下(此处建议初学者不要像我这样,应使用删除、修改、替换大法来检查判断的正确性)。我选择了 image/other/cursor.ava  一看就是光标啦,就是游戏中用来定位的小手。

   第二步,截下欲破解图像,就是抓图,把有小手的图像抓一幅下来,光圈选一个小手。

得到如下信息:游戏使用的颜色数16bit 小手尺寸 30*31,那就假定图像文件使用16bit,那样我们就是以一个双字节为单位处理,方便了许多。截图软件使用方法此处不再赘述。

   第三步,分析文件,用16bit编辑器打开图像文件cursor.ava.,得到以下信息。文件长度:8470 ??????? 奇怪 30*31*2=1860 ,存小手只要1860个字节,怎么会这么多呢,恩,一定是多个光标放在一起了(猜测)

   (在下面的处理之前,我用了一个非常变态的方法,将整个文件的数据以宽度为30,每两个字节为一个16BIT颜色绘图,发现最上边的颜色和部分细节很像小手,下面还有其他光标,但是错落的,就断定,多个光标存放在一起,小手是第一个,而且使用了压缩,这个代码很简单,就是以INT为单位逐个读出文件数据,绘点,如果你懂后面的程序,这个就完全没必要了)

这就是文件的前两行.

06 00 00 00 1C 00 00 00 3A 06 00 00 56 0C 00 00

6A 11 00 00 B6 16 00 00 F8 1A 00 00 1D 00 1E 00

发现如下规律 位置1C 1E处的值 刚好是 1D = 30 1E=31,和小手的尺寸一样. 位置 1D 之前有7LONG型整数,第一个是6,后面6个递增.其中有一个似乎指示着位置1C,而且最大的 1AF8 =6904 也没超过文件长度.

我们有理由相信,文件的第一个LONG值表示存放了几幅图片,后边跟着的LONG值表示每幅图片信息在文件中的位置.这个就叫做文件头了,如果你是第一次干这种事的话,建议你利用这个文件头把它拆成六个文件,我是不这样做的,因为我经常干这种事.

第四步,分析图像数据

我们的图像数据就在从1C----639(16)这个范围内(3A 06 文件中是高位在后,就是63A,它的前一个字节就是小手图像的结束639)61D个字节,当然你要是把它拆开了,就是从零开始.

看我们的截图,小手的第一行是两个透明点,然后是三个一样的颜色A4F,第二行是一个透明点,然后五个颜色 A4F FDEC FC81 FC81 A4F有时不太容易提取这个值,那就自己写程序吧,如果用画笔,可以查RGB然后换算. 16位颜色=(R/8) * 64*32 +(G/4)*32 +(B/8)   (VB表达式,适用于16BIT 565模式) .

第二行 6A 11 00 00 B6 16 00 00 F8 1A 00 00 1D 00 1E 00

第三行 00 00 00 00 09 03 00 00 01 00 02 00 02 00 03 00

第四行 4F 0A 4F 0A 4F 0A 01 00 18 00 03 00 01 00 01 00

第五行 02 00 05 00 4F 0A EC FD 81 FC 81 FC 4F 0A 01 00

发现第四行第1/2/3个双字节和小手第一行内容相符.

第五行第 3/4/5/6/7个双子节和小手第二行内容相符.

其他字符明显不是小手中的颜色,属于控制字符.规则如下

01 00 +双字 表示连续的透明点的数量.

02 00 +双字 表示尾随几个颜色

03 00 表示换行.

(看上去好简单,其实我也着实费了些功夫)

后面又进行了研究发现第三行第1/2个双子和那个09 03 的作用:

第一二个双子是表示小手的指针位置(小手的左上角是指针),在其他图像中的作用不明.

09 03 是从第三行第五个双字开始的双字数量,可以做CRC验证和计算压缩率.

压缩率=309/(1D*1E)=89.3%

第五部,写程序导出,见例子

我的主要目的是给大家介绍一下破解游戏图像的一般方法,例子程序纯属例子,毛糙之处请勿见怪.

 

 

例子请登陆http://lights.833200.com 下载

相关推荐
<p> <b><span style="background-color:#FFE500;">【超实用课程内容】</span></b> </p> <p> <br /> </p> <p> <br /> </p> <p> 本课程内容包含讲解<span>解读Nginx的基础知识,</span><span>解读Nginx的核心知识、带领学员进行</span>高并发环境下的Nginx性能优化实战,让学生能够快速将所学融合到企业应用中。 </p> <p> <br /> </p> <p style="font-family:Helvetica;color:#3A4151;font-size:14px;background-color:#FFFFFF;"> <b><br /> </b> </p> <p style="font-family:Helvetica;color:#3A4151;font-size:14px;background-color:#FFFFFF;"> <b><span style="background-color:#FFE500;">【课程如何观看?】</span></b> </p> <p style="font-family:Helvetica;color:#3A4151;font-size:14px;background-color:#FFFFFF;"> PC端:<a href="https://edu.csdn.net/course/detail/26277"><span id="__kindeditor_bookmark_start_21__"></span></a><a href="https://edu.csdn.net/course/detail/27216">https://edu.csdn.net/course/detail/27216</a> </p> <p style="font-family:Helvetica;color:#3A4151;font-size:14px;background-color:#FFFFFF;"> 移动端:CSDN 学院APP(注意不是CSDN APP哦) </p> <p style="font-family:Helvetica;color:#3A4151;font-size:14px;background-color:#FFFFFF;"> 本课程为录播课,课程永久有效观看时长,大家可以抓紧时间学习后一起讨论哦~ </p> <p style="font-family:"color:#3A4151;font-size:14px;background-color:#FFFFFF;"> <br /> </p> <p class="ql-long-24357476" style="font-family:"color:#3A4151;font-size:14px;background-color:#FFFFFF;"> <strong><span style="background-color:#FFE500;">【学员专享增值服务】</span></strong> </p> <p class="ql-long-24357476" style="font-family:"color:#3A4151;font-size:14px;background-color:#FFFFFF;"> <b>源码开放</b> </p> <p class="ql-long-24357476" style="font-family:"color:#3A4151;font-size:14px;background-color:#FFFFFF;"> 课件、课程案例代码完全开放给你,你可以根据所学知识,自行修改、优化 </p> <p class="ql-long-24357476" style="font-family:"color:#3A4151;font-size:14px;background-color:#FFFFFF;"> 下载方式:电脑登录<a href="https://edu.csdn.net/course/detail/26277"></a><a href="https://edu.csdn.net/course/detail/27216">https://edu.csdn.net/course/detail/27216</a>,播放页面右侧点击课件进行资料打包下载 </p> <p> <br /> </p> <p> <br /> </p> <p> <br /> </p>
<div style="color:rgba(0,0,0,.75);"> <span style="color:#4d4d4d;"> </span> <div style="color:rgba(0,0,0,.75);"> <span style="color:#4d4d4d;"> </span> <div style="color:rgba(0,0,0,.75);"> <div style="color:rgba(0,0,0,.75);"> <span style="color:#4d4d4d;">当前课程中商城项目的实战源码是我发布在 GitHub 上的开源项目 newbee-mall (新蜂商城),目前已有 6300 多个 star,</span><span style="color:#4d4d4d;">本课程是一个 Spring Boot 技术栈的实战类课程,课程共分为 3 大部分,前面两个部分为基础环境准备和相关概念介绍,第三个部分是 Spring Boot 商城项目功能的讲解,让大家实际操作并实践上手一个大型的线上商城项目,并学习到一定的开发经验以及其中的开发技巧。<br /> 商城项目所涉及的功能结构图整理如下:<br /> </span> </div> <div style="color:rgba(0,0,0,.75);">   </div> <div style="color:rgba(0,0,0,.75);"> <p style="color:#4d4d4d;"> <img alt="modules" src="https://imgconvert.csdnimg.cn/aHR0cHM6Ly9uZXdiZWUtbWFsbC5vc3MtY24tYmVpamluZy5hbGl5dW5jcy5jb20vcG9zdGVyL3N0b3JlL25ld2JlZS1tYWxsLXMucG5n?x-oss-process=image/format,png" /> </p> </div> <p style="color:rgba(0,0,0,.75);"> <strong><span style="color:#e53333;">课程特色</span></strong> </p> <p style="color:rgba(0,0,0,.75);">   </p> <div style="color:rgba(0,0,0,.75);">   </div> <div style="color:rgba(0,0,0,.75);"> <ul> <li> 对新手开发者十分友好,无需复杂的操作步骤,仅需 2 秒就可以启动这个完整的商城项目 </li> <li> 最终的实战项目是一个企业级别的 Spring Boot 大型项目,对于各个阶段的 Java 开发者都是极佳的选择 </li> <li> 实践项目页面美观且实用,交互效果完美 </li> <li> 教程详细开发教程详细完整、文档资源齐全 </li> <li> 代码+讲解+演示网站全方位保证,向 Hello World 教程说拜拜 </li> <li> 技术栈新颖且知识点丰富,学习后可以提升大家对于知识的理解和掌握,可以进一步提升你的市场竞争力 </li> </ul> </div> <p style="color:rgba(0,0,0,.75);">   </p> <p style="color:rgba(0,0,0,.75);"> <span style="color:#e53333;">课程预览</span> </p> <p style="color:rgba(0,0,0,.75);">   </p> <div style="color:rgba(0,0,0,.75);">   </div> <div style="color:rgba(0,0,0,.75);"> <p style="color:#4d4d4d;"> 以下为商城项目的页面和功能展示,分别为: </p> </div> <div style="color:rgba(0,0,0,.75);"> <ul> <li> 商城首页 1<br /> <img alt="" src="https://img-bss.csdnimg.cn/202103050347585499.gif" /> </li> <li> 商城首页 2<br /> <img alt="" src="https://img-bss.csdn.net/202005181054413605.png" /> </li> <li>   </li> <li> 购物车<br /> <img alt="cart" src="https://imgconvert.csdnimg.cn/aHR0cHM6Ly9uZXdiZWUtbWFsbC5vc3MtY24tYmVpamluZy5hbGl5dW5jcy5jb20vcG9zdGVyL3Byb2R1Y3QvY2FydC5wbmc?x-oss-process=image/format,png" /> </li> <li> 订单结算<br /> <img alt="settle" src="https://imgconvert.csdnimg.cn/aHR0cHM6Ly9uZXdiZWUtbWFsbC5vc3MtY24tYmVpamluZy5hbGl5dW5jcy5jb20vcG9zdGVyL3Byb2R1Y3Qvc2V0dGxlLnBuZw?x-oss-process=image/format,png" /> </li> <li> 订单列表<br /> <img alt="orders" src="https://imgconvert.csdnimg.cn/aHR0cHM6Ly9uZXdiZWUtbWFsbC5vc3MtY24tYmVpamluZy5hbGl5dW5jcy5jb20vcG9zdGVyL3Byb2R1Y3Qvb3JkZXJzLnBuZw?x-oss-process=image/format,png" /> </li> <li> 支付页面<br /> <img alt="" src="https://img-bss.csdn.net/201909280301493716.jpg" /> </li> <li> 后台管理系统登录页<br /> <img alt="login" src="https://imgconvert.csdnimg.cn/aHR0cHM6Ly9uZXdiZWUtbWFsbC5vc3MtY24tYmVpamluZy5hbGl5dW5jcy5jb20vcG9zdGVyL3Byb2R1Y3QvbWFuYWdlLWxvZ2luLnBuZw?x-oss-process=image/format,png" /> </li> <li> 商品管理<br /> <img alt="goods" src="https://imgconvert.csdnimg.cn/aHR0cHM6Ly9uZXdiZWUtbWFsbC5vc3MtY24tYmVpamluZy5hbGl5dW5jcy5jb20vcG9zdGVyL3Byb2R1Y3QvbWFuYWdlLWdvb2RzLnBuZw?x-oss-process=image/format,png" /> </li> <li> 商品编辑<br /> <img alt="" src="https://img-bss.csdnimg.cn/202103050348242799.png" /> </li> </ul> </div> </div> </div> </div>
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页