使用本辅助工具,要小心,别让人举报被封锁了游戏,呵呵~

前天,用VB6写了一个QQ游戏大家来找茬的辅助工具,可是,运行速度太慢了,等到出结果的时候,基本上游戏时间都用了三分之二以上了,所以没有什么实际的意义. 因此,我又用VC#重新写了一下,这样马马虎虎还可以用,原理是这样的: 先用红蜻蜓抓图精灵将QQ游戏大家来找茬的游戏窗口抓图保存成JPG图片,然后用程序读入这幅图片,并截取游戏中的两幅图片,在每隔0.5秒交替显示,这样的话,左右两幅图里面不同的地方就会闪烁,这是只要在游戏的图片上面点击下就可以了.

这么做的程序也只能称之为辅助工具,称不上外挂,所以不用担心会被腾讯发现或封锁. 以我的看法真正的游戏外挂的原理,应该这么做: 分析游戏的内存,找到这两幅图在内存中的地址,然后对内存中的图片数据做对比,最后使用HOOK来在有差异的地方模拟点击鼠标左键就可以了. 但是,这样的外挂也存在一个问题,一是要读取游戏的内存内容,很有可能被杀毒软件当作是木马等恶意程序,二是,这些图片很有可能是存储在腾讯的游戏服务器上的,而客户端在和服务端通讯的时候,仅仅是发送了鼠标相对于图片上的位置数据给服务器而已,然后服务器根据接收到的位置数据来判断,你是否找到了两幅图片不一样的地方. 这种情况的话,本地内存中就并没有图片的像素数据,就无从谈起来做对比了,此时,仍然需要通过截图来实现获取图片的数据.

【网通】点击这里下载程序    【电信、网通】点击这里下载源程序

【下载说明】
1、单击上面这个地址,打开下载页面。
2、点普通下载--等待30秒--点“下载”按钮--保存

演示视频地址:http://v.youku.com/v_show/id_XMjEyMDQ1NzQ0.html

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Drawing.Imaging;
namespace QQHelper
{public partial class frmMain : Form{private Bitmap wndBitmap = null;private Bitmap leftBitmap = null;private Bitmap rightBitmap = null;private int width1 = 380;private int height1 = 285;private int x11 = 10;private int y11 = 185;private int x12 = 390;private int y12 = 470;private int a1 = 392+1;private int width2 = 498;private int height2 = 448;private int x21 = 7;private int y21 = 191;private int x22 = 505;private int y22 = 639;private int a2 = 508+1;private int ShowFlag = 0;public frmMain(){InitializeComponent();}private void timer1_Tick(object sender, EventArgs e){if (wndBitmap != null){wndBitmap.Dispose();wndBitmap = null;}SendKeys.Send("%{PRTSC}");IDataObject iData = Clipboard.GetDataObject();if (iData.GetDataPresent(DataFormats.Bitmap)){wndBitmap = (Bitmap)Clipboard.GetImage();timer3.Enabled = true;}else{timer3.Enabled = false;return;}}private void timer2_Tick(object sender, EventArgs e){if (ShowFlag == 0){pictureBox1.Image = (Bitmap)leftBitmap;ShowFlag = 1;}else{pictureBox1.Image = (Bitmap)rightBitmap;ShowFlag = 0;}}private void frmMain_FormClosing(object sender, FormClosingEventArgs e){if (leftBitmap != null){leftBitmap.Dispose();leftBitmap = null;}if (rightBitmap != null){rightBitmap.Dispose();rightBitmap = null;}if (wndBitmap != null){wndBitmap.Dispose();wndBitmap = null;}}private void frmMain_Load(object sender, EventArgs e){}private void timer3_Tick(object sender, EventArgs e){if (wndBitmap == null) return;if (wndBitmap.Width != 1024 && wndBitmap.Width != 800){label1.Visible = true;label1.Text = "请将游戏窗口打开,并不要在屏幕外!";wndBitmap.Dispose();wndBitmap = null;return;}label1.Visible = false;int w1 = 0, h1 = 0, x1 = 0, y1 = 0, x2 = 0, y2 = 0, a = 0;if (wndBitmap.Width == 1024){w1 = width2;h1 = height2;x1 = x21;y1 = y21;x2 = x22;y2 = y22;a = a2;}else{w1 = width1;h1 = height1;x1 = x11;y1 = y11;x2 = x12;y2 = y12;a = a1;}if (leftBitmap == null) leftBitmap = new Bitmap(w1, h1, PixelFormat.Format24bppRgb);if (rightBitmap == null) rightBitmap = new Bitmap(w1, h1, PixelFormat.Format24bppRgb);BitmapData wndBitmapData = wndBitmap.LockBits(new Rectangle(0, 0, wndBitmap.Width, wndBitmap.Height), ImageLockMode.ReadOnly, PixelFormat.Format24bppRgb);BitmapData leftBitmapData = leftBitmap.LockBits(new Rectangle(0, 0, leftBitmap.Width, leftBitmap.Height), ImageLockMode.WriteOnly, PixelFormat.Format24bppRgb);BitmapData rightBitmapData = rightBitmap.LockBits(new Rectangle(0, 0, rightBitmap.Width, rightBitmap.Height), ImageLockMode.WriteOnly, PixelFormat.Format24bppRgb);unsafe{byte* ptrWnd = (byte*)wndBitmapData.Scan0.ToPointer();byte* ptrlef = (byte*)leftBitmapData.Scan0.ToPointer();byte* ptrRig = (byte*)rightBitmapData.Scan0.ToPointer();int i = 0, j = 0;for (i = y1; i < y2; i++){for (j = x1; j < x2; j++){*(ptrlef++) = *(ptrWnd + i * wndBitmapData.Stride + j * 3);*(ptrlef++) = *(ptrWnd + i * wndBitmapData.Stride + j * 3 + 1);*(ptrlef++) = *(ptrWnd + i * wndBitmapData.Stride + j * 3 + 2);*(ptrRig++) = *(ptrWnd + i * wndBitmapData.Stride + (j + a) * 3);*(ptrRig++) = *(ptrWnd + i * wndBitmapData.Stride + (j + a) * 3 + 1);*(ptrRig++) = *(ptrWnd + i * wndBitmapData.Stride + (j + a) * 3 + 2);}ptrlef += leftBitmapData.Stride - leftBitmap.Width * 3;ptrRig += rightBitmapData.Stride - rightBitmap.Width * 3;}wndBitmap.UnlockBits(wndBitmapData);leftBitmap.UnlockBits(leftBitmapData);rightBitmap.UnlockBits(rightBitmapData);ptrWnd = null;ptrlef = null;ptrRig = null;}wndBitmap.Dispose();wndBitmap = null;}}
}

【更多文章】

  1. [原]SeeFiles:C#查看和修改文件或目录所有属性的工具
  2. [原]《The C Programming Language》电子书下载
  3. [原]PjCleanSystemTrash:C#清除系统盘垃圾
  4. [原]ManageApps:C#读取Windows系统中的已经安装的程序并卸载软件
  5. [原]Cls_Ini.cls:VB写的操作ini配置文件的类
  6. [原]Hotkey.cs:为应用程序添加热键
  7. [原]Hotkey.cs:为应用程序添加热键
  8. [译]C#控制计算机的并口LPT
  9. [译]在C# .NET2.0实现单实例应用程序
  10. [原]《The C Programming Language》电子书下载

QQHelper:QQ大家来找茬 辅助工具 外挂相关推荐

  1. QQ找茬辅助工具的制作

    QQ找茬辅助工具的制作 转载请注明出处:http://www.cppblog.com/greatws/archive/2009/05/05/81996.html 这段时间GF一直在玩QQ找茬,看了一下 ...

  2. QQ找茬辅助工具 C#

    昨天晚上用C#做了一个QQ游戏"找茬"辅助工具.这个不能算是一个外挂工具,因为不涉及到服务器和客户端的问题,只涉及到图像处理的知识.目前只是实现了基本的功能,但是已经够用了,玩了几 ...

  3. QQ找茬辅助工具的制作[转]

    出处:http://www.cppblog.com/greatws/archive/2009/05/05/81996.html 这段时间GF一直在玩QQ找茬,看了一下,原理很简单,就是找到2附图片的不 ...

  4. 大家来找茬辅助工具实现

    昨天看到同学在玩大家来找茬,一时兴起,打算自己写个辅助工具.其实游戏很简单,就是找出两幅图片中的不同之处.游戏规则了解了,那外挂的思路也就很明朗了只要对比两幅图片的像素,有不相同就存储进数组就可以了. ...

  5. “图片差异检查”辅助工具(即“大家来找茬”辅助工具)源码分享

    忽然心血来潮,想写一个辅助工具,让朋友们在"大家来找茬"之类的游戏中可以少费一些眼睛. 在Java方面我是新手,在折腾了一段时间后,终于还是写出了一个基本可用的测试版程序.详细的使 ...

  6. 大家来找茬辅助工具超级简易版

    如上图所示,打开QQ游戏,等待游戏开始,按alt+print对当前窗口截屏,然后按start对图像分析,并按图中白色区域较多的提示点点击. 纯粹山寨,仅供娱乐哈.

  7. FindDifferent - QQ游戏快速找茬工具

    为什么80%的码农都做不了架构师?>>>    FindDifferent - QQ游戏快速找茬工具 原文来自:http://yhzhtk.info/2013/06/23/1-qq- ...

  8. 【转】菜鸟也来打造全自动QQ大家来找茬外挂

    菜鸟也来打造全自动QQ大家来找茬外挂 转载请注明:www.UNPACK.cn by y3y3y3 定位关键代码 zSound\\ClickRight.wav .text:0042DB40 loc_42 ...

  9. 跟我学 编写QQ找茬辅助1 -原创文章

    今天把完美日志更新一下打算早点睡觉的.        被朋友拉着玩了一下QQ找茬..高手大有人在啊..很是悲惨..           朋友痛恨的说.不行,要找外挂玩玩..百度一下,也还有不少..对于 ...

  10. QQ游戏美女找茬外挂

    前段时间看到别人玩QQ游戏,美女来找茬,突然之间想到自己可以做个小外挂,自动比较两幅图,把不同之处标出来.软件自动化测试和开发简单的游戏外挂很相似.都是控制UI,然后模拟键盘和鼠标操作 思路: 1. ...

最新文章

  1. LeetCode简单题之学生出勤记录 I
  2. 基于thrift的微服务框架
  3. caffe专题五——回归中——检测框架
  4. python调用系统命令_Python调用外部系统命令
  5. Subversion under Linux [Reprint]
  6. sqlserver2008链接服务器的使用和oracle11g客户端修改字符集
  7. ajax请求 cache,JavaScript_解析jquery中的ajax缓存问题,jquery的ajax请求默认请求cache是t - phpStudy...
  8. 第29章:字符串编辑距离
  9. ppt矩形里面的图片怎么放大缩小_PPT图片局部放大技巧
  10. 解决Docker容器中无法使用vim命令
  11. 肿瘤信息学中一些专业词汇整理(不断更新ing)
  12. Git bash和 Git GUI设置中文
  13. 使用SPACEDESK时iPad显示Connected-Display OFF解决方法
  14. java极光短信的集成
  15. Some linux hits
  16. 解答01-西农计算机考研常被误解的观点
  17. 机电一体化与计算机系,电力系统自动化与机电一体化专业介绍
  18. 【STM32H7的DSP教程】第50章 STM32H7的样条插补实现,波形拟合丝滑顺畅
  19. LifeKeeper 操作规程及注意事项
  20. 我的心境 - 行到水穷处,坐看云起时。

热门文章

  1. 黎曼Zeta函数,人类文明永恒的纪念
  2. walking与Matlab入门教程-控制walking机器人移动
  3. [半决赛魔咒] 那些罚失点球的人,恰恰是那些有勇气站在点球前的人。。
  4. 调整Node运行内存全攻略
  5. 【21CN】“电商+互动直播”聚美优品携手腾讯云开启颜值经济
  6. 腾讯开放平台实现QQ登录
  7. c语言打砖块游戏说明,c语言打砖块游戏.doc
  8. python函数——Bunch配置加载
  9. memcmp的用法 详讲
  10. docker-nividia run 报错