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");
}
|