郁金香C++辅助初级班读书笔记

 小测试:

1.浮躁的人容易说:XX语言不行了,应该学YY;——是你自己不行了吧!?

2.浮躁的人容易问:我到底该学什么;——别问,学就对了;

3.浮躁的人容易问:XX有钱途吗;——建议你去抢银行;

4.浮躁的人容易说:我要中文版!我英文不行!——不行?学呀!

5.浮躁的人容易问:XX和YY哪个好;——告诉你吧,都好——只要你学就行;

6.浮躁的人分两种:a)只观望而不学的人;b)只学而不坚持的人;

7.把时髦的技术挂在嘴边,还不如把过时的技术记在心里;

 

 知识点:

 

1、GetWindowRect

BOOL GetWindowRect(

  HWND hWnd,      // handle to window

  LPRECT lpRect   // 存放返回值的首地址 RECT

);

Handle 把手

Rect 矩形

2、SetCursorPos

BOOL SetCursorPos(

  int X,  //X

  int Y   //Y

);

Cursor 光标

3、mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);//MOUSEEVENTF_LEFTUP

4、FindWindow               //获取窗口句柄

 HWND FindWindow

(

  LPCTSTR lpClassName,  //窗口类名 NULL

  LPCTSTR lpWindowName  //窗口标题 NULL

);

5、GetWindowThreadProcessId //获取窗口进程ID

DWORD GetWindowThreadProcessId

(

  HWND hWnd,             // handle to window

  LPDWORD lpdwProcessId  // 指向变量的指针 用来返回进程PID

);

 

6、OpenProcess              //打开指定进程

HANDLE OpenProcess

(

  DWORD dwDesiredAccess,  // 访问权限 标记

  BOOL bInheritHandle,    // false;

  DWORD dwProcessId       // lpdwProcessId  进程ID标识

);

 

7、ReadProcessMemory        //读指定进程 内存数据

BOOL ReadProcessMemory(

  HANDLE hProcess,  //  HANDLE OpenProcess返回值

  LPCVOID lpBaseAddress,

                    // 读取 进程起始地址 基址

  LPVOID lpBuffer,  // 存放数据的缓冲区

  DWORD nSize,      // 要读出的字节数

  LPDWORD lpNumberOfBytesRead

                    // 实际读出字节数

);

8、WriteProcessMemory        

9、SendMessage //可以软模拟 鼠标 键盘操作

10、SetTimer

UINT SetTimer(

  HWND hWnd,              // 指向窗口的句柄

  UINT nIDEvent,          // 定时器 标识ID

  UINT uElapse,           // 时间间隔(毫秒)

  TIMERPROC lpTimerFunc   //回调函数

);

VOID CALLBACK TimerProc(

  HWND hwnd,     // handle of window for timer messages

  UINT uMsg,     // WM_TIMER message

  UINT idEvent,  // timer identifier

  DWORD dwTime   // 当前系统时间

);

11、KillTimer()

BOOL KillTimer(

  HWND hWnd,      // 指向窗口的句柄

 

  UINT uIDEvent   // 定时器 标识ID

 

);

12、SetWindowPos //HWND_TOPMOST 窗口置顶

 

///

CButton slider//控件

this->m_ctl_slider.SetRange(50,3000); //设置滑块的 最小值 最大值

this->m_ctl_slider.SetTicFreq(150);   //分隔线 宽度

this->m_ctl_slider.SetPos(1000);      //滑块 位置

//复选框控件

this->m_ctl_check.SetCheck(true);    //选中复选框

 

a、数据类型:Bit,Byte,Word,Dword,float,double

b、用CE查找数据

c、CE工具使用技巧

d、OD调试

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
免key版,511U盘资源,速度很快!经测试全部可下 课程分四个大章节 初级篇,中级篇,进阶篇,高级篇 初级篇内容:编写一个完整的,简单的外挂 C++的数据类型:Byte,Word,DWORD,int,float API函数的调mouse_event,GetWindowRect,SetCursorPos,FindWindow,SendMessage) CE5.4工具的使用方法 中级篇内容:调试工具的使用技巧,功能CALL的概念 调试工具OD1.1的使用技巧(如硬件断点,条件断点,内存断点。 常用汇编指令与对应高级语言的转换。 游戏功能CALL概念 找第一个功能CALL 外挂框架的构建(通用) 进阶篇内容:分析游戏内部数据,分析常用功能CALL 游戏数据实践找各种功能CALL(如打怪,选怪,物品使用,技能栏之类)及相应的代码编写 高级篇内容:编写完整外挂 完成一个相对完整的外挂,实现 自动挂机,打怪,存放物品之类的功能 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完整代码实现 1.3.6 编写完整外挂,界面美化 1.4、游戏加速.去掉对动画效果.非HOOK 1.4.1:用OD找出 动画延时代码 1.4.2:写代码去掉延时,实现游戏加速 2 中级篇 以热血江湖为例 2.1、分析前的准备..CALL简介: 2.1.1、CALL调用示例分析.
课程安排,暂定,有可能会实时修改 编程语言,VC++6.0 工具主要为(OD1.1,CE5.4) 预计平均3天左右更新一课 大家好,我是郁金香老师:QQ150330575 欢迎大家参加梅州技术 VC++外挂编程VIP培训班。 在接下来的一段时间将由我和大家一起学习游戏外挂的分析,制作。 课程分四个大章节 初级篇,中级篇,进阶篇,高级篇 初级篇内容:编写一个完整的,简单的外挂 C++的数据类型:Byte,Word,DWORD,int,float API函数的调mouse_event,GetWindowRect,SetCursorPos,FindWindow,SendMessage) CE5.4工具的使用方法 中级篇内容:调试工具的使用技巧,功能CALL的概念 调试工具OD1.1的使用技巧(如硬件断点,条件断点,内存断点。 常用汇编指令与对应高级语言的转换。 游戏功能CALL概念 找第一个功能CALL 外挂框架的构建(通用) 进阶篇内容:分析游戏内部数据,分析常用功能CALL 游戏数据实践找各种功能CALL(如打怪,选怪,物品使用,技能栏之类)及相应的代码编写 高级篇内容:编写完整外挂 完成一个相对完整的外挂,实现 自动挂机,打怪,存放物品之类的功能 1 入门篇.以《QQ连连看为例》 1.1、一个最简单的外挂 1.1.1、游戏数据分析(SPY++) 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、数据类型:Bit,Byte,Word,Dword 、用CE查找坐位号; 1.2.2、用CE查出4个棋盘基址; 1.3、用模拟技术编制外挂 1.3.1 模拟鼠标点击实现 交换棋子 1.3.2 把所有功能集成封装到 函数里 1.3.3 利用棋盘数据 ,模拟实现下棋功能 1.3.4 编写完整外挂,界面美化 1.4、游戏加速.去掉对动画效果.非HOOK 1.4.1:用OD找出 动画延时代码 1.4.2:写代码去掉延时,实现游戏加速 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、盗号的实现
郁金香是一种美丽的花卉,常被人们用来作为装饰和观赏。它的种植方法相对简单,以下是郁金香种植的入门教程。 首先,选择适合种植郁金香的地点。郁金香喜欢充足的阳光和排水良好的土壤,因此选择有透气性的土壤,并确保种植的地方能够充分暴露在阳光下。 接下来,准备土壤。郁金香需要营养丰富的土壤,可以在种植前施加有机肥料来改善土壤质量。确保土壤的PH值在6-7之间,不过酸性土壤也可以适度种植。 然后,选择适合的郁金香品种。郁金香有很多品种可供选择,不同品种的颜色和花型都各具特色。根据自己的喜好选择适合的品种,也可以根据气候条件选择早春、中春或晚春的品种。 接下来就是种植了。在土壤中挖一个深度适当的坑,将郁金香球茎放入坑中,注意球茎的凹凸面应朝上。然后将土壤轻轻填入坑中,留出一些空隙以便球茎扎根。 最后,适当浇水和施肥。刚种植完毕后,要给郁金香充足的水分以帮助其扎根。接下来的几周内,定期浇水保持湿度,但不要过度浇水以免引起病害。郁金香在生长期也可以施加一些磷、钾等营养物质的肥料。 注意,郁金香在生长期间需要保持适当的温度和湿度,避免过度晒太阳和过度湿润。同时,及时除去枯叶和花朵,以保持植株的健康状态。 通过以上步骤的耐心操作,我们就可以成功种植出美丽的郁金香了。希望这个简单的郁金香种植教程能够帮助到您。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值