• <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 閱讀(538) 評論(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)

            積分與排名

            最新評論

            閱讀排行榜

            評論排行榜

            久久精品www| 人人狠狠综合久久亚洲高清| 久久久精品久久久久影院| 色天使久久综合网天天| 久久久久高潮毛片免费全部播放| 精品国产青草久久久久福利| 大伊人青草狠狠久久| 久久人妻AV中文字幕| 99久久99久久久精品齐齐| 欧美久久久久久| 色综合久久中文综合网| 伊人久久大香线蕉亚洲五月天| 丁香五月网久久综合| 久久综合噜噜激激的五月天| 开心久久婷婷综合中文字幕| 99久久综合狠狠综合久久止| 亚洲国产成人久久综合野外| 午夜精品久久久久久| 久久久久久一区国产精品| 久久天天日天天操综合伊人av| 国产精品日韩欧美久久综合| 93精91精品国产综合久久香蕉| 91久久婷婷国产综合精品青草 | 亚洲国产成人久久综合野外| 久久久久久久久久久久久久| 中文字幕精品久久| 亚洲中文字幕久久精品无码喷水| 中文字幕成人精品久久不卡| 色综合久久88色综合天天 | www.久久热.com| 久久精品中文字幕大胸| 久久综合久久综合久久| 成人久久综合网| 精品国产青草久久久久福利| 精品久久久久久无码免费| 亚洲午夜福利精品久久| 国产精品对白刺激久久久| 亚洲精品97久久中文字幕无码| 国产精品久久久天天影视| 亚洲国产精品成人久久蜜臀 | 亚洲一级Av无码毛片久久精品|