摘要: 1. 前言 2. 功能目标和实现原理 3. 项目支持模块 4. 项目构成 5. 项目开发所用到工具和方法 6. 开发进程 UI部分 控件库 前端UI 功能部分 登陆功能的实现, QQ登陆功能的实现2 ADSL拨号实现 TreeView的操... 阅读全文
posted @ 2012-04-17 17:46 rolends1986 阅读(7925) 评论(31) 推荐(10) 编辑
  2012年4月30日
摘要: 分析部分 当我们访问QQ空间的时候,大家可以在右侧的发现一个这样的统计信息 当点击这个链接的时候,会跳转到 这样一个URL 这个URl可以管理好友,当然也就能读取到好友 上面我们是在浏览器中的操作,接下来看看数据到底怎么获取的,我们通过Fiddler的查找功能,就可以查找到web请求和内容信息,我们就会找到如下一个URL,当然Fiddler是在操作之前打开的 通过Fiddler发现返回... 阅读全文
posted @ 2012-04-30 18:16 rolends1986 阅读(17298) 评论(14) 推荐(9) 编辑
  2012年4月28日
摘要: 一,程序逻辑图示 物理拓扑就不画了,是一般简单的CS架构 二,服务端实现过程 1), 服务端开始监听,并启动接收线程 public void Start(int port) { _listenPort = port; serverSocket = new Sock... 阅读全文
posted @ 2012-04-28 18:03 rolends1986 阅读(4272) 评论(4) 推荐(4) 编辑
  2012年4月27日
摘要: 一,分析 1,群数据获取 当访问http://qun.qq.com/air/#mygroup我们通过Fiddler可以查看到QQ群列表是从http://qun.qq.com/air/group/mine?w=a这个URL获取到的群列表信息 其中返回的json数据,json构成如下 从上面我们... 阅读全文
posted @ 2012-04-27 12:14 rolends1986 阅读(10968) 评论(12) 推荐(3) 编辑
  2012年4月24日
摘要: 其实我在前面的文章已提到过如何实现窗体遍历http://www.cnblogs.com/Rolends/archive/2012/04/19/2456907.html windows所有的窗体都是被系统所管理的,系统以句柄的形式去表征这些窗体,我们的目标就是找到这些句柄 通过msdn可以查询到要获取所有的窗体需借助于EnumDesktopWindows这个api函数去实现,函数原型如下BOOL ... 阅读全文
posted @ 2012-04-24 16:17 rolends1986 阅读(7210) 评论(7) 推荐(1) 编辑
摘要: 由于上篇C#操作QQ的TreeView控件以及详细讲解过如何操作其他进程的控件的流程,所以关于如何操作我就不在啰嗦了 主要实现流程如下 1), 获取列数 获取列数需先获取列的索引指针 columnIndex = WinAPIHelper.SendMessage(lvHwnd, (int)WinAPIHelper.LVM.GETHEADER, 0, 0); 利用列索引指针去... 阅读全文
posted @ 2012-04-24 15:46 rolends1986 阅读(2839) 评论(18) 推荐(2) 编辑
  2012年4月23日
摘要: 通过spy++我们可以发现类ATL:30A57F50为treeview控件 我们需实现如下对treeview的操作 1),遍历获取信息 2),单选 3),多选 操作其他进程的步骤这个不区分语言的,一般实现过程如下 1),打开远程进程,这个调用API 函数 OpenProcess来实现 2),分配远程内存,调用API VirtualAllocEx 来实现,当然不是绝对的,当操作是不需要对象,而是通过SendMessage直接返回时就不需要分配 3),内存复制,由本地进程内存复制到远程进程内存,使用WriteProcessMemory来实现,同上不是绝对,只有调用需要读取对象信息... 阅读全文
posted @ 2012-04-23 20:40 rolends1986 阅读(4949) 评论(4) 推荐(3) 编辑
  2012年4月22日
摘要: 上篇我们说到了如何实现登陆,但是腾讯对某一个IP在某一段时间的登陆行为存在检测,对于存在异常的IP会出现验证码 但是腾讯的验证码比较难识别,或许是我对图形识别(匹配)的技术还认识的不够深刻 噪线,倾斜,字符连接,镂空,噪线字符同色.这些都是识别的难点,具体的算法我试过,识别成功率很低,技术不够没办法,好了偏题了,还是说ADSL拨号的实现 ADSL拨号需要调用windows api来实现... 阅读全文
posted @ 2012-04-22 16:43 rolends1986 阅读(3165) 评论(3) 推荐(0) 编辑
  2012年4月19日
摘要: QQ登陆功能的实现2 由于看到园子里有朋友说需要讲解和剖析实现的步骤,前面的QQ登陆实现只有代码,所以这篇补上 1. 分析 1). 当运行QQ.exe后会出现qq登陆界面的窗体 2). 我们用spy++分析窗体可以看到窗体有2个子控件,一个是账号输入框,一个密码框 3). 再用spy++做事件分析,让spy++挂载hook后点解登陆按钮可以发现,按钮点击的坐标 2. 上面我们... 阅读全文
posted @ 2012-04-19 12:57 rolends1986 阅读(6865) 评论(11) 推荐(3) 编辑
  2012年4月18日
摘要: 1 .net 全局钩子支持 .net下无法实现全局钩子,所以捷径是用EasyHook来实现 EasyHook 是 codeplex 上的一个开源项目,http://easyhook.codeplex.com/,同时在google code上也有介绍http://code.google.com/p/easyhook-continuing-detours/ EasyHook 作者的介绍是a)在目标... 阅读全文
posted @ 2012-04-18 23:23 rolends1986 阅读(1022) 评论(0) 推荐(0) 编辑
摘要: 关于HTTP协议http协议是一种无状态协议。这是首先要明确的,客户端(client)发送一个请求,服务端(server)收到之后,根据请求的URL和HTTP头信息,给出相应的答案。505,404,400等,一般正确的200,服务器除了IP和UserAgent等常用信息之外,服务器无法知道具体的标示,也就是说服务器无法知道这个请求来自哪个客户端,OK!那么就引入了Cookie的概念,服务器一般用cookie去标示客户端,可见cookie对于现在web系统的重要性,如果没有cookie现在的web啥不是。也就是说Cookie的web交互核心之一 要实现web自动化操作,就要控制Cookie以及. 阅读全文
posted @ 2012-04-18 17:59 rolends1986 阅读(4168) 评论(13) 推荐(4) 编辑