用户
搜索

该用户从未签到

实习版主

Rank: 7Rank: 7Rank: 7

13

主题

55

帖子

312

魔法币
收听
15
粉丝
1
注册时间
2017-7-21
发表于 2019-6-7 02:39:49 0621
本帖最后由 可爱的小雨淅淅 于 2019-6-7 02:56 编辑
事情背景:今天一个小可爱朋友跑来跟我说  她在公司的电脑不断的弹框, 问我能不能帮她。我就远程看了看 emmm   我就问她  怎么了   她说她打开了一个自称计算机大神的人发过来的记事本。。。。然后电脑不断的弹框

6RR)W{BGVL`O045WC}PTHNF.png
我能怎么办  ,有点基础的都能猜到VBS  打开任务管理就可以了
然后 教她关掉后  这个小可爱求我 ,让我帮忙报复...............
emmmm

A%%2YMELA[_JVKI]M}XI7{4.png
热心肠发作 就答应了   我也很无奈啊啊啊啊   谁让我也是可爱萌萌哒呢
T1@M9EZZSIO_B50_6G}OZ(G.png
哎   我真是  太不争气了                     


好啵 既然答应了  那就  勉强试试 吧


好的  不多说了   说正题

既然是整人报复的  那咱总不能还用个开源语言吧 ?  python不熟   java太开源 编译exe要收费。。。。  没钱!!!!

然后思来想去 就想到了  C#  微软的亲儿子  

前期准备有了  



0x00    实现思路
说一下  我的实现思路很简单  就是调用win32API    调用里面的user32.dll

第一步 实现 user32.dll里的FindWindowA,BlockInput, SendMessageA,这三个函数的实例化

第二步 配置每个函数里的参数的值   这个嘛  各位看官大大们  
可以参考百度 win32API
链接:https://docs.microsoft.com/zh-cn/windows/desktop/apiindex/windows-api-list
第三步  实现阻塞鼠标键盘
            释放鼠标键盘

第四步  关闭显示器
            打开显示器

最后就是逻辑代码了


代码不多  实现起来比较简单

0x01  上核心代码

首先我们要用到DllImport
所以先using下
[AppleScript] 纯文本查看 复制代码
using System.Runtime.InteropServices; //命名空间


然后实现函数
[AppleScript] 纯文本查看 复制代码
 [DllImport("user32.dll", CharSet = CharSet.Unicode, EntryPoint = "MessageBox")]
        public static extern int MyNewMessageBoxMethod(int a , String text, String caption, uint type);
[AppleScript] 纯文本查看 复制代码

[DllImport("user32.dll", CharSet = CharSet.Unicode, EntryPoint = "FindWindowA")]
        public static extern int FindWindowA(String arg0, String arg1);
        
        [DllImport("user32.dll", CharSet = CharSet.Unicode, EntryPoint = "BlockInput")]
        public static extern void BlockInput(Boolean isBlock);

        [DllImport("user32.dll", CharSet = CharSet.Unicode, EntryPoint = "SendMessageA")]
        public static extern int SendMessageA(int hwnd, int msg, int wparam, int lparam);

接下来 就是 实例化一下  (也可以不用  个人代码习惯)
[AppleScript] 纯文本查看 复制代码
 public static  int hwnd()
        {
            return FindWindowA(null,null);
        }
        //消息
        public static void MsgBox( string title , string body ) {
            MyNewMessageBoxMethod(0, body, title, 0);
        }

        //阻塞鼠标键盘
        public static void BlockInputExit()
        {
            BlockInput(true);
        }

[AppleScript] 纯文本查看 复制代码
 

 //关闭显示器
        public static int SendMessageExit(){
            return SendMessageA(hwnd(), 0x0112, 0xF170, 2);
        }


好的  最后在主函数里 写入你的逻辑代码  
我就在这里放一点小Demo

[AppleScript] 纯文本查看 复制代码
  while (true)
              {
                  //阻塞鼠标键盘  
                  Program.BlockInputExit();
                  //关显示器
                  Program.SendMessageExit();
                  //程序睡眠2秒
                  Program.Seelp(0);
                  //打开显示器
                  Program.SendMessageOpen();
                  i++;
                  if (i > 10)
                  {
                      break;
                  }
              }
              //程序睡眠2秒
              Program.Seelp(5000);
              //释放鼠标键盘
              Program.BlockInputOpen();


ODZS@RISOXWA969[`~5}J[G.png
就这么简单啊  运行后  效果很神奇 很棒棒呢  !!!!

算了  我还是公布下 释放鼠标键盘 和打开显示器的代码吧  免得启动dubug的时候 要重启
[AppleScript] 纯文本查看 复制代码
   //释放鼠标键盘
        public static void BlockInputOpen()
        {
            BlockInput(false);
        }
  //打开显示器
        public static int SendMessageOpen()
        {
            return SendMessageA(hwnd(), 0x0112, 0xF170, -1);
        }



好的   这个帖子算是端午给大家的一点小快乐吧,谁让我没有粽子给大家  端午安康  

对了  

过两天 confluence 任意文件读取漏洞的执行工具后续思路我会发布的顺带着 源码和工具  大家别急 因为时间不够用


第二次发帖子  有不好的地方  还请各位大大指正  我会改的  加油!
F0A@W$$`61DJ3C5R5XOX3IW.png

发新帖
您需要登录后才可以回帖 登录 | 立即注册