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


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

                我對(duì)自己的懷疑更偏向于后者,因?yàn)橥ㄟ^(guò)查看作者的其他代碼,其除了分解了ld2文件外,還包括其他多個(gè)詞典的數(shù)據(jù)文件...(感到震驚的同學(xué)們,自己去圍觀吧...另,多說(shuō)一句,googlecode.com是個(gè)好地方...)

                我并不關(guān)心懷疑本身的答案, 因?yàn)槲乙呀?jīng)非常開(kāi)心 --Extractor終讓我有機(jī)會(huì)窺視到Lingoes的ld2文件的秘密...

                貼段代碼, 以'獎(jiǎng)勵(lì)'自己多夜的敲敲打打...(是我寫(xiě)的Java代碼,表認(rèn)真啊...)

                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();
                }


                再整理幾天,要能琢磨個(gè)LAC2直接使用ld2的法子來(lái)的話(huà),那就又可以進(jìn)一大步了啊...

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

            評(píng)論

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

            反編譯一定程度上來(lái)說(shuō)主要還是體力活吧。  回復(fù)  更多評(píng)論   

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

            @augustheart
            這個(gè)我同意,但首先你得會(huì)反編譯...像我這樣不懂的,只能一個(gè)一個(gè)字節(jié)分解Data文件了...NND,這更是體力活...  回復(fù)  更多評(píng)論   

            # re: LAC : The secret of ld2[未登錄](méi) 2014-02-09 09:24 Alex

            博主能不能寫(xiě)一個(gè)LD2查詢(xún)的java庫(kù)啊。這樣大家就都可以用了  回復(fù)  更多評(píng)論   

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

            @Alex
            實(shí)在對(duì)不起啊, 現(xiàn)在還真沒(méi)時(shí)間..如果你需要這個(gè), 建議看看Extractor工程, 那段代碼很簡(jiǎn)單的.  回復(fù)  更多評(píng)論   

            公告

            Using C++

            導(dǎo)航

            統(tǒng)計(jì)

            留言簿(73)

            隨筆分類(lèi)(513)

            積分與排名

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            久久久久青草线蕉综合超碰| 久久A级毛片免费观看| 午夜精品久久影院蜜桃| 久久久久人妻一区精品| 精品熟女少妇AV免费久久| 久久99热国产这有精品| 人妻系列无码专区久久五月天| 亚洲国产精品18久久久久久| 久久国产高清字幕中文| 国产亚洲精品久久久久秋霞| 国产精品无码久久四虎| 久久综合亚洲欧美成人| 久久精品国产91久久麻豆自制 | 久久91这里精品国产2020| 亚洲日韩欧美一区久久久久我| 久久精品国产亚洲av水果派| 久久国产三级无码一区二区| 亚洲欧美成人综合久久久| 欧美成a人片免费看久久| 久久久国产精品网站| 久久午夜夜伦鲁鲁片免费无码影视| 久久国产精品一区二区| 波多野结衣中文字幕久久| 久久天天躁狠狠躁夜夜avapp| 中文字幕无码久久精品青草 | 蜜臀久久99精品久久久久久| 99久久精品国产免看国产一区| 热99RE久久精品这里都是精品免费 | 久久精品无码av| 精品久久久久久无码免费| 久久亚洲欧美日本精品| 97久久精品无码一区二区天美| 久久久噜噜噜久久中文福利| 久久永久免费人妻精品下载| 欧美丰满熟妇BBB久久久| 伊人久久大香线蕉精品不卡| 亚洲天堂久久久| 囯产精品久久久久久久久蜜桃 | 国产精品99久久久久久宅男小说| 国内精品久久久久国产盗摄| 精品久久人人做人人爽综合 |