泡泡堂吧 关注:115,161贴子:2,658,291

【直播】根目录下的秘密大公开!!

只看楼主收藏回复

So,@岆茎 同学今天问了游戏根目录下各种文件的意义,那么今天,就让偶把泡泡的文件核心解释一下下吧。
亲们勿插哦,另外,@威悉河畔de风 吧主,赏个精呗



1楼2012-01-21 19:56回复
    好,要开始了哦。。。。。。
    首先亲们鼠标右键点击泡泡堂的快捷方式

    再点击属性选项卡


    2楼2012-01-21 19:58
    回复
      在弹出的窗口中点击 打开文件位置(F)
      就可以来到游戏根目录,当然,由于安装位置的不同,游戏根目录的位置也会有所区别。。。
      


      3楼2012-01-21 20:00
      回复
        这里就是游戏根目录内景了。。。



        4楼2012-01-21 20:04
        回复
          首先来看HackShield文件夹
          HackShield 是 nProtect插件中的一部分
          nProtect键盘加密保护系统是一种针对个人用户信息安全的产品,它用来保护用户的信息不被黑客的键盘记录程序所获取。通过键盘加密技术即使用户的PC中有木马程序,黑客也无法正确读取输入的键盘信息,从而在一定程度上防止了互联网用户帐号被盗的情况。当用户连接到互联网时,键盘驱动程序会自动加载并执行,利用键盘驱动程序用户的键盘信息通过128位的算法进行加密。
          这款软件的主要内容就是自动检测键盘信息记录黑客程序,阻止黑客工具读取键盘信息,对于每一次键盘敲击实时的进行加密和解密(采用国际标准的RSA 128位算法)
          现在,双击打开 HackShield文件夹,另外nProtect插件的动态数据库我们稍后再说。


          5楼2012-01-21 20:14
          回复
            这里就是HackShield文件夹内景了。。。

            其中,我们需要注意 EHSvc.dll,这是一个集成数据库,相当重要

            刚才我们已经提到了,HackShield 是 nProtect插件中的一部分,它的主要功能就体现在EHSvc.dll中,方式是通过驱动来修改SSDT进行反调试。驱动文件是作为附加数据绑在EHSvc.dll文件尾部。动态型解出,加载完毕马上删除,大概只存在几秒钟就被删掉了。
            还记不记得这个图?
            这个就是用来标记调试状况的。
            接下来附上调试流程:
            #1:初始化 return value: 0
            #2:加载驱动 return value: 0 修改EHSvc.dll的#2函数让其不加载驱动,并且eax返回0
            #10:初步的自效验 return value: 0 修改EHSvc.dll的#10函数让其eax永远返回0.
            #14:内存效验. 9个参数
            依次校验
            属于Freestyle模块的函数的地址,估计是freestyle提供的回调函数。
            主程序freestyle.exe文件名的key=3ECh.(发现只要文件名前面为freestyle就可以通过)   主程序文件名Hash后的散列.用peid算法的识别插件显示使用的hash函数为HAVAL-128
            DWORD标志字段,每一位都有含义
            注册表中packver的键值
            一个标志字段.freestyle.exe传过来的值为2,加载驱动这个值要影响一系列的标志位.   Hackshield Ehsvc.dll的文件名(带路径)
            GetTickCount的地址
            GetSystemTime的地址
            在注册表HKCU下创建Software\\AhnLab\\HShield项.如过存在就打开.
            将Ehsvc.dll的路径信息写入默认的键值,将3032601h键值写入 packver
            然后查询log键的值这个log键关系到一个全局变量的值.
            用参数3当作标志,第9位是否置10,如果是则设置一系列全局变量----这里必为1
            根据全局变量,判断#1是否已经成功的调用过.
            判断是否传入了回调函数的地址
            判断是否传入了主程序文件名的Hash值
            检查当前运行主程序的文件名是否和原始的一样
            用参数3当作标志,第15位是否置1 ,如果是则设置一系列全局变量----这里必为0,不为0,将要启动一个新的线程.
            用参数3当作标志,第10位是否置1,如果是则设置一系列全局变量----这里必为0
            判断操作系统,如果是2000以上,操作系统版本全局变量=1
            END,DEBUG OVER
            通常呢,大家总感觉在开始的时候里面的绿条慢的和蜗牛一样。。。其实人家也不容易啦,执行那么多操作,大家多忍忍吧。。。另外,游戏在这个时候出错就是调试时出的问题,大家可以对照着调试步骤一点一点看哦。。。
            


            6楼2012-01-21 20:32
            回复
              至于文件夹里面,大部分文件都是为了配合EHSvc.dll来使用的,还有一些诸如含有 Update 字样的都是升级用的文件恩~~~~~~~~此处不再赘述。。。


              7楼2012-01-21 20:35
              回复
                接下来,我们看到 ndadata文件夹

                很明显的,这是一个源码开放区,现在双击打开它。


                8楼2012-01-21 20:39
                回复
                  这里就是ndadata文件夹内景了。。。

                  首先,我们来看文件夹的含义,ndadata的意思就是s-nda-data(盛大公司的数据?)么?NONONONONO,不要把盛大公司的开发人员当成只会圈钱的傻子(虽然从表面上看他们就是这样。。。),这个文件夹的意思是Non-Disclosure-Agreement-Data(保密数据),但实际上,是对外开放的恩。。。
                  不得不说,这个文件夹的体积大得惊人,但文件无非是以下3种:
                  .pak文件
                  .idd文件
                  .idx文件
                  .pak文件是pak Quake压缩包格式文件的缩写,一般用户无法打开。简单来说pak是一种少见的压缩文件格式;可以将多个文件压缩成一个文件,现在好多游戏的客户端(都采用这种特殊的压缩包格式,以利于游戏的开发。由于是针对于游戏的设计和使用而采用的文件结构,所以与一般的压缩文件格式有所不同,它的特点如下:
                  1.声音,地图,3D模型,材质贴图等文件是按着保留目录路径结构的方式压缩入.pak文件的。
                  2.压缩的时候可以令压缩也可以按照一定的压缩率压缩。
                  3.使用pak这种文件格式对于游戏的开发者和玩家都有著无以伦比的方便性和可塑性(或者说自定义性)。
                  4.对于程开发人员来说资源调用方便,易於管理
                  5.由于结构特殊,对初学者有屏蔽作用避免被乱改,对高手却很容易修改,比较方便;   6.所有模式都是利用这个特点做的;
                  7.pak包被游戏的引擎视为一个目录,能利用外置pak文件的形式进行升级而无需删除原有文件。利於增加效果包,新地图,改进界面,增加model等扩展内容;
                  8.修改还原便利,文件之间互不影响。
                  好了,至于这个,我们不多进行解读了,毕竟,作为玩家,我们不能把伦家的底子给抖出来对吧?
                  


                  11楼2012-01-21 20:57
                  回复
                    然后让我们值得关注的是什么咧??
                    YES!!.idd文件和.idx文件,看起来呢,好像是一些字幕文件,不过如果真的是的话那就大错特错鸟,其实,那些都是压缩加壳过的.dll文件(动态数据库)和.inf文件(配置文件脚本),游戏的内容都保存在里面哦。


                    14楼2012-01-21 21:07
                    回复
                      再来看看NMDATA文件夹,毕竟我要把这个坑填完。。。

                      双击打开吧。。。内景如下:

                      内容并不多哦,但也很重要的说。。。


                      19楼2012-01-21 21:20
                      回复
                        其实吧,这些个文件也不是特别重要,它们。。。。。。其实是游戏开始时放片头用的,就是先 盛大游戏 再 NEXON(乐线娱乐) 那2张画。。。。。。但你如果不看的话,你就没法玩游戏了。。。。。。


                        24楼2012-01-21 21:38
                        回复
                          算了累了不写了,剩下的明天再写,姐打雪球去,非把海盗船长刷出来不可。。。


                          26楼2012-01-21 21:43
                          回复
                            哇塞,精了也,吧主好人。。。


                            35楼2012-01-22 12:31
                            收起回复


                              IP属地:浙江36楼2012-01-22 12:48
                              回复