码迷,mamicode.com
首页 > 微信 > 详细

原创,微信跳一跳外挂源码、热门游戏,轻松上千分

时间:2018-01-03 14:05:04      阅读:377      评论:0      收藏:0      [点我收藏+]

标签:smo   被占用   交流   strong   files   第一步   测试   hal   eve   

看到别人跳一跳搞了很多分。

我也跳一下。最高分才十几分,被别人秒杀。

于是制作这个外挂,能够轻松上千分。

原理很简单,计算出两点距离,测试出按下的时间,就可以了。

现在开始喽

当然是免费!!!

软件开发技术交流:自强不息QQ:1222698

(跳一跳技术交流就算了,我只玩了几分钟而已。)

 

第零步、看看效果,我几分钟就跳了2000多分。

技术分享图片 

技术分享图片

 

第一步、下载安装手游助手,腾讯官网:http://syzs.qq.com/

 技术分享图片

第二步、安装微信、登录、手机验证

 技术分享图片

第三步、打开游戏,打开辅助工具

 技术分享图片技术分享图片

第四步、把鼠标放在跳跳人的脚下,按下空格键

 技术分享图片

第五步、把鼠标放在目标位置,按下空格键

 技术分享图片

第六步、2018年,元旦快乐!

 技术分享图片

 

下载地址:https://files.cnblogs.com/files/bhss/%E8%B7%B3%E5%A4%A7%E7%A5%9E-v0.1.1.rar

 

源码地址:https://files.cnblogs.com/files/bhss/%E8%B7%B3%E5%A4%A7%E7%A5%9E-v0.1.1.rar

 

源码是vs2015开发,net2.0,可以用vs2005 2008 2010 2013 版本打开

源代码讲解

第1部分:热键管理

using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using System.Text;
using System.Windows.Forms;

namespace Tyt
{

    public class AppHotKey
    {
        [DllImport("kernel32.dll")]
        public static extern uint GetLastError();
        //如果函数执行成功,返回值不为0。  
        //如果函数执行失败,返回值为0。要得到扩展错误信息,调用GetLastError。  
        [DllImport("user32.dll", SetLastError = true)]
        public static extern bool RegisterHotKey(
            IntPtr hWnd,                //要定义热键的窗口的句柄  
            int id,                     //定义热键ID(不能与其它ID重复)            
            KeyModifiers fsModifiers,   //标识热键是否在按Alt、Ctrl、Shift、Windows等键时才会生效  
            Keys vk                     //定义热键的内容  
            );

        [DllImport("user32.dll", SetLastError = true)]
        public static extern bool UnregisterHotKey(
            IntPtr hWnd,                //要取消热键的窗口的句柄  
            int id                      //要取消热键的ID  
            );

        //定义了辅助键的名称(将数字转变为字符以便于记忆,也可去除此枚举而直接使用数值)  
        [Flags()]
        public enum KeyModifiers
        {
            None = 0,
            Alt = 1,
            Ctrl = 2,
            Shift = 4,
            WindowsKey = 8
        }
        /// <summary>  
        /// 注册热键  
        /// </summary>  
        /// <param name="hwnd">窗口句柄</param>  
        /// <param name="hotKey_id">热键ID</param>  
        /// <param name="keyModifiers">组合键</param>  
        /// <param name="key">热键</param>  
        public static void RegKey(IntPtr hwnd, int hotKey_id, KeyModifiers keyModifiers, Keys key)
        {
            try
            {
                if (!RegisterHotKey(hwnd, hotKey_id, keyModifiers, key))
                {
                    if (Marshal.GetLastWin32Error() == 1409) { MessageBox.Show("热键被占用 !"); }
                    else
                    {
                        MessageBox.Show("注册热键失败!");
                    }
                }
            }
            catch (Exception) { }
        }
        /// <summary>  
        /// 注销热键  
        /// </summary>  
        /// <param name="hwnd">窗口句柄</param>  
        /// <param name="hotKey_id">热键ID</param>  
        public static void UnRegKey(IntPtr hwnd, int hotKey_id)
        {
            //注销Id号为hotKey_id的热键设定  
            UnregisterHotKey(hwnd, hotKey_id);
        }
    }
}

  第2部分、按键管理

using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using System.Text;

namespace Tyt
{
    public class MouseHelper
    {
        [DllImport("user32.dll")]
        public static extern bool SetCursorPos(int X, int Y);



        [System.Runtime.InteropServices.DllImport("user32")]
        static extern int mouse_event(int dwFlags, int dx, int dy, int cButtons, int dwExtraInfo);

        const int MOUSEEVENTF_MOVE = 0x0001; //移动鼠标
        const int MOUSEEVENTF_LEFTDOWN = 0x0002; //模拟鼠标左键按下
        const int MOUSEEVENTF_LEFTUP = 0x0004; //模拟鼠标左键抬起
        const int MOUSEEVENTF_RIGHTDOWN = 0x0008; //模拟鼠标右键按下
        const int MOUSEEVENTF_RIGHTUP = 0x0010; //模拟鼠标右键抬起
        const int MOUSEEVENTF_MIDDLEDOWN = 0x0020; //模拟鼠标中键按下
        const int MOUSEEVENTF_MIDDLEUP = 0x0040; //模拟鼠标中键抬起
        const int MOUSEEVENTF_ABSOLUTE = 0x8000; //标示是否采用绝对坐标

        public static void Click()
        {
            mouse_event(MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
        }
        public static void Move()
        {
            mouse_event(MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_MOVE, 0, 0, 0, 0);
        }
        public static void Down()
        {
            mouse_event(MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
        }
        public static void Up()
        {
            mouse_event(MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);

        }


    }
}

  第3部分、核心代码:跳一跳算法

        #region 基本操作
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            AppHotKey.RegKey(Handle, 1007, AppHotKey.KeyModifiers.None, Keys.Space);
        }
        protected override void WndProc(ref Message m)
        {
            const int WM_HOTKEY = 0x0312;
            switch (m.Msg)
            {
                case WM_HOTKEY:
                    switch (m.WParam.ToInt32())
                    {
                        case 1007:
                            Tiao();
                            break;
                    }
                    break;
            }
            base.WndProc(ref m);
        }

        #endregion

        #region 跳一跳
        void Tiao()
        {
            if (IsTiaoQian)
            {
                PointQian = new Point(Control.MousePosition.X, Control.MousePosition.Y);
            }
            else
            {
                TiaoHou();
            }
            IsTiaoQian = !IsTiaoQian;
        }
        void TiaoHou()
        {
                PointHou = new Point(Control.MousePosition.X, Control.MousePosition.Y);
            double len=Math.Sqrt((PointHou.X - PointQian.X) * (PointHou.X - PointQian.X) + 
                (PointHou.Y - PointQian.Y) * (PointHou.Y - PointQian.Y));
            int d= (int)(len * XiShu * 1000) ;
            if (d<=0)
            {
                MessageBox.Show("两次点击空格时,鼠标未移动。");
                return;
            }
            timer1.Interval = (int)(d * 1000);
            MouseHelper.SetCursorPos(PointHou.X, PointHou.Y);//开始跳
            MouseHelper.Down();
            timer1.Start();
        }
        private void timer1_Tick(object sender, EventArgs e)
        {
            timer1.Stop();
            MouseHelper.Up();
        }
        #endregion

  

 《完毕》

 by 自强不息 qq1222698

 

原创,微信跳一跳外挂源码、热门游戏,轻松上千分

标签:smo   被占用   交流   strong   files   第一步   测试   hal   eve   

原文地址:https://www.cnblogs.com/bhss/p/8183019.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!