日韩免费在线观看成人,骚碰成人免费视频,电影院 摸 湿 嗯…啊h

    1. <span id="um726"><blockquote id="um726"></blockquote></span>

        <span id="um726"><blockquote id="um726"></blockquote></span>
        1. 您的位置:首頁>世界杯 >內(nèi)容

          11旺網(wǎng)絡(luò)娛樂 (關(guān)于11旺網(wǎng)絡(luò)娛樂 玩法)

          2022-11-21 16:26:48來源:世界杯
          導(dǎo)讀SoftSnoop可以監(jiān)視系統(tǒng)調(diào)用了哪些API,從而在SoftICE里可以用這些API設(shè)置斷點!是一個很好用的可以捕獲進(jìn)程調(diào)用的Api的程序,但是我在使用...

          SoftSnoop可以監(jiān)視系統(tǒng)調(diào)用了哪些API,從而在SoftICE里可以用這些API設(shè)置斷點!是一個很好用的可以捕獲進(jìn)程調(diào)用的Api的程序,但是我在使用過程中發(fā)現(xiàn)其只能對靜態(tài)導(dǎo)入的Api實現(xiàn)捕獲,因此極大地限制了其使用范圍,前幾天在看了它的源碼,分析之后產(chǎn)生了改進(jìn)的想法,我對其中ApiHook的部分進(jìn)行了修改,使之能捕獲動態(tài)加載的dll中的Api調(diào)用!

          相對于SoftSnoop1.3版新增功能

          (1)可以捕獲從任一模塊產(chǎn)生的到任一模塊的Api調(diào)用,包括動態(tài)加載的模塊;可以在調(diào)用Api之前輸出Api名稱,Api所屬模塊,Api參數(shù)及調(diào)用這個Api的地址;可以在Api返回之后輸出Api返回值;

          (2)可以像OllyDbg那樣附著到正在運行的目標(biāo)進(jìn)程并捕獲其Api,可以隨意終止和繼續(xù)捕獲,目標(biāo)進(jìn)程不受影響;

          (3)可以選擇是否對目標(biāo)進(jìn)程進(jìn)行調(diào)試,對一些檢查調(diào)試器的程序可以選擇不調(diào)試目標(biāo)進(jìn)程,對Api捕獲沒有影響;由于修改了ApiHook方式,因此對于加過殼或修改了輸入表的程序也可以進(jìn)行Api捕獲;

          (4)添加了中文版;

          (5)解決了1.3版中在加載目標(biāo)進(jìn)程時偶爾會產(chǎn)生內(nèi)存訪問越界的問題;

          如果想讓SoftSnoop顯示自己感興趣的Api的參數(shù),請看ApiDef目錄下的SS.txt;如果只想捕獲特點模塊或特定的Api,或者只想捕獲來自某些特定模塊的Api,請在選項窗口進(jìn)行設(shè)置;其它使用方法都很簡單,界面上一目了然,也不用多說了;另外大家覺得有什么不方便的地方自己DIY即可,這就是有源碼的好處:)

          SoftSnoop1.3版的ApiHook是通過修改目標(biāo)進(jìn)程的輸入表的方法來實現(xiàn)的,這種方法的優(yōu)點在于實現(xiàn)簡單,但缺點在于無法捕獲動態(tài)加載的模塊中的Api,另外對于加過殼的程序和修改了輸入表的程序也是無效的。

          另一種應(yīng)用層的ApiHook方法是修改目標(biāo)Api的前幾條指令為跳轉(zhuǎn)指令,當(dāng)產(chǎn)生Api調(diào)用時先跳到我們的程序,我們處理之后再跳回去繼續(xù)執(zhí)行;這種ApiHook的實現(xiàn)方法在這里有詳細(xì)的介紹:http://中的ScanModules()函數(shù),大家如果感興趣可以看看;

          (2)對于掃描得到的每個模塊,通過讀取其輸出表來獲得其輸出的Api的入口地址和名稱,然后將這些Api添加到待Hook列表中;

          對于問題2,分兩種情況進(jìn)行介紹:

          (1)由SoftSnoop創(chuàng)建的目標(biāo)進(jìn)程,通過在修改其輸入表來實現(xiàn)其加載我們的ApiSnoop.dll,修改時機是目標(biāo)進(jìn)程已經(jīng)被加載到內(nèi)存中但還沒有執(zhí)行的時候,具體實現(xiàn)方法是創(chuàng)建目標(biāo)進(jìn)程時加CREATE_SUSPENDED參數(shù),然后修改其輸入表,把我們的ApiSnoop.dll加進(jìn)去,然后讓目標(biāo)進(jìn)程繼續(xù)執(zhí)行,這樣我們的ApiSnoop.dll就會被加載到目標(biāo)進(jìn)程的地址空間;這里要說明的是,SoftSnoop1.3版使用的方法沒有公開源碼,是封裝在ForceLibrary.dll里的,其缺點在于必須對目標(biāo)進(jìn)程進(jìn)行調(diào)試才能實現(xiàn)加載ApiSnoop.dll,恰好Detours庫中提供了DetourCreateProcessWithDll()函數(shù)能夠?qū)崿F(xiàn)這個功能,因此我就直接使用了這種方法;

          (2)附著到正在執(zhí)行的目標(biāo)進(jìn)程http://.168ftp.com/,通過CreateRemoteThread實現(xiàn)讓目標(biāo)進(jìn)程加載我們的ApiSnoop.dll;

          其它一些問題的實現(xiàn)方法是:Api調(diào)用的參數(shù)和來源地址可以通過讀堆棧得到,至于如何讓Api返回時執(zhí)行我們的代碼從而獲得其返回地址,我沿用了1.3版的實現(xiàn)方法:修改堆棧中的返回地址。

          另外1.3版里主程序和SoftSnoop.dll是通過消息進(jìn)行交互的,這種交互只能是單向的,在1.3.2版里我使用了事件+內(nèi)存映射文件的方法實現(xiàn)了雙向交互。

          如果大家覺得這個工具還行,還值得繼續(xù)開發(fā)的話,請給我支持和建議。

          我想可能的改進(jìn)之處包括:

          (1)在Api調(diào)用之前停下來,允許用戶查看和修改Api調(diào)用的參數(shù);在Api調(diào)用返回的時候可以停下來,允許用戶查看參數(shù)變化并修改Api返回值;

          (2)增強調(diào)試支持,因為修改了目標(biāo)進(jìn)程加載方式,因此原先1.3版中的一些設(shè)置斷點的功能可能有所減弱;

          (3)增加反匯編支持,不過這個可能沒有必要,使用OllyDbg就行了:)

          11旺網(wǎng)絡(luò)娛樂
          免責(zé)聲明:本文由用戶上傳,如有侵權(quán)請聯(lián)系刪除!

          猜你喜歡

          最新文章