日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

jar 工程我怎么在网页上url访问某一个方法_搜狗用这个骚技术,把百度逼上了绝路。。。...

發布時間:2024/9/18 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jar 工程我怎么在网页上url访问某一个方法_搜狗用这个骚技术,把百度逼上了绝路。。。... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

點擊上方[全棧開發者社區]右上角[...][設為星標?]

前幾天在百度搜索的時候,一不小心誤點搜索候選詞,給我跑到搜狗搜索里面去了,索性花了點時間分析一下這其中的貓膩,不看不知道,一看嚇一跳。

在瀏覽器中打開百度,使用搜狗輸入法輸入關鍵詞時將出現搜索候選詞列表:

隨便點擊列表中的某一個選項后,頁面跳轉到了搜狗搜索的結果頁:

測試實驗

測試1:360搜索輸入框并沒有這個候選詞列表,如下圖:

結論1:搜狗輸入法應該是對當前打開的頁面有判斷,不是隨便哪個網頁下面的輸入框都會出現這個列表

測試2:在百度頁面,除了主要的搜索框以外,其他入口也會出現這個搜索選項列表,下面是站點內搜索輸入框的測試:

結論2:搜狗輸入法沒有判斷當前輸入框目標是不是搜索框

測試3:這一次不用域名,換用IP地址來訪問百度搜索。我的環境下ping www.baidu.com 解析的IP地址為:220.181.38.149,結果搜狗輸入法竟然沒有出現這個搜索選項列表:

結論3:這個搜索選項列表的出現跟網頁當前的URL有關

測試4:這一次來把瀏覽器的進程名字改一下,我這里選擇火狐瀏覽器,將firefox.exe改為firefox1.exe,這個搜索選項列表也沒有出現:

結論4:除了URL,對進程名字也有判斷,如果不是瀏覽器進程,也不會觸發

最終結論:搜狗輸入法檢測到用戶打開瀏覽器訪問www.baidu.com域名進行搜索時,將彈出搜索選項列表,引導用戶點擊。

技術分析

如何實現瀏覽器進程篩選?

第一個問題,搜狗輸入法怎么判斷當前是不是在瀏覽器進程中呢?總不能在微信聊天界面也給彈出搜索候選詞列表吧?

搜狗輸入法核心模塊是一個叫SogouPY.ime的文件,這實際上是一個動態鏈接庫文件,這個文件會隨你切換輸入法時加載到對應的進程中。使用IDA打開分析,發現這個模塊內部有很多瀏覽器進程名字的字符串:

你看,國內外主流的和非主流的瀏覽器基本都被列為了目標。

進一步分析發現,上面這是一個字符串數組,找到了遍歷這個數組,挨個進行比較匹配的處理邏輯:

當前頁面的URL獲取及判斷

瀏覽器進程篩選出來了,還要篩選當前是不是在搜索引擎的頁面,接著往下看!

針對不同瀏覽器使用不同的獲取方式,這里以firefox為例,搜狗輸入法使用了MSAA(Microsoft Active Accessibility)技術獲取到了當前頁面URL。

調試發現,如果修改獲取到的URL內容,搜狗輸入法的搜索選項列表就無法展示出來。

向上追溯可以找到根據不同瀏覽器進行不同的URL獲取方式分發入口:

繼續追溯,獲取當前瀏覽器信息后,還要進行是否是搜索引擎域名的判斷:

這個wcsstr函數就是在進行字符串比較了,調試得到wcsstr()的參數1:獲取到的頁面URL,參數2:搜索引擎域名。又是用一個數組在進行存儲:

百度居然還有個小名,www1.baidu.com,有意思。

我們來挨個試一下這個列表中的搜索引擎:

www1.baidu.com:

www.soso.com:

這個就不用試了,現在是搜狗自家人。

cn.bing.com:

www.google.cn:

so.sowang.com:

www.chinaso.com:

www.youdao.com:

www.zhongsou.com:

如何打開搜狗搜索頁面呢?

當發現是在瀏覽器進程中訪問上面的搜索引擎域名后,就該跳轉到搜狗自己的搜索頁面了,那它是如何打開的呢?繼續往下看!

打開firefox,使用調試器WinDbg 掛載到這個進程,執行這個命令:bp shell32!ShellExecuteW,給函數ShellExecuteW下斷點。

接著打開百度首頁,切換到搜狗中文輸入法,這樣使得SoGouPY.ime模塊加載到firefox的進程空間中。

然后隨意輸入字符,出現搜狗搜索選項列表,隨便點擊一個,觸發斷點!來看一下參數:

可以看到:這里通過啟動當前瀏覽器(firefox.exe)打開了URL。根據堆棧返回地址,可以進一步往前分析。

IDA反匯編太多,就不截圖了。總體來說,判斷當前瀏覽器是否是IE內核,如果是,就通過獲取到瀏覽器IWebBrowser2接口指針,調用接口中的Navigate2方法來打開搜狗搜索頁面。如果不是IE內核,直接調用ShellExecuteW打開URL。

那如何判斷是不是IE內核呢?

可以看搜狗的做法:獲取當前瀏覽器類別,內部通過進程名、當前焦點窗口的Class名(”Internet Explorer_Server”)綜合判斷:

總結

和實驗得到的結論一致。

一圖勝千言,整個過程就是這個樣子的:

多說幾句

事實上,搜狗干這事已經有好些年了。幾年前,百度還把搜狗給告了,搜狗敗訴賠錢。不過,輸了是輸了,就是堅決不改。。。

對于搜狗輸入法的這騷操作,你怎么看?

覺得本文對你有幫助?請分享給更多人

關注「全棧開發者社區」加星標,提升全棧技能

本公眾號會不定期給大家發福利,包括送書、學習資源等,敬請期待吧!

如果感覺推送內容不錯,不妨右下角點個在看轉發朋友圈或收藏,感謝支持。

好文章,留言、點贊、在看和分享一條龍吧??

總結

以上是生活随笔為你收集整理的jar 工程我怎么在网页上url访问某一个方法_搜狗用这个骚技术,把百度逼上了绝路。。。...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 色老头一区二区三区在线观看 | 国产在线a视频 | 91草草草 | 巨胸喷奶水www久久久免费动漫 | 午夜肉伦伦 | 1515hh成人免费看 | 97国产精品视频人人做人人爱 | 日日碰狠狠躁久久躁蜜桃 | 秋霞影院av | 国产天堂av在线 | 嫩操影院 | 国产v亚洲v天堂无码久久久 | 成人福利视频在线观看 | 97精品人人a片免费看 | 国产精品超碰 | 国产黄色片视频 | 91亚洲精品久久久蜜桃网站 | 亚洲天堂av在线播放 | 亚洲精品国产suv | 69av网| 人妻偷人精品一区二区三区 | 日本激情视频在线 | 不卡中文字幕在线 | 麻豆观看 | 日本午夜啪啪 | 欧美成人精品欧美一级 | 91香草视频 | 另类性姿势bbwbbw | 亚洲区免费 | 成人av男人的天堂 | 国产精品大屁股白浆一区 | 性欧美18—19sex性高清 | 成年丰满熟妇午夜免费视频 | 免费成人深夜 | 成人手机在线视频 | 视频一区三区 | 最新av导航 | 国产人妻aⅴ色偷 | youjizz中国少妇 | 婷婷精品在线 | 免费黄色入口 | 日日夜夜撸撸 | 我和岳m愉情xxxⅹ视频 | 日本黄色免费 | 国产人妻精品一区二区三区 | a级片免费视频 | 欧美性大战xxxxx久久久 | 一区二区三区视频播放 | 国产精品久久毛片av大全日韩 | 免费在线观看不卡av | 欧美体内she精高潮 日韩一区免费 | av鲁丝一区鲁丝二区鲁丝 | 国产成人av一区二区三区不卡 | 免费观看成人毛片 | 337p亚洲精品色噜噜狠狠 | 亚洲欧美日韩一区二区三区四区 | 欧美久久久久久久久久久久久久 | 国产又大又黄的视频 | 中文字幕在线观看第一页 | 欧美少妇精品 | 黄色av电影网站 | 福利在线免费视频 | 欧美成人a视频 | 香蕉国产在线观看 | 老司机福利院 | 狠狠综合网 | 亚洲永久在线观看 | 国产污视频在线看 | 国产欧美一区二区三区在线 | 黑帮大佬和我的三百六十五天 | 欧美无马 | 好吊操精品视频 | 福利电影一区 | 美女脱衣服一干二净 | 九色91蝌蚪 | 国产日本精品 | 4438亚洲最大 | 超碰免费人人 | 青青草国产在线视频 | 天天躁日日躁狠狠躁av | 椎名空在线播放 | 国产中文 | 99精品国产一区二区 | 午夜日韩av | 中文不卡av | 精品国产av一区二区 | 在线视频观看一区二区 | 欧美性天堂| 婷婷亚洲五月 | 国产爆操视频 | 欧美中文字幕 | 韩国三级黄色 | 永久免费看黄网站 | 岛国精品一区二区 | 国产精品精品国产 | 操三八男人的天堂 | 欧美国产日韩视频 | 久久久久国产视频 | 欧美成人高潮一二区在线看 |