一个广告净化大师拦截视频网站片头广告的实现

    xiaoxiao2023-03-25  6

    该程序相当简洁,只有三个文件,好奇之下就跟了一下看看。。。。

    有一个dll,全局hook.

    1.进程启动,判断是不是各大浏览器(360chrome.exe,iexplore.exe,sogouexplorer.exe,2345explorer.exe,qqbrowser.exe,qqbrowser.exe,baidubrowser.exe,360se.exe),如果不是这些浏览器,说明不是目标进程,dll退出。。。

    2.如果是浏览器进程,则获取ws2_32.dll  函数的导出函数connect 的函数地址然后hook该函数。

    connect函数原型如下:

    int connect( SOCKET s, const struct sockaddr FAR *name, int namelen );

    替换后函数如下

    int __stdcall hook_connect(int a1, sockaddr_in *a2, int a3) { int result; int v4; unsigned __int32 v5; if ( ntohs(a2->sin_port) == 443 ) { result = pfn_connect(a1, a2, a3); } else { // 构造sockaddr_in结构 v5 = inet_addr("127.0.0.1"); HIWORD(v4) = htons(8099u); LOWORD(v4) = 2; result = pfn_connect(a1, &v4, 16); } return result; }

    检查远程链接的是不是443端口,是的话就放行,不是的话就转到本地,相当于屏蔽掉此次请求。。。。

    这么简单的方法,竟然干掉了优酷,腾讯广告变黑,爱奇艺完全无效。。。。。。。。。。

    转载请注明原文地址: https://ju.6miu.com/read-1203832.html
    最新回复(0)