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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

给Source Insight做个外挂系列之四--分析“Source Insight”

發(fā)布時間:2024/4/11 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 给Source Insight做个外挂系列之四--分析“Source Insight” 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
外掛的目的就是將代碼注入到其它進(jìn)程中,所以必須要有目標(biāo)進(jìn)程才能完成注入,而所謂的目標(biāo)進(jìn)程通常是某軟件的一部分或者是全部,所以要對目標(biāo)程序有深入地了解。一般外掛都是針對某個應(yīng)用程序開發(fā)的,其裝載、運行都依賴于宿主進(jìn)程提供的環(huán)境,如果“掛”錯了,后果很嚴(yán)重。有一些軟件運行時會啟動多個進(jìn)程,每個進(jìn)程完成各自的任務(wù),所以要分清到底應(yīng)該“掛”哪個進(jìn)程,好在“Source Insight”比較簡單,所有的功能都在一個進(jìn)程中完成,分析起來比較簡單。

??? 要給“Source Insight”加一個用于文件切換的標(biāo)簽欄,就要對“Source Insight”的窗口體系進(jìn)行深入研究,因為文件切換體現(xiàn)在“Source Insight”的界面上就是窗口的切換。除此之外,還要研究窗口之間的消息流向,這樣的工具要首推“Spy++”。“Spy++”工具是Viausl Studio的一部分,我們先用它來看看“Source Insight”程序的窗口層次結(jié)構(gòu),首先是主框架窗口,也就是整個界面最外層(最大)的那個窗口,如下圖所示:


圖4.1 Source Insight的主窗口
????
主窗口的class name是“si_Frame”,這是一個好兆頭,這說明“Source Insight”程序有固定的主框架窗口class name,TabSiPlus就是根據(jù)主框架窗口的class name識別“Source Insight”的。其實要標(biāo)簽化一個多文檔界面的窗口系統(tǒng),最重要的是找到子框架窗口以及子框架窗口的宿主,也就是子框架窗口的父窗口。通常這個窗口并不是主框架窗口,而是主框架窗口的一個子窗口,這個子窗口和Toolabr或Rebar窗口一樣,不同之處在于它既不靠頂,也不靠邊,它只是占據(jù)主框架窗口的整個客戶區(qū)。現(xiàn)在就看看“Source Insight”的子框架窗口的宿主窗口是怎么回事,首先關(guān)閉所有文檔,也就是關(guān)閉全部子框架窗口,然后拖著“Spy++”的瞄準(zhǔn)星到處找,找啊找,就是這個:


圖4.2 MDI Client窗口


注意到它的class name了嗎?是的,它的窗口class name是“MDIClient”,熟悉Windows的程序員都知道,這就是windows的標(biāo)準(zhǔn)多文檔窗口界面,這很令人振奮,要記住這個名字,因為我們的外掛就是通過Hook這個窗口來控制文件標(biāo)簽的。接下來是研究子框架窗口,打開一個子窗口,不要最大化,然后用“Spy++”的瞄準(zhǔn)星慢慢看:


圖4.3 Source Insight的子窗口

原來它的class name是“si_Sw”,它還有很多子窗口,不過不在我們關(guān)心之列,重要的就是這個class name,因為“TabSiPlus”只Hook這個子框架窗口。

??? 找到這些窗口之后,就需要研究這些窗口之間的消息了,考慮到文件切換標(biāo)簽欄的行為,比如當(dāng)用戶點擊一個標(biāo)簽的時候要激活對應(yīng)的子框架窗口,再比如當(dāng)用戶通過其它方式切換一個窗口的時候(比如使用快捷鍵或Window菜單),需要標(biāo)簽欄能夠作出相應(yīng)的更新動作,還有就是窗口的創(chuàng)建和銷毀(對用操作是打開和關(guān)閉文件),所以要重點關(guān)注的幾個消息是窗口創(chuàng)建,銷毀,窗口激活,窗口去激活等等,如下圖所示設(shè)定消息Filter:


圖4.4 消息過濾設(shè)置

然后激活這個子框架窗口,可以看到有一個WM_MDIACTIVE消息:


圖4.5 MDI消息流動情況

通過解析消息參數(shù)就能得到窗口句柄,再通過窗口句柄和標(biāo)簽之間的關(guān)系(這個關(guān)系由我們的外掛自己維護(hù),關(guān)于TabSiPlus內(nèi)部細(xì)節(jié)將在下篇介紹)更新相應(yīng)的標(biāo)簽。同樣的方法,Hook WM_MDICREATE和WM_MDIDESTROY可以感知到窗口的創(chuàng)建和銷毀,據(jù)此可以添加一個標(biāo)簽或刪除一個標(biāo)簽。當(dāng)用戶激活某個標(biāo)簽的時候,通過模擬發(fā)送相應(yīng)的消息使窗口能夠具有相應(yīng)的行為,這一部分就是標(biāo)簽外掛的重點。

??? 通過上面的研究,我們來總結(jié)一下具有哪些資質(zhì)的程序才能應(yīng)用標(biāo)簽窗口外掛,首先,主窗口要有固定的class name或窗口標(biāo)題格式,有固定的class name這一點不是必須的,可以通過其它方式找到宿主程序的主窗口,但是窗口標(biāo)題的格式十分重要,因為在無法獲得宿主程序內(nèi)部數(shù)據(jù)結(jié)構(gòu)的情況下,只能通過分析窗口標(biāo)題來獲知窗口對應(yīng)的文件名稱。其次是應(yīng)用程序要是標(biāo)準(zhǔn)的Windows多文檔界面,雖然從理論上講所有擁有固定客戶區(qū)窗口class name和子窗口class name的窗口體系都可以使用TabSiPlus使用的技術(shù),但是對于標(biāo)準(zhǔn)的Windows多文檔界面程序,有很多標(biāo)準(zhǔn)的窗口消息可以利用(例如MDICHILD_ACTIVE,MDICHILD_DESTROY等等),能給功能開發(fā)帶來更多的便利。最后是用于顯示文件的子窗口要有固定的class name。“Source Insight”很好地滿足了這些條件,所以“TabSiPlus”就出現(xiàn)了。


??? 至此,所有有關(guān)“TabSiPlus”的外部情況(包括如何找到“Source Insight”,如何裝載外掛動態(tài)鏈接庫等等)都介紹完了,本系列的下一篇講深入“TabSiPlus”的內(nèi)部,詳細(xì)講解注入到宿主程序中的代碼是如何工作的,下下篇(可能是最后一篇)會對本文發(fā)表過程中讀者提到的一些感興趣的問題進(jìn)行解答,如果你能耐著性子讀完最后一篇文章,會有一個驚喜等待著你,猜猜會是什么?



????
????
????
Source Insignt文件標(biāo)簽外掛:TabSiPlus的下載地址:
http://www.winmsg.com/download/tabsiplus.zip

版權(quán)聲明:本文為博主原創(chuàng)文章,未經(jīng)博主允許不得轉(zhuǎn)載。

總結(jié)

以上是生活随笔為你收集整理的给Source Insight做个外挂系列之四--分析“Source Insight”的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日韩一区二区精品视频 | 色人阁视频 | 亚洲在线免费观看 | 777片理伦片在线观看 | 黄频在线 | 韩国中文字幕hd久久精品 | 久久久五月 | 婷婷午夜精品久久久久久性色av | 不卡av免费| 国产美女裸体无遮挡免费视频 | 天天干天天爱天天射 | 在线观看一区 | 特黄色大片 | 日韩电影中文字幕 | 免费观看污网站 | 国产精品免费精品一区 | 日本女人hd | 毛片2 | 激情小说专区 | 成人午夜在线观看视频 | 国产精品一区二区不卡 | 日韩久久一区 | 中文av在线播放 | 久久精品人人爽 | 日韩精品一区二区三区电影 | 99ri精品 | av色站| 国模私拍大尺度裸体av | 国产精品一区二区三区在线免费观看 | 免费看一级片 | 久国产视频 | 精品久久久在线观看 | 少妇精品亚洲一区二区成人 | 亚洲国产精品久久久久爰色欲 | 亚洲双插 | 激情爱爱网| 久久久久久久久久久久久久久久久久久久 | 中文字幕有码在线视频 | 国产精品国产三级国产传播 | 天天舔夜夜操 | 性色福利 | 玖玖视频 | 欧美日韩黄色一级片 | 河北彩花中文字幕 | 成人欧美一区二区三区黑人 | 精品国产一区二区三区四区精华 | 欧美一区二区激情视频 | 欧美高清69hd | 肉丝肉足丝袜一区二区三区 | 蜜桃久久久久 | 日韩新片王网 | 久久一级电影 | 冲田杏梨一区二区三区 | 欧美体内谢she精2性欧美 | 男人桶进美女尿囗 | 五月视频 | 久久理论 | 亚洲视频天天射 | 一区二区三区四区五区在线视频 | 国产aaaaaaa | 亚洲一区二区三区在线视频观看 | 男操女视频在线观看 | www国产精品视频 | av在线电影网 | 伊人99在线 | 浮力影院草草 | 国产精品久久久爽爽爽麻豆色哟哟 | 91福利社在线观看 | 少妇一级淫免费放 | 插骚| 蜜芽久久 | 久久国内免费视频 | 日本xxx在线播放 | 日本视频在线免费观看 | 午夜视频黄色 | 涩里番在线观看 | 淫视频网站 | 日韩亚洲在线 | aaaaav| 老外毛片 | av短片| 91欧美精品| 亚洲精品少妇久久久久久 | 美女视频黄频视频大全 | 国产一区二区视频在线观看 | 在线伊人 | 美女网站视频在线观看 | 91手机在线视频 | 亚洲免费三级 | 两根大肉大捧一进一出好爽视频 | www男人天堂 | 欧美一级免费大片 | 乱短篇艳辣500篇h文最新章节 | 91天天射 | 潘金莲性xxxxhd | 日韩精品一区二区在线视频 | 中文字幕精品无码亚 | 日韩欧美影院 | 玩弄人妻少妇500系列 |