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

            LingosHook:近況--猶如解密一般


                啥也不說,先看看一段來自LingosHook的代碼先~

            int CHtmlDictParser::HtmlDataType1Proc(const std::wstring &html, const std::wstring &dictid, const TinyHtmlParser::CDocumentObject &doc, const TinyHtmlParser::CElementObject *dict, const TinyHtmlParser::CElementObject *pdiv, const HtmlDictParser::TDictResult &res, TResultMap &result) const
            {
                
            const TinyHtmlParser::CElementObject *= pdiv->child;
                
            if(p == NULL)
                    
            return -1;
                p 
            = p->child;

                
            while(p != NULL)
                
            {
                    
            if(p->child == NULL || p->child->child == NULL || p->child->child->sibling == NULL
                        
            || p->child->child->sibling->child == NULL || p->child->child->sibling->child->child == NULL
                        
            || p->child->child->sibling->child->child->child == NULL)
                        
            return 0;
                    std::wstring word 
            = p->child->child->sibling->child->child->child->value;
                    
            if(PushResult(word, res, result) != 0)
                        
            return -1;

                    
            if(p->sibling == NULL || p->sibling->sibling == NULL)
                        
            break;
                    p 
            = p->sibling->sibling;
                }

                
            return 0;
            }

               此函數用于分解出下面HTML數據中的單詞,只是其中那段if語句是否讓你感到眼暈?

             <id="dict_body_7AB175CC5F622A44A0DECE976AF22A16">
                      
            <div id="dict_gls_7AB175CC5F622A44A0DECE976AF22A16">
                        
            <div style="MARGIN: 5px 0px">
                          
            <div style="WIDTH: 100%">
                            
            <div style="FLOAT: left; LINE-HEIGHT: normal">
                              
            <img height="11" src=
                              "file:///C:/Program%20Files/Lingoes/Translator2.7/dict/image/entry_p.png"

                              width
            ="10" align="absmiddle" border="0">
                            
            </div>
                            
            <div style="OVERFLOW-X: hidden; WIDTH: 100%">
                              
            <div style=
                              "MARGIN: 0px 0px 5px; COLOR: #808080; LINE-HEIGHT: normal"
            >
                                
            <span style=
                                "FONT-SIZE: 10.5pt; COLOR: #000000; LINE-HEIGHT: normal"
            ><b>
                                AC
            </b></span>
                              
            </div>
                              
            <div style="MARGIN: 0px 0px 5px">
                                
            <div style="MARGIN: 4px 0px">
                                  
            <div style="MARGIN: 4px 0px">
                                    公元前
                                  
            </div>
                                
            </div>
                                
            <div style="MARGIN: 4px 0px">
                                  
            <div style="MARGIN: 4px 0px">
                                    
            <font color="navy">[計]</font> 存取周期,
                                    累加器, 聲耦合器, 交流, 應用控制,
                                    自動檢查, 自動計算機
                                  
            </div>
                                
            </div>
                                
            <div style="MARGIN: 4px 0px">
                                  
            <div style="MARGIN: 4px 0px">
                                    
            <font color="navy">[化]</font> 交流; 交變電流
                                  
            </div>
                                
            </div>
                              
            </div>
                            
            </div>
                          
            </div>
                        
            </div>
                        
            <div style=
                        "PADDING-RIGHT: 0px; BORDER-TOP: #c7d4dc 1px solid; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; PADDING-TOP: 5px"
            >
                        
            </div>
                        
            <div style="MARGIN: 5px 0px">
                          
            <div style="WIDTH: 100%">
                            
            <div style="FLOAT: left; LINE-HEIGHT: normal">
                              
            <img height="11" src=
                              "file:///C:/Program%20Files/Lingoes/Translator2.7/dict/image/entry_p.png"

                              width
            ="10" align="absmiddle" border="0">
                            
            </div>
                            
            <div style="OVERFLOW-X: hidden; WIDTH: 100%">
                              
            <div style=
                              "MARGIN: 0px 0px 5px; COLOR: #808080; LINE-HEIGHT: normal"
            >
                                
            <span style=
                                "FONT-SIZE: 10.5pt; COLOR: #000000; LINE-HEIGHT: normal"
            ><b>
                                Ac.
            </b></span>
                              
            </div>
                              
            <div style="MARGIN: 0px 0px 5px">
                                
            <div style="MARGIN: 4px 0px">
                                  
            <div style="MARGIN: 4px 0px">
                                    
            <font color="navy">[醫]</font> 錒(89號元素)
                                  
            </div>
                                
            </div>
                              
            </div>
                            
            </div>
                          
            </div>
                        
            </div>
                      
            </div>
                    
            </div>

                Lingoes的結果數據看似很有規律,實際內部有非常微小的差異,為提高LingosHook識別能力,不得不需要非常仔細地分析這些數據,以找出其規律。這個分析過程,讓我想起去年破解WOW的MPQ文件時的經歷,痛苦啊,有興趣,可查看這里的貼圖~
                目前測試的詞典多數可以歸為兩類,以分別寫了相應的函數進行處理,根據“解密”結果優化HTML處理過程,盡量做到快速和通用,再檢測幾個詞典結果,過兩天應該可以更新了。唉,累死我了,還好這幾天工作上沒有“情況”發生,“解密”是需要消耗大把時間的~

            posted on 2010-08-03 17:13 codejie 閱讀(533) 評論(2)  編輯 收藏 引用 所屬分類: C++ 、輪子精神 、LingosHook

            評論

            # re: LingosHook:近況--猶如解密一般 2010-10-30 20:14 Jailrock

            你那段while-if語句段應該是遍歷搜索XML文檔的吧?  回復  更多評論   

            # re: LingosHook:近況--猶如解密一般[未登錄] 2010-10-31 11:40 codejie

            @Jailrock
            while是遍歷,if是定位。這段代碼讓人暈菜的就是這個if...  回復  更多評論   

            公告

            Using C++

            導航

            統計

            留言簿(73)

            隨筆分類(513)

            積分與排名

            最新評論

            閱讀排行榜

            評論排行榜

            久久久久亚洲av成人无码电影| 97r久久精品国产99国产精| 久久久久香蕉视频| 亚洲精品综合久久| 性做久久久久久久| 办公室久久精品| 四虎久久影院| 久久精品成人免费看| 亚洲中文字幕伊人久久无码 | 欧美精品一区二区精品久久 | 久久r热这里有精品视频| 欧美午夜A∨大片久久| 国产精品一区二区久久不卡| 精品久久久无码中文字幕天天| 亚洲欧美日韩中文久久| 久久久精品久久久久特色影视| 伊人精品久久久久7777| 91精品国产91久久久久久青草| 伊人久久大香线蕉综合Av| 久久久久久久亚洲精品| 久久精品视频网| 91久久精品91久久性色| 色偷偷88888欧美精品久久久| 日韩精品无码久久一区二区三| 国产日产久久高清欧美一区| 久久亚洲AV成人出白浆无码国产 | 日韩精品久久无码中文字幕| 一级做a爰片久久毛片免费陪| 久久99国产一区二区三区| 久久伊人精品青青草原高清| 精品久久久久久久| 国产精品久久波多野结衣| 97久久超碰成人精品网站| 中文字幕无码免费久久| 精品综合久久久久久97| 超级97碰碰碰碰久久久久最新| 午夜视频久久久久一区| 久久综合狠狠综合久久97色| 美女久久久久久| 国产毛片欧美毛片久久久| 久久香蕉超碰97国产精品|