整蛊QQ截图

昨天看到有一个朋友自己实现了类似QQ截图的功能,于是把QQ截图的 DLL 翻出来,简单测试了一下,发现一些不常见的小功能也许对大家有用。这里使用 RTX(腾讯的另一个软件产品) 中自带的 camerawnd.dll, 和QQ的很相似。

第一步:用 vc 自带的 DEPENDS.EXE 察看 DLL 的导出函数,有以下三个

CameraSubArea,CameraWndArea,CameraScreen

从字面意思看,第一个是截取子范围的,第二个是截取窗口范围的,第三个是截屏的现在还不知道函数参数,写个测试程序先,函数暂时认为无返回值 无参数代码如下:

typedef void (*FUN)();
  HMODULE hInst = LoadLibrary(_T("CameraWnd.dll"));
  if (hInst != NULL)
  {
    FUN pFunc = (FUN)GetProcAddress(hInst, "CameraSubArea");
    if (pFunc != NULL)
    {
      pFunc();
    }
  }

结果测试通过,同样的代码换成 GetProcAddress(hModule, "CameraWndArea") 也能成立,并且出现窗口截图模式,估计还没有人见过, ^_^当换成 GetProcAddress(hModule, "CameraScreen")可以运行,函数返回的时候会出现异常,说明这个函数是有参数的或者我们的调用方式不对。

第二步:vc调试模式,跟踪 CameraSubArea 方法可以看到:10001200 push 40800000h
10001205 push 1
10001207 push 1
10001209 call 100010E0

跟踪 CameraWndArea 方法可以看到:

10001210 push 40800000h
10001215 push 0
10001217 push 2
10001219 call 100010E0

跟踪 CameraScreen 方法可以看到:

100010E0 push ebp
100010E1 mov ebp,esp
100010E3 push 0FFh
100010E5 push 10007973h

看来前两个函数都是调用第三个方法实现的,只不过输入参数不同,< CameraScreen 应该有3个参数,暂时认为是 int,int,int那么第一、第二个函数应该是使用如下方法调用第三个函数的,

void CameraSubArea()
{
  CameraScreen(1, 1, 0x40800000);
}
void CameraWndArea()
{
  CameraScreen(2, 0, 0x40800000);
}

随后我又尝试修改每一个参数,除了最后一个参数不知道作用外,第一个应该是控制模式的,第二个参数控制是否显示放大镜是个bool类型第三个参数修改后会影响放大镜中显示的内容,估计是放大镜的参数。有兴趣大家可以尝试一下或者直接使用附带源代码测试运行结果。

另:CameraScreen 应该是有返回值的,如果没有返回值调用者怎么知道用户截图是取消了还是截取了,不会自己去检查剪贴板吧。之前有人出现截图功能无法使用的问题,可能是某个其它程序打开剪贴板后没有关闭,导致程序打开剪贴板失败,这时候系统的截图键应该也不能用。

本文配套源码

时间: 2024-09-14 11:01:40

整蛊QQ截图的相关文章

用C# 实现截图功能(1)(类似QQ截图)

概述: 在公司,不能自己安装软件,也不能下载,但有时候需要截图.用PrintScreen键只能截取全屏,感觉很麻烦.于是决定自己编写一个截图工具. 众所周知,QQ截图首先将截取全屏为一个图片,然后用在这个图片基础上截取需要的部分.本程序实现方法类似. 程序运行截图如下: 图中心矩形为即将截取区域 程序很粗糙,希望大家提出宝贵意见. 1,自定义矩形类MyRectangle 在QQ截图程序中,用户用鼠标绘制出的截图区域是可调整大小和位置的,在4个边的中点和4个顶点各有一个小矩形标记.(如图所示) .

QQ截图的文字怎么变成变为word?

  QQ截图的文字怎么变成变为word? 之前没使用过相关工具或者方法的朋友,刚看到这一标题肯定会觉得很神奇呢?那么,如果你已经感兴趣的话,那就继续往下看吧.用qq截图工具截取各种文字信息,这样可以减少手动录入文字的负担.大家都知道,qq截图中的文字只是图片格式,如果要编辑修改必须转换到word格式,今天小编就来推荐一款软件. 在这里小编给大家介绍一款可以将JPG.GIF.PNG.BMP.TIF等格式图片中文字识别转换的一个工具软件--捷速图片文字转换成word软件,这款软件采用了时下最先进的O

win7电脑中如何将QQ截图的格式从png更改为jpg?

  说到如何在win7旗舰版下载中截图,可能大家最为熟悉的方式便是使用QQ截图吧!毕竟QQ是咱们每次上网都必须开启的一个工具,自然使用它来截图也是最为方便的了.不过QQ截图却还是有一个限制,那便是它截图的格式,一般来说,都是png格式的图片,对于一些有要求的朋友来说,png似乎并不是那么好用.那么今天小编就来为大家介绍一下,如何在win7旗舰版下载中将QQ截图的格式从png修改为jpg吧! 1.首先,咱们按照正常的步骤进行截图,保存下来的是png格式的图片,之后,咱们双击打开win7旗舰版下载桌

如何把qq截图的文字变为word

如何把qq截图的文字变为word? 步骤1:首先大家需要在电脑中下载安装捷速图片文字转换成Word软件,安装过程非常简单,三步即可安装成功. 步骤2:打开捷速图片文字转换成Word软件,将qq截图文件添加到软件中.用户可点击"添加文件"按钮进行添加图片,也可直接将图片拖拽至软件中. 步骤3:选择识别文件的存放路径,用户可以选择保存在原文件夹内,也可以自定义文件夹,最好是跟原图片存放在同一文件夹内,这样便于查找. 步骤4:点击"开始转换"开始自动识别,识别完成后生成的

Win7旗舰版系统下使用QQ截图功能实现快速截图的技巧

  1.首先要打开并运行QQ程序,接着在键盘上按下crtl+alt+A组合快捷键自动调出QQ截图功能; 2.然后拖动鼠标,选择你需要截图的地方,选择好之后可以右键选择"完成"或者"保存",或者直接点击截图下方的工具栏进行保存,完成的功能作用就是复制到剪贴板中,在需要的地方粘贴就可以,如果选择保存就是将其保存到电脑的路径中. 3.如果用户对截出来的图片不满意的话,可以鼠标右键退出截图,然后再重新截图就可以了.

Mac QQ截图保存在哪里?苹果电脑Mac qq截图文件路径设置技巧图解

  由于Mac系统自带的截图不方便,很多童鞋都是用QQ Mac版的截屏(快捷键command+control+A),QQMac版的截屏图片保存在哪儿呢?可不可以像Windows版本一样设定保存路径呢?当然是可定的.Mac QQ截图保存你需要的位置,你可以在偏好设置当中设定路径. 首先.随便打开一个聊天窗口,让Mac OS系统左上角的导航栏显示 QQ 的各种功能界面. 第二.如下图所示,点击 "QQ",进入"偏好设置"菜单当中,如下图所示界面: 第三步.如下图所示的

Mac QQ截图保存在哪里

  由于Mac系统自带的截图不方便,很多童鞋都是用QQ Mac版的截屏(快捷键command+control+A),QQMac版的截屏图片保存在哪儿呢?可不可以像Windows版本一样设定保存路径呢?当然是可定的.Mac QQ截图保存你需要的位置,你可以在偏好设置当中设定路径. 首先.随便打开一个聊天窗口,让Mac OS系统左上角的导航栏显示 QQ 的各种功能界面. 第二.如下图所示,点击 "QQ",进入"偏好设置"菜单当中,如下图所示界面: 第三步.如下图所示的

python采集博客中上传的QQ截图文件_python

哎,以前写博文的时候没注意,有些图片用QQ来截取,获得的图片文件名都是类似于QQ截图20120926174732-300×15.png的形式,昨天用ftp备份网站文件的时候发现,中文名在flashfxp里面显示的是乱码的,看起来好难受,所以写了一个python小脚本,爬取整个网站,然后获取每个文章页面的图片名,并判断如果是类似于QQ截图20120926174732-300×15.png的形式就输出并将该图片地址和对应的文章地址保存在文件中,然后通过该文件来逐个修改. 好了,下面是程序代码: im

Mac电脑QQ截图图片保存在哪 QQ截图位置介绍

首先.打开QQ随便点击一个聊天窗口. 第二.我们现在点击"QQ",打开mac的"偏好设置"具体效果如下: 第三步.在进入到QQ的相关设置下面我们点击"通用"然后再点击"截屏设置"点击它打开效果如下 第四步.然后在截图保存位置我们点击"保存至",这样我们就可以设置自己QQ截图所保存的位置了. 好了保存的格式我们可以设置也可以不管了,保存格式就是我们常用的图片格式了,如果没有要求可以不设置默认是png格式了.