• <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ù)__歡迎移步我的獨(dú)立博客 codemaro.com 微博 kevinlynx

            DNF游戲聲音資源提取

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

                文件列表之后,就是具體的每個(gè)文件的內(nèi)容。開始我還在擔(dān)心npk會(huì)為每一個(gè)聲音文件
            加密。或者只保存聲音文件的具體數(shù)據(jù),而聲音文件文件頭則只保存一份(因?yàn)樗形募?br>文件頭很有可能全部是一樣的)。后來稍微搜索了下WAV的格式,只需要比對(duì)下npk中某一個(gè)
            文件內(nèi)容的頭部是否和WAV格式的頭部相同,就可以基本斷定其是否加密。
                結(jié)果是,npk對(duì)包內(nèi)的每一個(gè)WAV文件沒做加密。
                然后立即寫了個(gè)程序,根據(jù)文件列表中的偏移值和大小值,將每一個(gè)WAV單獨(dú)取出來,就
            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) 評(píng)論(2)  編輯 收藏 引用 所屬分類: 通用編程

            評(píng)論

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

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

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

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

            久久国产精品99精品国产987| 欧美色综合久久久久久 | 久久久久久九九99精品| 色8久久人人97超碰香蕉987| 亚洲中文久久精品无码ww16 | 久久播电影网| 99久久99久久精品国产片果冻 | 91精品国产91久久久久久蜜臀 | 51久久夜色精品国产| 97视频久久久| 久久青青草原国产精品免费| 性做久久久久久久久久久| 久久99热狠狠色精品一区| 久久丫忘忧草产品| 久久亚洲国产精品123区| 九九久久99综合一区二区| 亚洲精品无码久久久久去q | 一本久久a久久精品综合夜夜 | 99久久无码一区人妻a黑| 狠狠色丁香久久婷婷综合蜜芽五月| 大伊人青草狠狠久久| 新狼窝色AV性久久久久久| 婷婷久久综合| 久久午夜无码鲁丝片午夜精品| 精品999久久久久久中文字幕| 无码国内精品久久人妻蜜桃| 久久综合色之久久综合| 久久久久国色AV免费观看| 久久亚洲精品国产精品婷婷| 亚洲综合日韩久久成人AV| 日韩久久久久中文字幕人妻| 国产精品亚洲综合专区片高清久久久| 久久久亚洲欧洲日产国码二区| 无码任你躁久久久久久老妇App| 四虎亚洲国产成人久久精品| 久久久久国产精品三级网| 久久久久亚洲精品无码网址| 狠狠色综合网站久久久久久久| 99久久国产热无码精品免费久久久久| 99久久婷婷国产综合亚洲| avtt天堂网久久精品|