摘要:
有时候我们需要对其它应用程序发送和接收的网络数据进行拦截,比如要对IE发送的HTTP头进行分析,得到请求的地址等.这次我们可以用一些例如WPE, Sniffer之类的工具来达到目的.但是工具功能有限,要想实现更强大的功能,还是我们自己动手吧.拦截网络数据封包的方法有三种,一是将网卡设为混杂模式,这次就可以监视到局域网上所有的数据包,二是HOOK目标进程的发送和接收的API函数,第三种方法是自己实现一个代理的DLL.在这里我们使用HOOK API的方法,这样易于实现,而且也不会得到大量的无用数据(如第一种方法就会监视到所有的网络数据).下面是一个尽量简化了的API HOOK的模版,原理是利用消息
阅读全文
posted @ 2011-06-11 13:16
°ι 、曲 终
阅读(965)
推荐(0)
摘要:
不知道大家用过WSockExpert没有, 它可以用来截获指定进程网络数据的传输.前面我还以为它是通过实时远程注入DLL来更改IAT. 不过后来发现在程序一运行时,它就已经将DLL插入所有进程了,这个跟冰哥写的那个模拟SOCKCAP的程序很相似.似乎是将DLL注入所有进程, 不过再想一下, 如果是这样的话,那么后来启动的程序应该不会被注入DLL(除非用定时^_^,这样就太麻烦了), 考虑到这些, 我估计它是用的HOOK,用HOOK的话就有一点方便:不必考虑有没有读写权限的问题. 也就免了一些麻烦.我在BCB环境中用APIHOOK模拟了一个类似的程序,通过HOOK将DLL插入所有进程,然后截获W
阅读全文
posted @ 2011-06-11 13:10
°ι 、曲 终
阅读(892)
推荐(0)
摘要:
网页游戏外挂的编写很简单,不需要研究其源代码,不需要懂得汇编知识,只需要分析发送到服务器和服务器发送到本地的数据包就可以写出来。 但是如果你想尽快分析数据包中的内容并得到结果,那么你可能还需要研究一下源代码。 如果游戏是Flash做的,那么你需要下载一个Flash反编译软件,有的反编译软件像ASV 6.0提供搜索IE Cache的功能,网页游戏的Flash文件就保存在IE Cache里,找到这些文件并反编译之,就可以得到网页游戏的源代码,像风靡一时的开心农场,和我将要提到的QQ摩天大楼,都可以用这种方法得到源代码。 有的游戏不是Flash做的,是JavasSript做的,那么你就需要分析一下那
阅读全文
posted @ 2011-05-24 20:53
°ι 、曲 终
阅读(1907)
推荐(1)
摘要:
/ test.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include "test.h"#include <Wininet.h>#include <Sensapi.h>#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE[] = __FILE__;#endif//////////////////////////////////
阅读全文
posted @ 2011-05-24 20:12
°ι 、曲 终
阅读(851)
推荐(0)
摘要:
江湖上有众多传闻,ShowWindow是最令人糊涂的,很多人说在OnInitDialog()加上ShowWindow(SW_HIDE)对话框便不出现,实验证明,这是不行的,可是在非基于对话框的程序,让一个对话框程序隐藏是可以的,这其中有什么玄机?是因为在OnInitDialog()之后会接着调用OnPain()函数,因此呢在OnPain()函数中加上ShowWindow(SW_HIDE);就可以是对话框隐藏,(位置好像除了在 if (IsIconic())这个里面,其他的什么地方都可以),------------我们难道只要这些吗?否,我们是想需要的时候还能让对话框出现,这个也很好办!声明一个
阅读全文
posted @ 2011-05-24 20:08
°ι 、曲 终
阅读(825)
推荐(0)
摘要:
//窗口抖动实例CPoint CurrentPos; //抖完还要回到这个位置,不要乱跑。CRect rect; //这一段计算主要是为了满足SetWindowPos()的参数要求…不解释吧GetClientRect(&rect);ClientToScreen(&rect);CurrentPos.x = rect.left;CurrentPos.y = rect.top;int FrameWidth;int FrameHight;int CaptionHight; //我当前系统设置上这三个值分别为3,3,22FrameWidth = GetSystemMetrics(SM_C
阅读全文
posted @ 2011-05-24 20:07
°ι 、曲 终
阅读(934)
推荐(0)
摘要:
//查找网页源码,这段代码也可以作为获取外网IP,不过获取外网IP只需要前面一部分就行了,把网页源码读到缓冲区就行了 CString SiteInfo,SiteName=”http://www.ip138.com/ip2city.asp“; CInternetSession mySession(NULL,0); CHttpFile *myHttpFile=NULL; CString myData; myHttpFile=(CHttpFile *)mySession.OpenURL(SiteName); while(myHttpFile->ReadString(myData)) { Sit
阅读全文
posted @ 2011-05-24 20:06
°ι 、曲 终
阅读(781)
推荐(0)
摘要:
BOOL IsProcessExist(CString ProcessName){BOOL ProcessExist=false;PROCESSENTRY32 my; //用来存放快照进程信息的一个结构体HANDLE l = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); //创建进程快照if (((int)l) != -1){my.dwSize = sizeof(my); //必须这样初始化,否则调用Process32First失败if (Process32First(l, &my)) //获得进程快照中的第一个进程{do{//Cha
阅读全文
posted @ 2011-05-24 20:05
°ι 、曲 终
阅读(2487)
推荐(0)
摘要:
给出分割符“;”就行了。后来用VC做相似的字符串分析,VC没有提供这样的函数,上网搜了一下也没有找到,所以自己写了一个函数,虽然函数比较简单,但是或许有朋友需要,刚好可以提供方便!二、函数代码://参数说明:source:需要分割的源字符串;dest:存储分割后的各个字符串变量的目标变量;division:分割字符void decodeCString(CString source, CStringArray& dest, char division){ dest.RemoveAll(); for(int i=0;i〈 source.GetLength();i++) { if(sourc
阅读全文
posted @ 2011-05-24 20:04
°ι 、曲 终
阅读(1218)
推荐(0)
摘要:
1 新建一个mfc extension dll 这个我想用VC的人都会做的事情吧–!名字叫做mydll2 点击 文件—新建 选择文件 建立一个Header File文件 我们就暂定他的名字叫做Hook吧3 在刚才建立的Hook.h的文件中加入复制以下的函数进去extern“C”LRESULT CALLBACK keybordproc(intcode,WPARAM wparam,LPARAM lparam);//钩子处理函数extern“C”boolWINAPI starthook(DWORD threadID);//启动钩子extern“C”boolWINAPI stophook();//停止
阅读全文
posted @ 2011-05-24 20:00
°ι 、曲 终
阅读(1467)
推荐(0)