设为首页收藏本站

编程十万个为什么,属于程序员的编程论坛

 找回密码
 5秒快速注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
查看: 5392|回复: 9

[外挂编写] 郁金香VC++外挂教程

[复制链接]
发表于 2014-12-14 22:17:00 | 显示全部楼层 |阅读模式
链接: http://pan.baidu.com/s/1eQrLxlS 密码:
游客,如果您要查看本帖隐藏内容请回复

两个建议
    1.先学习汇编 教程以后会给
    2.一定要学好C++
        C++教程
            http://www.bcwhy.com/thread-21921-1-1.html C++基础
            http://www.bcwhy.com/thread-21918-1-1.html C++基础
            http://www.bcwhy.com/thread-22529-1-1.html STL
            http://www.bcwhy.com/thread-21939-1-1.html VC++基础

申明:本论坛共享此教程完全是为了学习技术、分享资料,不得用作非法用途,如果用作非法用途与本论坛无关


目录

1 入门篇.以《QQ连连看为例》
    1.1、一个最简单的外挂
    1.1.1、游戏窗口数据分析(SPY++)
        a、取得窗口相对坐标
        b、读出游戏窗口信息GetWindowRect
        c、移动鼠标指针SetCursorPos
    1.1.2 用VC++写个最简单的外挂(实现游戏开局)
        a、鼠拟鼠标单击mouse_event
        b、鼠标指针移动还原
        c、集成到startgame函数里
    1.2、用CE查找棋盘数据
    1.2.1、CE中的数据类型
        a、数据类型:Bit,Byte,Word,Dword,float,double
        b、用CE查找出坐位号;
        c、保存分析数据
    1.2.2、编程读出坐位号;
        a、远程读取进程数据
        b、打开远程进程
        c、读取远程进程数据
    1.2.3、用CE查出棋盘基址;
        a、找棋盘数据基址
        b、分析棋盘数据结构
    1.2.4、读出当前棋盘数据
        a、编程读出棋盘数据
        b、棋盘数据显示出来
    1.3、用模拟技术编制外挂
    1.3.1 分析棋子与棋盘坐标关系
        a、鼠标软件模拟,函数SendMessage
        b、分析窗口内棋子相对坐标X,Y
        c、软件模拟点击棋盘坐标x,y处的棋子
    1.3.2 消掉一对棋子的算法框架
        a、遍历棋盘同类型棋子配对
        b、构建算法框架
    1.3.3 (Check2p)大致框架(算法核心)
        a、在这一对棋子间找相通路径的原理
        b、(Check2p函数)框架代码
        c、(CheckLine函数)检测2点是否有连通.
    1.3.4 CheckLine实现
        a、CheckLine函数实现
        b、Check2p核心代码架构
    1.3.5 Check2p完整代码实现
        a、完整的Ceheck2p代码解析
        b、完善CheckLine函数
    1.3.6 Click2p函数实现,单消棋子功能实现
        a、完成Click2p函数
        b、单消一对棋子的实现
        c、修改ClearPair函数
    1.3.7 挂机/秒杀/
        a、自动开局
        b、挂机下棋
    1.3.8 游戏外挂界面美化
        a、添加进度条
        b、界面调整
        c、Slider控件属性设置
    1.3.9 倒计时与棋子数(基址查找)
        a、查找棋子数
        b、查找倒计时
        c、开局标志
    1.4 编写完整外挂
    1.4.1 优化自动开局函数StartGame
        a、让游戏窗口高高在上
        b、优化开局函数
    1.4.2 去掉游戏倒计时限制
        a、找到计时代码
        b、动态修改游戏代码(OD使用初探)
        c、去掉计时限制
    1.4.3 编写完整外挂
        a、功能测试
        b、修改完善外挂
        c、读出当前棋子数
        d、秒杀实现
    1.4.4 初级篇小结
        a、游戏分析小结
        b、编程小结


2 中级篇 以热血江湖为例
    2.1、分析前的准备..CALL简介:
    2.1.1、CALL调用示例分析.远程代码注入器
    2.1.2、调试工具OD简介,血值,魔力值,坐标偏移;
    2.1.3、游戏基址概念;
    2.1.4、常用汇编指令详解
    2.1.5、内联汇编编程实例
    2.2、游戏分析利器OD(OllyDbg)
    2.2.1、分析角色基址
    2.2.2、找打坐CALL
    2.2.3、读出角色当前血值
    2.2.4、远程注入代码,调用打坐CALL;
    2.2.5、实例分析:找技能栏对象数组基址+偏移:
    2.2.6: 拦截F1-F8功能CALL
    2.3、外挂框架构建
    2.3.1、DLL动态链接库构建,与调用
    2.3.2、API与回调函数
    2.3.3、DLL中构建窗口
    2.4、用OD分析游戏功能CALL.《热血江湖》为例:主要是找CALL
    2.4.1、选怪CALL
    2.4.2、找游戏物品背包的基址+偏移
    2.4.3、 吃红药(补血)CALL
    2.4.4、 吃蓝(补魔)CALL
    2.4.5、 技能CALL1
    2.4.6、技能CALL2
    2.4.7、所有技能CALL
    2.4.8、捡物CALL
    2.4.9、所有动作CALL

3、进阶篇
主要讲功能CALL的参数分析
汇编浮点指令/浮点运行/浮点数整数转换/汇编里的指针
    3.1、喊话功能
    3.2、走路
    3.3、 怪物过滤
    3.3.1、怪物属性分析
    3.3.2、怪物列表关键代码分析
    3.3.3、怪物列表基址+大小
    3.3.4、怪物列表编写代码
    3.3.5、怪物过滤
    3.4、 物品过滤
    3.4.1、物品属性分析
    3.4.2、物品列表关键代码分析
    3.4.3、找出物品列表基址+偏移
    3.4.4、物品过滤(编程读出物品列表数据)
    3.5、 组队相关
    3.5.1、 玩家列表
    3.5.2、 组队功能
    3.5.3、 离队功能
    3.6、购物/售物
    3.6.1、与NPC对话框
    3.6.2、打开购物/售物对话框
    3.6.3、购物功能
    3.6.4、售物功能
    3.7、 摆摊.开店
        a、开店CALL参数分析
        b、写代码测试

4、高级篇
    4.1、编写完整的外挂
    4.2、游戏更新后的外挂更新
    4.3、脚本功能
    4.4、游戏多开实现
    4.5、盗号的实现

发表于 2014-12-18 14:29:33 | 显示全部楼层
回复

使用道具 举报

发表于 2014-12-18 20:30:22 | 显示全部楼层
感谢楼主大大的分享
发表于 2015-1-20 17:06:24 | 显示全部楼层
看一看学一学
发表于 2015-4-2 08:46:34 | 显示全部楼层
楼主 好腻害。。。
发表于 2015-6-1 03:54:32 | 显示全部楼层
楼主发贴辛苦了,谢谢楼主分享!
发表于 2015-7-20 07:06:27 | 显示全部楼层
好東西, 不下行嗎, 感謝樓主分享, 一起向外掛進發.
发表于 2015-8-27 01:16:26 | 显示全部楼层
学习学习
回复

使用道具 举报

发表于 2016-4-5 13:18:00 | 显示全部楼层
第一次來這邊 對外掛研究很有興趣 希望能在這學習
发表于 2016-11-19 12:57:17 | 显示全部楼层
太 谢谢了 学习
您需要登录后才可以回帖 登录 | 5秒快速注册

本版积分规则

关闭

BcWhy推荐上一条 /1 下一条

QQ|关于我们|最新帖子|小黑屋|手机版|编程十万个为什么 ( 粤ICP备16108587号-2  

GMT+8, 2017-5-27 04:41 , Processed in 0.253774 second(s), 33 queries , File On.

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表