<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
	xmlns:media="http://search.yahoo.com/mrss/"
>

<channel>
	<title>Raullen &#187; Add-In 开发</title>
	<atom:link href="http://www.raullen.net/category/add-in-%e5%bc%80%e5%8f%91/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.raullen.net</link>
	<description>上善若水</description>
	<lastBuildDate>Tue, 20 Jul 2010 17:43:15 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<!-- podcast_generator="podPress/8.8" - maintenance_release="8.8.4" -->
		<copyright>Copyright &#xA9; 2010 Raullen </copyright>
		<managingEditor>admin@raullen.net ()</managingEditor>
		<webMaster>admin@raullen.net ()</webMaster>
		<category>posts</category>
		<itunes:keywords></itunes:keywords>
		<itunes:subtitle></itunes:subtitle>
		<itunes:summary>On the way...</itunes:summary>
		<itunes:author></itunes:author>
		<itunes:category text="Society &amp; Culture"/>
		<itunes:owner>
			<itunes:name></itunes:name>
			<itunes:email>admin@raullen.net</itunes:email>
		</itunes:owner>
		<itunes:block>No</itunes:block>
		<itunes:explicit>no</itunes:explicit>
		<itunes:image href="http://www.raullen.net/wp-content/plugins/podpress/images/powered_by_podpress_large.jpg" />
		<image>
			<url>http://www.raullen.net/wp-content/plugins/podpress/images/powered_by_podpress.jpg</url>
			<title>Raullen</title>
			<link>http://www.raullen.net</link>
			<width>144</width>
			<height>144</height>
		</image>
		<item>
		<title>[免费下载]QQ找茬保姆V1.1 版本</title>
		<link>http://www.raullen.net/2008/02/19/%e5%85%8d%e8%b4%b9%e4%b8%8b%e8%bd%bdqq%e6%89%be%e8%8c%ac%e4%bf%9d%e5%a7%86v11-%e7%89%88%e6%9c%ac-qq%e6%b8%b8%e6%88%8f%e5%a4%a7%e5%ae%b6%e6%9d%a5%e6%89%be%e8%8c%ac%e8%be%85%e5%8a%a9%e6%8f%92/#utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=%25e5%2585%258d%25e8%25b4%25b9%25e4%25b8%258b%25e8%25bd%25bdqq%25e6%2589%25be%25e8%258c%25ac%25e4%25bf%259d%25e5%25a7%2586v11-%25e7%2589%2588%25e6%259c%25ac-qq%25e6%25b8%25b8%25e6%2588%258f%25e5%25a4%25a7%25e5%25ae%25b6%25e6%259d%25a5%25e6%2589%25be%25e8%258c%25ac%25e8%25be%2585%25e5%258a%25a9%25e6%258f%2592</link>
		<comments>http://www.raullen.net/2008/02/19/%e5%85%8d%e8%b4%b9%e4%b8%8b%e8%bd%bdqq%e6%89%be%e8%8c%ac%e4%bf%9d%e5%a7%86v11-%e7%89%88%e6%9c%ac-qq%e6%b8%b8%e6%88%8f%e5%a4%a7%e5%ae%b6%e6%9d%a5%e6%89%be%e8%8c%ac%e8%be%85%e5%8a%a9%e6%8f%92/#comments</comments>
		<pubDate>Tue, 19 Feb 2008 13:57:55 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Add-In 开发]]></category>

		<guid isPermaLink="false">http://www.raullen.net/199.html</guid>
		<description><![CDATA[本文采用Windows Live Writer发布
升级日志[2008-2-19]
1 优化了和提高了查找精度和速度(2秒之内)
2 使用缩小图技术解决了显示器在1024&#215;768分辨率时使用本软件的不方便之处
3 去除了边缘提示图的有色边缘
4 消除鼠标在原图中所引起的识别错误
5 修改了其他Bug
点击下面链接下载：（总计大小：170 KB，绿色软件，无需安装）
下载地址一：    
下载地址二:       
下载地址三:       
软件界面:


 如何使用 

首先运行QQ游戏大家来找茬，再运行本软件（这一顺序可以相反，对本软件没有任何影响）。当QQ找茬游戏开始并且载入有差异的两幅图以后，可以点击&#8221;帮我找&#8221;按钮或者按下F5热键(推荐使用F5热键），本软件会在5秒之内找到两幅图的相异之处，用桃红色标识出来，显示在QQ找茬的旁边，而玩家则可以根据这些提示在原游戏中进行点击。
《QQ找茬保姆》是QQ游戏大家来找茬的辅助工具，而非外挂。大家来找茬是一款经典的游戏，支持2－4人同时开始进行游戏，在限定时间内，找出左右两幅图的不同之处，以最快找出不同之处最多的玩家为优胜者。游戏规则极为普及、操作简单、考验玩家的分析力观察力、适合不同性别不同年龄段的玩家，实乃办公室、宿舍杀手。
本软件不会帮助任何人以任何形式进行作弊，而是通过对玩家进行免费和全面的提示而达到提高游戏质量，促进玩家进步的目的。本软件设计初衷是对图像处理技术的探讨和研究，请勿将本软件用于非法目的，否则一切后果自负！

Share on Facebook


分享到


















]]></description>
		<wfw:commentRss>http://www.raullen.net/2008/02/19/%e5%85%8d%e8%b4%b9%e4%b8%8b%e8%bd%bdqq%e6%89%be%e8%8c%ac%e4%bf%9d%e5%a7%86v11-%e7%89%88%e6%9c%ac-qq%e6%b8%b8%e6%88%8f%e5%a4%a7%e5%ae%b6%e6%9d%a5%e6%89%be%e8%8c%ac%e8%be%85%e5%8a%a9%e6%8f%92/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>QQ游戏 大家来找茬 辅助插件 开发手记(三)</title>
		<link>http://www.raullen.net/2008/02/18/qq%e6%b8%b8%e6%88%8f-%e5%a4%a7%e5%ae%b6%e6%9d%a5%e6%89%be%e8%8c%ac-%e8%be%85%e5%8a%a9%e6%8f%92%e4%bb%b6-%e5%bc%80%e5%8f%91%e6%89%8b%e8%ae%b0%e4%b8%89/#utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=qq%25e6%25b8%25b8%25e6%2588%258f-%25e5%25a4%25a7%25e5%25ae%25b6%25e6%259d%25a5%25e6%2589%25be%25e8%258c%25ac-%25e8%25be%2585%25e5%258a%25a9%25e6%258f%2592%25e4%25bb%25b6-%25e5%25bc%2580%25e5%258f%2591%25e6%2589%258b%25e8%25ae%25b0%25e4%25b8%2589</link>
		<comments>http://www.raullen.net/2008/02/18/qq%e6%b8%b8%e6%88%8f-%e5%a4%a7%e5%ae%b6%e6%9d%a5%e6%89%be%e8%8c%ac-%e8%be%85%e5%8a%a9%e6%8f%92%e4%bb%b6-%e5%bc%80%e5%8f%91%e6%89%8b%e8%ae%b0%e4%b8%89/#comments</comments>
		<pubDate>Mon, 18 Feb 2008 06:02:39 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Add-In 开发]]></category>

		<guid isPermaLink="false">http://www.raullen.net/196.html</guid>
		<description><![CDATA[今天谈一谈数字图像处理中的轮廓识别问题。这个问题涉及到一些数字图像处理的理论和算法，推荐阅读：
 《数字图像处理(第二版) 》
【原 书 名】 Digital Image Processing (2nd Edition) 
【原出版社】 Prentice Hall 
【作 者】(美)Rafael C. Gonzalez;Richard E. Woods [同作者作品] [作译者介绍] 
【译 者】 阮秋琦;阮宇智[同译者作品] 
【丛 书 名】 教育部高等教育司推荐.国外优秀信息科学与技术系列教学用书 
【出 版 社】 电子工业出版社     【书 号】 9787121043970 
 http://www.china-pub.com/247863
这本书是本领域的经典教材，我略读过一些章节，感觉非常受用。
书规正传，为什么要做轮廓识别呢？对于稍有计算机常识和编程经验的玩家来说，我们最初的思路是将整个窗口一分为二，然后左右对应的像素进行比较，相异之处标识出来。至少我的最初思路是这样的！
然而，这就存在一个问题了，窗口平分没有错。但可惜的是左右窗口中的图并非完全对成的。举个例子，左图中找茬图(3,3)点的像素值可能并不直接对应右图中找茬图的(3,3)点的像素值。为什么会这样呢？大家注意下图中的红色区域，这两跟长方形竖调的宽度是不等的，并且是随机波动的(当然在一个范围之内)! 我猜想这是QQ游戏为了防止作弊采取的一个小小的trick。这样好让作弊器不太容易直接把左右两幅如对上。也就是说这一次游戏左(3,3)点应该和右(7,3)点对应，下一次游戏可能就和(0,3)点对应了。



说到这里 这就需要我们的程序去识别左右两幅找茬图在窗口中的边界,也就是轮廓!明白了?识别的方法有很多，我用了如下办法：
1 图像二值化(是二值化，不是去色!)，这里用到了迭代法和大律法，感觉效果差不多，代码附在最后！
2 在左右边缘某一范围内搜索一群符合如下规则的点，也就是找到了边界:
  A 横坐标相同
  B 该横坐标下的黑色点至少有5个，且多于上一横坐标下的黑色点，且少于下一横坐标下的黑色点
  C 这些点都位于某一纵坐标范围内
这样，我就顺利的找到了两张图的边界(但这并不是最优办法，下一版本中我计划引入边缘检测算法，包括Roberts, Sobel, Prewitt, Kirsch)，并且进行了一一比对(代码如图所示)，将相异之点设置成桃红色(RGB(255,0,255)),这就基本完成了分析和查找的任务！


附上代码：
***************************************************************************
* 函数名称
* OSTUThreshold()
* 参数
* LPSTR lpDIBBits &#8211; 指向源DIB图像指针
* LONG lWidth &#8211; 源图像宽度(像素数)
* LONG lHeight [...]]]></description>
		<wfw:commentRss>http://www.raullen.net/2008/02/18/qq%e6%b8%b8%e6%88%8f-%e5%a4%a7%e5%ae%b6%e6%9d%a5%e6%89%be%e8%8c%ac-%e8%be%85%e5%8a%a9%e6%8f%92%e4%bb%b6-%e5%bc%80%e5%8f%91%e6%89%8b%e8%ae%b0%e4%b8%89/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>QQ游戏 大家来找茬 辅助插件 开发手记(二)</title>
		<link>http://www.raullen.net/2008/02/16/qq%e6%b8%b8%e6%88%8f-%e5%a4%a7%e5%ae%b6%e6%9d%a5%e6%89%be%e8%8c%ac-%e8%be%85%e5%8a%a9%e6%8f%92%e4%bb%b6-%e5%bc%80%e5%8f%91%e6%89%8b%e8%ae%b0%e4%ba%8c/#utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=qq%25e6%25b8%25b8%25e6%2588%258f-%25e5%25a4%25a7%25e5%25ae%25b6%25e6%259d%25a5%25e6%2589%25be%25e8%258c%25ac-%25e8%25be%2585%25e5%258a%25a9%25e6%258f%2592%25e4%25bb%25b6-%25e5%25bc%2580%25e5%258f%2591%25e6%2589%258b%25e8%25ae%25b0%25e4%25ba%258c</link>
		<comments>http://www.raullen.net/2008/02/16/qq%e6%b8%b8%e6%88%8f-%e5%a4%a7%e5%ae%b6%e6%9d%a5%e6%89%be%e8%8c%ac-%e8%be%85%e5%8a%a9%e6%8f%92%e4%bb%b6-%e5%bc%80%e5%8f%91%e6%89%8b%e8%ae%b0%e4%ba%8c/#comments</comments>
		<pubDate>Fri, 15 Feb 2008 16:02:54 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Add-In 开发]]></category>

		<guid isPermaLink="false">http://www.raullen.net/192.html</guid>
		<description><![CDATA[因为游戏的特殊性质，本软件比较强调实时性，因此在获取速度、识别速度和反应速度这三个方面都要予以强调，首先介绍如何提高获取速度。下面是一段我常用的代码
1、 粗略测定算法速度的代码：
 DWORD t1 = timeGetTime();//算法代码DWORD t2 = timeGetTime(); 
 double spend=(double)(t2-t1); 
 CString msg; 
 msg.Format(&#8220;运行完成，一共花费时间为：%d毫秒&#8220;,(int)spend); 
 AfxMessageBox(msg);其中需要注意API：timeGetTime，使用的时候需要带上类库和头文件  
  Windows NT: Requires version 3.1 or later.
  Windows: Requires Windows 95 or later.
  Windows CE: Unsupported.
  Header: Declared in mmsystem.h.
  Import Library: Use winmm.lib.
其次我们做个关于API的小实验：
2、BitBlt &#38; GetPixel, Which is faster?实验结果令人瞠目结舌，再1280&#215;1024分辨率下截屏，Test1需要45毫秒而Test2需要7秒左右。因此粗略估计BitBlth和GetPixel的速度相差150倍左右，因此用谁不用谁不言自明。

附上测试代码：点击查看

Share on Facebook


分享到


















]]></description>
		<wfw:commentRss>http://www.raullen.net/2008/02/16/qq%e6%b8%b8%e6%88%8f-%e5%a4%a7%e5%ae%b6%e6%9d%a5%e6%89%be%e8%8c%ac-%e8%be%85%e5%8a%a9%e6%8f%92%e4%bb%b6-%e5%bc%80%e5%8f%91%e6%89%8b%e8%ae%b0%e4%ba%8c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>QQ游戏 大家来找茬 辅助插件 开发手记(一)</title>
		<link>http://www.raullen.net/2008/02/15/qq%e6%b8%b8%e6%88%8f-%e5%a4%a7%e5%ae%b6%e6%9d%a5%e6%89%be%e8%8c%ac-%e8%be%85%e5%8a%a9%e6%8f%92%e4%bb%b6-%e5%bc%80%e5%8f%91%e6%89%8b%e8%ae%b0%e4%b8%80/#utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=qq%25e6%25b8%25b8%25e6%2588%258f-%25e5%25a4%25a7%25e5%25ae%25b6%25e6%259d%25a5%25e6%2589%25be%25e8%258c%25ac-%25e8%25be%2585%25e5%258a%25a9%25e6%258f%2592%25e4%25bb%25b6-%25e5%25bc%2580%25e5%258f%2591%25e6%2589%258b%25e8%25ae%25b0%25e4%25b8%2580</link>
		<comments>http://www.raullen.net/2008/02/15/qq%e6%b8%b8%e6%88%8f-%e5%a4%a7%e5%ae%b6%e6%9d%a5%e6%89%be%e8%8c%ac-%e8%be%85%e5%8a%a9%e6%8f%92%e4%bb%b6-%e5%bc%80%e5%8f%91%e6%89%8b%e8%ae%b0%e4%b8%80/#comments</comments>
		<pubDate>Thu, 14 Feb 2008 16:10:39 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Add-In 开发]]></category>

		<guid isPermaLink="false">http://www.raullen.net/185.html</guid>
		<description><![CDATA[今天开始，将我春节期间对《QQ游戏 大家来找茬》的分析、辅助插件的设计、编码等一些研究与大家分享。本文所述内容纯属技术讨论范畴，请勿用于非法目的！
QQ游戏大家来找茬是一款很好的休闲娱乐游戏。作为一只视力不太好的菜鸟，在玩游戏的过程中，我不禁产生了这样一个思路：在图像和视频领域，基于人工智能的机器识别在速度和稳定性方面明显强于肉眼。为何不编制一个基于机器图像识别的辅助程序，使的玩游戏的人在卡壳的时候能主动的寻找一些提示呢？（当然，游戏本身提供了一个放大镜的道具，但是这个道具是收费的，因此我不敢用）

   
这个基于机器图像识别的辅助程序原理很简单，对左右两幅图片进行逐行或者逐列的扫描，对于获取到的像素进行一一比对即可发现两图之差异，这一结构和传统的计算机信息系统获取-分析-行动的思路毫无二致。

那么如何获取呢？我提供三个思路：
u        网络封包的截取和分析：不难看书，每幅图更新的时候网络会有一定的数据传输，如果这时进行本机抓包，应该可以抓到这些数据。根据协议逐段分解后，直接比对raw data，若不通则计算不同之处的坐标位置，可以得知图像相异之处。这无疑是最为快捷的一种办法，无奈QQ游戏的协议分析这一基础工作做的并不是十分到位，相关资料参见：http://www.baidu.com/s?ie=gb2312&#38;bs=qq+%D3%CE%CF%B7+%D0%AD%D2%E9%B7%D6%CE%F6&#38;sr=&#38;z=&#38;cl=3&#38;f=8&#38;wd=qq+%D3%CE%CF%B7+%D0%AD%D2%E9&#38;ct=0
u        第二个办法是定位屏幕图像对应的内存里面的数据，然后逐一比较可以发现相异之处。这个办法基于一个显而易见的事实，既屏幕上每个或者每群像素点的颜色信息总是和内存的某个位置或某一些位置对应。这个方法也十分高效。无奈我用金山游侠抓了若干次，看不太出这个对应规律，只能作罢。。。
u        第三个办法是网上一些外挂用到的利用游戏漏洞的思路。具体漏洞我不得而知，但这种方法可能会因为这款游戏的不断更新而失去其用武之地，因此也不在本文讨论范畴之中
u        最后的，也是最为愚笨的，当然也是最为可靠的办法就是，扫描屏幕该区域-把所有像素点的色彩信息按照某种数据结构存储起来，然后分析和处理！这便是敝人用的办法。但是笨办法也有其生存的道理，例如不惧怕游戏升级，通用性强（至于本软件是否可以用在联众等其他游戏的找茬中，没有测试过，但理论上可行）。

这里顺便提一句关于外挂开发，这方面的文章网上很少，可以百度或者google到的就那几篇，希望本文能给大家带来一些启发。本人才疏学浅，只是兴趣使然，对逆向工程、软件工程略懂皮毛，凭着热情也做过一些棋牌类游戏的外挂，这些经验今后我将和大家一一分享。 本文有疏漏之处还望指正！
 未完待续。。。
Share on Facebook


分享到


















]]></description>
		<wfw:commentRss>http://www.raullen.net/2008/02/15/qq%e6%b8%b8%e6%88%8f-%e5%a4%a7%e5%ae%b6%e6%9d%a5%e6%89%be%e8%8c%ac-%e8%be%85%e5%8a%a9%e6%8f%92%e4%bb%b6-%e5%bc%80%e5%8f%91%e6%89%8b%e8%ae%b0%e4%b8%80/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
