• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            loop_in_codes

            低調(diào)做技術(shù)__歡迎移步我的獨立博客 codemaro.com 微博 kevinlynx

            DNF游戲聲音資源提取

                上午公司斷網(wǎng),晚上失眠頭痛沒精神,于是隨便打開了DNF游戲目錄下的資源文件。以
            前一直對提取游戲資源存在好奇,需要對一些關(guān)鍵字節(jié)猜測其加密方式。
                DNF游戲目錄下soundpacks下的npk文件看起來似乎比較簡單,這里直接給出文件格式,
            懶得寫分析思路了。
                文件開頭的十六個字節(jié)是一個固定字符串:NeoplePack_Bill\0。
                接下來四個字節(jié)表示本npk文件里打包了多少個WAV文件。npk文件是一個包含了很多聲
            音或者圖片的打包文件。類似這種打包文件,一般文件頭都會保存一個文件列表。而這個列
            表里又會附加上偏移量和大小等信息。
                接下來的數(shù)據(jù)就是這里所說的列表。每一個列表項包含三個數(shù)據(jù)域:偏移、大小、文件
            名。如下示意:

                NeoplPack_Bill\0 (16 bytes)
                file_count( 4 bytes)
                item1:offset(4 bytes), size(4 bytes)
                item2:offset(4 bytes), size(4 bytes)
                ...
                itemn:offset(4 bytes), size(4 bytes)
                ...

                文件列表之后,就是具體的每個文件的內(nèi)容。開始我還在擔(dān)心npk會為每一個聲音文件
            加密。或者只保存聲音文件的具體數(shù)據(jù),而聲音文件文件頭則只保存一份(因為所有文件的
            文件頭很有可能全部是一樣的)。后來稍微搜索了下WAV的格式,只需要比對下npk中某一個
            文件內(nèi)容的頭部是否和WAV格式的頭部相同,就可以基本斷定其是否加密。
                結(jié)果是,npk對包內(nèi)的每一個WAV文件沒做加密。
                然后立即寫了個程序,根據(jù)文件列表中的偏移值和大小值,將每一個WAV單獨取出來,就
            OK了。
                完整的格式為:

                NeoplPack_Bill\0 (16 bytes)
                file_count( 4 bytes)
                item1:offset(4 bytes), size(4 bytes)
                item2:offset(4 bytes), size(4 bytes)
                ...
                itemn:offset(4 bytes), size(4 bytes)
                file1
                file2
                ...
                filen

                我想圖片資源也應(yīng)該差不多,不過圖片資源肯定要復(fù)雜些。下午公司網(wǎng)絡(luò)好了,網(wǎng)上搜
            索了下,發(fā)現(xiàn)居然已經(jīng)有了DNF資源提取工具了,唉。

                提供下源代碼和MingW編譯好的可執(zhí)行文件,另聲明:本文及相關(guān)工具代碼只作學(xué)習(xí)研究
            用,任何后果與作者無關(guān)。

            posted on 2009-05-12 22:50 Kevin Lynx 閱讀(5335) 評論(2)  編輯 收藏 引用 所屬分類: 通用編程

            評論

            # re: DNF游戲聲音資源提取[未登錄] 2009-05-13 09:08 dophi

            - -! wow, a cracker..
              回復(fù)  更多評論   

            # re: DNF游戲聲音資源提取 2009-05-13 14:12 0668

            不錯哦,要是有分析過程就更好了  回復(fù)  更多評論   

            国产国产成人精品久久| 久久久久久噜噜精品免费直播| 无码国内精品久久综合88| 伊人久久大香线焦AV综合影院| 久久久久亚洲AV无码永不| 国产精品免费久久| 无码人妻久久久一区二区三区 | 久久99精品国产一区二区三区| 久久er国产精品免费观看8| 欧美大香线蕉线伊人久久| 久久精品亚洲乱码伦伦中文| 99久久久精品| 久久精品国产亚洲AV香蕉| 热99RE久久精品这里都是精品免费| 久久96国产精品久久久| 欧美黑人激情性久久| 少妇无套内谢久久久久| 人人狠狠综合久久亚洲高清| 久久精品成人国产午夜| 国产精品99精品久久免费| 亚洲欧美日韩久久精品第一区| 一本色综合久久| 久久久久免费视频| 久久亚洲国产精品123区| 国产精品嫩草影院久久| 色综合合久久天天综合绕视看| 97久久久久人妻精品专区| 欧美精品久久久久久久自慰| 人妻无码αv中文字幕久久琪琪布| 77777亚洲午夜久久多喷| 伊人热热久久原色播放www| 日本国产精品久久| 日韩人妻无码一区二区三区久久99| 欧美久久一级内射wwwwww.| 久久综合九色综合久99| 亚洲欧美一区二区三区久久| yy6080久久| 成人久久久观看免费毛片| 成人妇女免费播放久久久| 热99re久久国超精品首页| 久久久91人妻无码精品蜜桃HD|