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

            積分與排名

            最新評論

            閱讀排行榜

            評論排行榜

            亚洲国产日韩欧美久久| 一级a性色生活片久久无| 欧美激情精品久久久久久久| 久久99国产精品二区不卡| 伊人久久大香线蕉av不卡| 青青热久久国产久精品| 久久久青草青青国产亚洲免观| 久久香蕉一级毛片| 韩国三级大全久久网站| 久久无码av三级| 久久国产综合精品五月天| 激情综合色综合久久综合| 久久国产一片免费观看| 久久久精品无码专区不卡| 久久久久国产精品嫩草影院| 精品久久久无码中文字幕| 久久久久国产日韩精品网站| 久久精品亚洲福利| 亚洲七七久久精品中文国产| 国产精品久久久久久久久久影院| 亚洲精品无码久久毛片| 久久久久久久久波多野高潮| 亚洲精品白浆高清久久久久久| 色欲综合久久中文字幕网| 精品国产91久久久久久久| 国产免费久久久久久无码| 亚洲人成网站999久久久综合| 久久久久久国产精品美女 | 久久久久亚洲精品日久生情| 亚洲va国产va天堂va久久| 久久中文娱乐网| 久久受www免费人成_看片中文| 久久SE精品一区二区| 久久综合欧美成人| 亚洲精品tv久久久久| 粉嫩小泬无遮挡久久久久久| 国产高潮国产高潮久久久91 | 国产精品美女久久久久久2018| 欧美久久精品一级c片片| 亚洲欧美一级久久精品| 精品免费久久久久久久|