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

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


有一个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端口,是的话就放行,不是的话就转到本地,相当于屏蔽掉此次请求。。。。


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













 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值