当前位置:编程学习 > VC++ >>

一种网络劫持分析、调试与编程实现(ws2_32.dll)/VC/MFC

1.网络劫持的应用:

    有时候,最好的破解方法,只要劫持软件的网络通信返回结果或者指向的服务器就可以了。那么这个时候,跳过复杂的脱壳与繁琐的逆向分析,直接进行网络劫持,可是一种简单、快捷、有效的

方法。

2.网络劫持的分析:

   首先找到一个通用的劫持模板代码,PEDIY看雪上有。然后在你要劫持的函数地方加入代码,能够停下来。(比如connect函数)

简单的就是直接加:

MessageBox(NULL,"xxx","connect",MB_OK);

然后,可以通过两种方式分析:

1)OLLYDBG(OD)调试方式:直接加载侯,f5,直到下面窗口:

 

\

 

 

 

 

 

 

 

不要点确定哟。在od中按f12暂停。然后打开堆栈窗口,找调用地址:

\

 

 

 

 

下一步就是按这个地址设定断点分析了(有了这个地址上下文,自然好分析要劫持的ip了)

 

\

 

 

 

 

 

 

 

 

 

 

再到PsockAddr所指的地方,那就是原来的ip,修改那里,就是你的劫持ip了(不过是16进制的数字ip,高低byte颠倒的,就是NETWORK ADDR).

2)使用vc调试分析:

按如下,一样可以定位(先f9设好断点)

\

 

 

 

 

 

 

 

 

 

3.编程实现:

ALCDECL hajack_connect(void)
{

unsigned long *p_ip;
unsigned long *p_ip2;
_asm{
//push eax;
mov p_ip, esp;
add p_ip,8
}
//p_ip+=2;
p_ip2 = (unsigned long *)* p_ip;
p_ip2+=1;
*p_ip2=0x8a047e63; ////ip=99.126.4.138
GetAddress("connect");

}

补充:软件开发 , Vc ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,