• <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>

            Codejie's C++ Space

            Using C++

            LAC : The secret of ld2


                這幾個晚上(周末除外)都在分解Lingoes-Extractor作者的另外一個工程的代碼, 同樣是用于分析LD2文件的,但僅僅一個java文件就搞定了,對于我這樣的JAVA初學者來說真是'太好了'...
                
                從第一次找到Extractor的代碼起,我就一直很懷疑這位作者要不跟Lingoes有點關系,要不就是一位真正的破解大師...因為Extractor太完美了...代碼不多,卻非常清晰地標記并分解出了LD2的各個段的數據,以及數據間的關系...我的懷疑來自其對ld2文件格式的認識,每一段,每一個字節的意義都非常地準確地標示出來,更神奇的是那些'無從追蹤'的魔數, 例如, 單詞索引間隔固定為10, 14字節的索引數據塊,等等...這些都是怎么推到出來的啊...

                我對自己的懷疑更偏向于后者,因為通過查看作者的其他代碼,其除了分解了ld2文件外,還包括其他多個詞典的數據文件...(感到震驚的同學們,自己去圍觀吧...另,多說一句,googlecode.com是個好地方...)

                我并不關心懷疑本身的答案, 因為我已經非常開心 --Extractor終讓我有機會窺視到Lingoes的ld2文件的秘密...

                貼段代碼, 以'獎勵'自己多夜的敲敲打打...(是我寫的Java代碼,表認真啊...)

                private static void getData(final int index) throws IOException {

                    RandomAccessFile file = new RandomAccessFile("output.data", "r");
                    final ByteBuffer buf = ByteBuffer.allocate((int) file.getChannel().size());
                    file.getChannel().read(buf);
                    buf.order(ByteOrder.LITTLE_ENDIAN);
                    int offset = 29;
                    final int idx[] = new int[6];//        
                    getIndex(buf, offset * 10, idx);

                    if(idx[5] != idx[1]) {
                        Output("self xml = " + getXml(buf, idx[1], idx[5] - idx[1]));
                    }
                    if(idx[3] == 0) {
                        Output("word = " + getWord(buf, idx[0], idx[4] - idx[0]));
                    }
                    else {
                        int ref = idx[3];
                        int offsetword = idx[0];
                        final int lenword = idx[4] - idx[0];
                        
                        while(ref -- > 0) {
                            offset = buf.getInt(lenInflatedWordsIndex + idx[0]);
                            getIndex(buf, offset * 10, idx);
                            Output("ref(" + offset + ") xml = " + getXml(buf, idx[1], idx[5] - idx[1]));
                            offsetword += 4;
                        }
                        Output("word = " + getWord(buf, offsetword, lenword));
                    }

                    file.close();
                }


                再整理幾天,要能琢磨個LAC2直接使用ld2的法子來的話,那就又可以進一大步了啊...

            posted on 2012-12-03 23:14 codejie 閱讀(2423) 評論(4)  編輯 收藏 引用 所屬分類: 輪子精神LingosHook

            評論

            # re: LAC : The secret of ld2 2012-12-04 15:00 augustheart

            反編譯一定程度上來說主要還是體力活吧。  回復  更多評論   

            # re: LAC : The secret of ld2[未登錄] 2012-12-04 21:54 codejie

            @augustheart
            這個我同意,但首先你得會反編譯...像我這樣不懂的,只能一個一個字節分解Data文件了...NND,這更是體力活...  回復  更多評論   

            # re: LAC : The secret of ld2[未登錄] 2014-02-09 09:24 Alex

            博主能不能寫一個LD2查詢的java庫啊。這樣大家就都可以用了  回復  更多評論   

            # re: LAC : The secret of ld2 2014-02-09 16:39 codejie

            @Alex
            實在對不起啊, 現在還真沒時間..如果你需要這個, 建議看看Extractor工程, 那段代碼很簡單的.  回復  更多評論   

            公告

            Using C++

            導航

            統計

            留言簿(73)

            隨筆分類(513)

            積分與排名

            最新評論

            閱讀排行榜

            評論排行榜

            久久久WWW免费人成精品| 丁香五月网久久综合| 久久国产精品视频| 无码人妻少妇久久中文字幕 | 久久精品中文字幕大胸| 久久综合久久综合亚洲| 热久久这里只有精品| 亚洲美日韩Av中文字幕无码久久久妻妇 | 久久午夜无码鲁丝片秋霞 | 亚洲精品NV久久久久久久久久| 超级碰碰碰碰97久久久久| 精品久久久无码人妻中文字幕豆芽| 色综合久久综精品| 无码伊人66久久大杳蕉网站谷歌 | 91久久九九无码成人网站| 久久综合视频网站| 精品乱码久久久久久久| 久久久国产99久久国产一| 97精品伊人久久久大香线蕉| 亚洲中文久久精品无码ww16 | 久久综合给合久久狠狠狠97色69| 狠狠人妻久久久久久综合蜜桃| 久久精品aⅴ无码中文字字幕重口 久久精品a亚洲国产v高清不卡 | 国产亚洲色婷婷久久99精品91| 婷婷国产天堂久久综合五月| 国产福利电影一区二区三区久久老子无码午夜伦不 | 亚洲国产香蕉人人爽成AV片久久| 久久精品国产精品亚洲精品| 久久国产亚洲精品无码| 人妻无码αv中文字幕久久琪琪布| 中文字幕亚洲综合久久| 久久午夜电影网| 亚洲一本综合久久| 国产成人久久久精品二区三区 | 国产成人精品久久亚洲| 亚洲欧美日韩精品久久| 国产成人香蕉久久久久| 成人国内精品久久久久影院VR| 青青草原1769久久免费播放| 久久国产乱子伦精品免费强| 亚洲午夜精品久久久久久人妖|