[討論] 防廣告視窗怎麼做的?

看板C_and_CPP作者 (藍影)時間12年前 (2012/01/11 21:50), 編輯推噓2(2019)
留言21則, 5人參與, 最新討論串1/2 (看更多)
這是一份概念、技術、興趣的討論文章。 前言 最近上一些網站看教學影片很容易跳出遊戲廣告視窗, 只要該 web 上有任何 link 被點擊,瀏覽器會再開一個 Instance 跳出來, 我覺得非常不悅、麻煩。 解決概念 我的方法很糟,用 FindWindow 、 SendMessage(hwnd, WM_DESTROY, 0, 0) 方式進行 close,缺點有下述二點 cpu 佔有率 高 一開始用純 main 方式下去做 ( 會先將 console 隱藏), 沒 sleep, cpu 效能被卡住 ( 這結果並不意外), 後來改用 WinMain 設 SetTimer, 變成 polling 時間尷尬,設太大廣告顯示太久;設太小 cpu 佔 有率高。 FindWindow 非治根本之道 用 FindWindow 方式當然必須先知道視窗抬頭,如此下來遇到另二個問題 1. 沒標題的視窗就不能用這方法。 2. 廣告內容變更就又要更新一次關閉之黑名單, 維護的方式便是把黑名單全都列在一個 txt 裡面,以後增加廣告的時候 只要維護該黑名單即可。但建置與維護成本高,不過這應是「判別」 最穩的方式,較不容易誤判。 目前黑名單我只有列不到 20 個視窗標題抬頭。 問題討論 1. Win32 API 有沒有辦法做到,當系統新增某個 process 時, 有辦法 主動通知我的 ap 再去執行嗎? (call back 方式, 非 polling 方式) 或換個問法:Win32 API 能否以 callback 方式監控 processes ? 2. 不知道一般在防廣告視窗時是怎麼處理的?(直覺不會是列標題黑名單) 希望有想法的版友能不吝分享其概念。 初步有想過應該會分成 「崁在網頁裡」 與 「另開瀏覽器」 兩種, 此處比較想知道「另開瀏覽器」的擋法 (有擋內崁網頁的也歡迎分享)。 即使有一點想法、創意、沒實際 run 過,也可以給一點參考意見。 最後先感謝各位版友不吝指導,謝謝各位。 -- 世界上有種, 將 不可能 轉換為 無限可能 的強大力量, 我稱它為 - 信念 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 180.177.69.239 tropical72:轉錄至看板 Programming 01/11 21:54

01/11 21:59, , 1F
win32的hook或許可以偵測到process creation @@" (純粹
01/11 21:59, 1F

01/11 21:59, , 2F
是我的猜測, 但hook確實是關鍵字)
01/11 21:59, 2F

01/11 22:00, , 3F
又, 如果只是瀏覽器內自己要跳新視窗, 他直接攔截java
01/11 22:00, 3F

01/11 22:00, , 4F
script的window.open就好了..(我是說瀏覽器內的機制)吧?
01/11 22:00, 4F

01/11 22:09, , 5F
先謝謝p大回覆,但若攔java scr. 的話,是否會不只攔到
01/11 22:09, 5F

01/11 22:10, , 6F
廣告視窗,連非廣告視窗都會一起攔?(所以才想用api)
01/11 22:10, 6F

01/11 23:19, , 7F
user mode的話就像p大說的api hooking,例如 CreateProcess
01/11 23:19, 7F

01/11 23:19, , 8F
01/11 23:19, 8F

01/11 23:21, , 9F
或者是patch kernel,如這篇http://ppt.cc/7L;b
01/11 23:21, 9F

01/11 23:22, , 10F
不過第二種方法要寫driver,在x64上也會被擋
01/11 23:22, 10F

01/11 23:27, , 11F
sorry上面網址有問題,用
01/11 23:27, 11F


01/11 23:38, , 14F
另外不曉得你用的browser是哪一種?Chrome和FF都有extension
01/11 23:38, 14F

01/11 23:39, , 15F
可以block ad,還可以自己設filter rules
01/11 23:39, 15F

01/11 23:54, , 16F
我也會想從browser角度去切入
01/11 23:54, 16F

01/11 23:56, , 17F
然後,就可以自己寫簡單的browser去做一些事情了
01/11 23:56, 17F

01/12 00:14, , 18F
firefox有套件adblocks plus雖然這是檔網頁廣告的
01/12 00:14, 18F

01/12 00:15, , 19F
裡面有訂閱條件集的,不知道是否能給t大參考呢?
01/12 00:15, 19F

01/12 03:52, , 20F
先先dk3208給的link,讓我為之驚艷,也謝謝diab~給的建
01/12 03:52, 20F

01/12 03:52, , 21F
議,那plugin可滿足我的需求,謝謝大家。
01/12 03:52, 21F
文章代碼(AID): #1F3PEVvk (C_and_CPP)
文章代碼(AID): #1F3PEVvk (C_and_CPP)