• <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ù)  更多評論   

            狠狠色噜噜狠狠狠狠狠色综合久久| 99久久精品这里只有精品| 热久久国产欧美一区二区精品| 91精品日韩人妻无码久久不卡 | 久久精品国产99久久丝袜| 久久精品国产亚洲7777| 中文字幕人妻色偷偷久久| 国产精品毛片久久久久久久| 久久这里有精品视频| 久久棈精品久久久久久噜噜| 久久97久久97精品免视看| 色婷婷久久综合中文久久蜜桃av| 18岁日韩内射颜射午夜久久成人| 蜜臀久久99精品久久久久久| 精品久久人妻av中文字幕| 久久久高清免费视频| 国产精品久久久久久久久久免费| 国产亚洲精品久久久久秋霞 | 亚洲一级Av无码毛片久久精品| 99精品国产在热久久| 久久人人爽人人爽人人片AV麻烦| 亚洲一区中文字幕久久| 成人久久免费网站| 漂亮人妻被中出中文字幕久久| 久久国产成人亚洲精品影院| 久久r热这里有精品视频| 69国产成人综合久久精品| 漂亮人妻被中出中文字幕久久| 色诱久久av| 亚洲中文字幕伊人久久无码| 久久国产精品一区| 久久精品国产99久久久香蕉| 91精品国产综合久久香蕉| 亚洲国产天堂久久综合网站 | 69久久精品无码一区二区| 久久精品中文无码资源站| 久久精品无码午夜福利理论片| 午夜精品久久久久久中宇| 少妇久久久久久久久久| 99久久久精品| AA级片免费看视频久久|