自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

南的专栏

做事不难,难在起步;编程不难,难在坚持

  • 博客(27)
  • 资源 (8)
  • 收藏
  • 关注

原创 追逐自己的梦想----------辅助制作第三十一课:向仓库存入N个物品对象分析

首先,要准备多个不同的物品,并且都是具有多个数量的物品例如:金疮药 雪原参等可以利用bp WSASend 检测发包的数据缓冲区来实现发包函数的分析,从而达到向仓库存入N个物品的功能下面就开始测试然后找到发包call,然后在ESP堆栈中发现一个地址,跟进去就可以发现这个地址007A91CE |. F3:A5 REP MOVS DWORD PTR ES:[EDI],D

2015-03-31 13:15:12 478

原创 追逐自己的梦想----------辅助制作第三十课:NPC对话更正以及封装查找NPC对象函数

今天我们就是测试了上次写的NPC对话和仓库,发现上次找到call并不是真正的打开NPC的call,所以我们需要接着上节课的分析来分析真正的打开仓库call,本次我们要测试的就是上节课中测试的15个关键位置 004D02B8 - 81 FA 0F270000 - cmp edx,0000270F 004D02BE - 0F87 C8000000 - ja Client.ex

2015-03-30 16:42:03 1240

原创 追逐自己的梦想----------辅助制作第二十九课:分析打开NPC后功能打开

在打开NPC后,我们需要打开相应要使用的功能才行。菜单选择分析,要实现这个,可以选择封包逆向的方法来进行分析通过硬件断电 bp WSASend 断下,然后逆向来寻找关键call然后执行到返回可以得到以下几个关键call00743DE0   .  803D C1671B03>CMP BYTE PTR DS:[31B67C1],100743DE7   .  0F84

2015-03-29 16:24:04 607

原创 追逐自己的梦想----------辅助制作第二十八课:打开系统NPC CALL分析

分析思路:1.打开NPC对话时,一般会访问NPC对象,可以用CE尝试找出对NPC对象访问的代码,然后回溯2.打开NPC对话是 可能会与服务器通讯,可以尝试发包函数处下断电回溯dd [31DBEAC] 玩家对象 +8 == 31 +0c [31DBEB0]de xiabiao+18 玩家名字+14b8 0xffff 未选中怪物,选中时为所有对象ID004EC9

2015-03-28 09:39:49 1828

原创 追逐自己的梦想----------辅助制作第二十七课:身上装备更换的分析与实现

分析装备更换相关功能:1.肯定会想服务器发送数据,表示更换某件装备2.访问物品对象3.访问对象属性服务器ID //为了分辨不同物品分析思路:1.从发包回溯分析2.从物品对象访问的代码分析由于也访问到了背包移动物品对象,所以我们可以接着上面几课分析007B382D |> 8B8F 08160000 MOV ECX,DWORD PTR DS:[EDI+1608]007B383

2015-03-26 20:36:00 454

原创 追逐自己的梦想----------辅助制作第二十六课:存仓库call实现

本次我们对存放仓库进行c++代码的实现,我们将这几个函数都封装在宝宝列表结构体中,具体代码如下:#define nSizePackBack 36typedef struct TBACKPACK_LIST{ TBACK_PACK_OBJ mtGoodList[nSizePackBack]; TBACKPACK_LIST* GetData(); int UseGoodsForInde

2015-03-26 19:48:58 582

原创 Cocos2d-x中瞬时动作

瞬时动作就是不等待立即执行的动作,瞬时动作的基类是ActionInstant ,具体类图参见cocos2d的文档我们通过一个实例来学习cocos2d-x中的瞬时动作首先在HelloWorld.h头文件中添加枚举,用来作为选择的标识typedef enum ActionTypes{PLACE_TAG = 102,FLIPX_TAG,FLIPY_TAG,HIDE

2015-03-26 09:44:38 735

原创 追逐自己的梦想----------辅助制作第二十五课:存仓库call分析

数据分析:1.肯定会向服务器发送数据,表示某个物品存放仓库2.访问物品对象3.访问物品对象属性服务器ID编号 ,用来分辨不同的物品分析思路:1.从发包函数回溯分析2.从物品对象访问的代码分析007B3823 |. E8 C85FFFFF CALL Client.007A97F0007B3828 |. E9 BF000000 JMP Client.007B38E

2015-03-25 19:39:01 516

原创 cocos2d-x场景与层的使用

今天学习了Cocosd-x中场景和层的使用。本次实例有两个场景HelloWord , Setting,在HelloWord的游戏设置中可以切换到Setting场景首先我们新建一个Setting类,继承自cocos2d::Layer类具体代码如下:#ifndef __HELLOWORLD_SCENE_H__#define __HELLOWORLD_SCENE_H__#inclu

2015-03-22 19:31:14 1288

原创 追逐自己的梦想----------辅助制作第二十四课:寻路call的分析

分析关键:1.目的地坐标(通过不断改变目的地坐标来找到目的地坐标的地址,然后分析出基址即可)(XYZ , XZY ,XY)//寻路动作0046FC0B - D9 40 E4 - fld dword ptr [eax-1C]0046FC0E - 8B 91 98020000 - mov edx,[ecx+00000298]0046FC14 - D9 9A 34020000 - f

2015-03-22 16:05:31 3877

原创 cocos2d-x坐标系

在游戏开发过程中,坐标系的使用是必不可少的,然而在不同的设备中,以及在cocos2d-x中,坐标系都是不同的。在Android和ios中都是左上角作为坐标原点,而在cocos2d-x中是以左下角作为坐标原点的,并且在cocos2d中又有世界坐标和模型坐标之分,下面就让我们来详细认识下他们的区别。1.UI坐标UI坐标就是Android和ios等应用开发时候使用的二维坐标系,他的原点在左上角

2015-03-21 11:03:22 496

原创 C0C0S2D-3.04配置

这学期y一周只有4节课,所有有很多时间来学习,学习空余之际,来学习下cocos2d-x, 首先我们要做的肯定就是cocos2d-x的环境配置。我们要开发的环境win764+VS2013用到的工具有vs2013+ python+cocos2d-x首先就是vs2013的下载:MSDN-我告诉你,里面直接可以下载然后就是python,直接去python官网下载2.7版本就可以了,然后就是

2015-03-21 10:39:47 519

原创 追逐自己的梦想----------辅助制作第二十三课:挂机选项卡的实现

要实现挂机选项卡,首先我们就要新建一个对话框类,并为该对话框类添加关联类,然后在这个对话框上面添加TAB CTRL控件,并为其添加成员变量然后在主对话框中 的initdialog函数中添加m_pageMainTabe.Create(CPageMain::IDD);并且添加一个按钮来显式窗口m_pageMainTabe.ShowWindow(SW_SHOW);下面就可

2015-03-19 14:47:37 1022

原创 追逐自己的梦想----------辅助制作第二十二课:分析修炼条件的判断

人物名字基址:0x2f93d48+34 (byte) 等级+ac (dword) 历练值技能对象[0x31B85B0+ 0x410 + 4*i]+1f6 是否修炼+268 技能所需要的历练值+AC 技能所需要的等级只有当BOOL isCanStudy(){   if(isuseable){return false;}i

2015-03-18 14:45:26 578

原创 追逐自己的梦想----------辅助制作第二十一课:分析技能自动修炼call

发包函数:WSASend WSASendTo send sendtobp WSASend 004AAD0E 8985 44DFFFFF MOV DWORD PTR SS:[EBP-20BC],EAX004AAD14 8B47 10 MOV EAX,DWORD PTR DS:[EDI+10]004AAD17 52 PUSH

2015-03-18 11:18:08 1225

原创 追逐自己的梦想----------辅助制作第二十课:完善自动技能打怪

继上节完成了对快捷栏技能使用的封装,所以我们完成了自动技能打怪的版本下面给出下载地址:点击下载本次并没有做太多功能性的函数封装,只是把一些大的函数拆分成了两个小的函数。还有就是重载了拖拽技能到快捷栏的函数,使它不再是每次都执行拖拽,减少了内存的使用等。

2015-03-17 15:55:37 695

原创 追逐自己的梦想----------辅助制作第十九课:快捷栏使用物品或者技能

0069EFF1 - 8B 15 54851B03  - mov edx,[Client.exe+2DB8554]0069EFF7 - A1 58851B03 - mov eax,[Client.exe+2DB8558]0069EFFC - 39 9C B8 10040000  - cmp [eax+edi*4+00000410],ebx 0069F003 - 0F84 DE03000

2015-03-16 13:45:36 787

原创 追逐自己的梦想----------辅助制作第十八课:拖拽技能到快捷栏

007AFFC1 - A1 0CA4F500 - mov eax,[Client.exe+B5A40C]007AFFC6 - 83 C4 10 - add esp,10007AFFC9 - C7 80 28020000 00000000 - mov [eax+00000228],00000000 <<007AFFD3 - E9 7799FFFF - jmp Client.exe+3A994F

2015-03-15 15:54:07 673

原创 c++错误和异常处理

一:标准异常类标准异常类分为一下三组:1.语言支持2.逻辑错误3.运行时错误语言支持异常类:以下操作会抛出异常* 异常类bad_cast,头文件中,当dynamic_cast在运行时转化失败时抛出* 异常类bad_typeid,头文件中,当参数运算符为0或者空指针的时候抛出异常* 异常类bad_exception ,头文件中,被用来处理不期待的异常,它通常有

2015-03-15 15:50:57 507

原创 追逐自己的梦想----------辅助制作第十七课:实现技能列表的遍历及判断技能是否可用

typedef struct TSkillObj{ DWORD ndBaseObj;//返回对象基址 DWORD ndType; //分类 1B技能书分类 1C 才是使用技能分类 DWORD ndIndexForSkill; //技能列表里面的下表分类 char* szpName; DWORD ndIndexForAll; //+0c 所有对象ID BOOL IsUseable;/

2015-03-15 10:46:39 632

原创 追逐自己的梦想----------辅助制作第十六课:分析技能列表

007B3105 - 8B 84 9F 10040000 - mov eax,[edi+ebx*4+00000410]007B310C - 8B 0D 0CA4F500 - mov ecx,[Client.exe+B5A40C]007B3112 - 89 81 28020000 - mov [ecx+00000228],eax <<007B3118 - 8B 15 0CA4F500

2015-03-15 08:39:24 518

原创 c++中命名空间的使用

1.严格保证定义std::cout2.使用using 申明 using std::cout;using std::endl;cout3.可以直接申明命名空间using namespace std;cout

2015-03-14 13:19:43 367

原创 c++特性基本类型的显式初始化

以下就是初始化与未初始化的区别int i1;//未初始化int i2 = int();//初始化未0int i3{};//初始化未0  (c++11标准)同样,你可以在模板函数中使用显式初始化确定values有一个确定的值例如:templete void f(){T x = T();} 如果模板强制初始化未0,则这个值也被初始化未0,

2015-03-12 11:17:27 490

转载 c++中模板使用时候typename和class的区别

在c++Template中很多地方都用到了typename与class这两个关键字,而且好像可以替换,是不是这两个关键字完全一样呢?相信学习C++的人对class这个关键字都非常明白,class用于定义类,在模板引入c++后,最初定义模板的方法为: template...... 在这里class关键字表明T是一个类型,后来为了避免class在这两个地方的使用可能给人带来混淆,所以引入了typ

2015-03-12 10:32:18 9981 1

原创 c11特性------------------lambdas的使用

lambdas的语法无参数的lambsad表达式auto l =  []{std::cout };l();以上就完成了无参数的lambdas的使用有参数的lambdas的使用两种语法: [...]  {...}或者[...]  (...)#include#include带有参数的lambdas函数i

2015-03-11 12:49:11 673

原创 c++模板特性---------可变参数的使用

1.可变参数模板// c11Test.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#includetemplate void print(const T& arg){ std::cout << arg << std::endl;}template void print(const T& firstArg, const Typ

2015-03-11 12:30:51 733

原创 追逐自己的梦想----------辅助制作第十五课:实现动态更新基址

由于游戏更新,我们不得不去更新游戏的基址,如果每次都手动去找基址,那肯定是相当麻烦的,所以我们要做的就是利用编程来实现基址的动态更新。需要写的函数:HexStrCmp(IN const char* szpHexStr1 , IN const char* szpHexStr1);ScanFeatureCode();等一系列函数。然后再实现通配符支持就可以实现基址的自动更新了。

2015-03-11 12:20:52 2723

windows网络编程

目者者录 译者序 前言 第一部分 传统网络API 第1章 NetBIOS 1 1.1 Microsoft NetBIOS 2 1.1.1 LANA编号 2 1.1.2 NetBIOS名字 4 1.1.3 NetBIOS特性 6 1.2 NetBIOS编程基础 7 1.3 常规NetBIOS例程 8 1.3.1 会话服务器:异步回调模型 15 1.3.2 会话服务器:异步事件模型 20 1.3.3 NetBIOS会话客户机 24 1.4 数据报的工作原理 28 1.5 其他NetBIOS命令 40 1.5.1 适配器状态 40 1.5.2 查找名字 42 1.5.3 将传送协议同LANA编号对应起来 43 1.6 平台问题 43 1.6.1 Windows CE 44 1.6.2 Windows 9x 44 1.6.3 常规问题 44 1.7 小结 44 第2章 重定向器 45 2.1 通用命名规范 45 2.2 多UNC提供者 47 2.3 网络提供者 47 2.4 重定向器简介 48 2.5 服务器消息块 48 2.6 安全问题 49 2.6.1 安全描述符 49 2.6.2 访问令牌 51 2.7 网络安全 51 2.8 一个实例 52 2.9 小结 53 第3章 邮槽 54 3.1 邮槽实施细节 54 3.1.1 邮槽的名字 54 3.1.2 消息的长度 55 3.1.3 应用程序的编译 56 3.1.4 错误代码 57 3.2 基本客户机/服务器 57 3.2.1 邮槽服务器的详情 57 3.2.2 邮槽客户机的详情 59 3.3 其他邮槽API 61 3.4 平台和性能问题 62 3.4.1 8.3字符名字限制 62 3.4.2 不能取消“凝结”的I/O请求 62 3.4.3 超时引起的内存废弃 64 3.5 小结 65 第4章 命名管道 66 4.1 命名管道的实施细节 66 4.1.1 命名管道命名规范 67 4.1.2 字节模式及消息模式 67 4.1.3 应用程序的编译 67 4.1.4 错误代码 68 4.2 客户机与服务器的基础 68 4.2.1 服务器的细节 68 4.2.2 高级服务器的细节 74 4.2.3 客户机的细节 81 4.3 其他API调用 83 4.4 平台和性能问题 86 4.5 小结 87 第二部分 Winsock API 第5章 网络原理和协议 89 5.1 协议的特征 89 5.1.1 面向消息 89 5.1.2 面向连接和无连接 91 5.1.3 可靠性和次序性 91 5.1.4 从容关闭 92 5.1.5 广播数据 92 5.1.6 多播数据 92 5.1.7 服务质量 92 5.1.8 部分消息 93 5.1.9 路由选择的考虑 93 5.1.10 其他特征 93 5.2 支持的协议 93 5.2.1 支持的Win32网络协议 93 5.2.2 Windows CE网络协议 94 5.3 Winsock 2协议信息 94 5.4 Windows套接字 97 5.5 具体平台的问题 99 5.6 选择适当的协议 100 5.7 小结 100 第6章 地址家族和名字解析 102 6.1 IP 102 6.1.1 TCP 102 6.1.2 UDP 102 6.1.3 定址 102 6.1.4 创建套接字 105 6.1.5 名字解析 105 6.2 红外线套接字 107 6.2.1 定址 107 6.2.2 名字解析 108 6.2.3 红外线设备列举 108 6.2.4 查询IAS 110 6.2.5 创建套接字 111 6.2.6 套接字选项 112 6.3 IPX/SPX 112 6.3.1 编址 112 6.3.2 创建套接字 112 6.4 NetBIOS 115 6.4.1 定址 115 6.4.2 创建套接字 116 6.5 AppleTalk 117 6.5.1 定址 117 6.5.2 AppleTalk名的注册 118 6.5.3 AppleTalk名的解析 119 6.5.4 创建套接字 124 6.6 ATM 124 6.6.1 定址 125 6.6.2 创建套接字 128 6.6.3 把套接字和SAP绑定在一起 129 6.6.4 名字解析 130 6.7 Winsock 2支持的其他函数 130 6.8 小结 131 第7章 Winsock基础 132 7.1 Winsock的初始化 132 7.2 错误检查和控制 134 7.3 面向连接的协议 134 7.3.1 服务器API函数 134 7.3.2 客户机API函数 138 7.3.3 数据传输 140 7.3.4 流协议 144 7.3.5 中断连接 146 7.3.6 综合分析 147 7.4 无连接协议 155 7.4.1 接收端 155 7.4.2 发送端 156 7.4.3 基于消息的协议 157 7.4.4 释放套接字资源 158 7.4.5 综合分析 158 7.5 其他API函数 165 7.6 Windows CE 168 7.7 其他地址家族 169 7.7.1 AppleTalk 169 7.7.2 IrDA 169 7.7.3 NetBIOS 170 7.7.4 IPX/SPX 170 7.7.5 ATM 171 7.8 小结 171 第8章 Winsock I/O方法 172 8.1 套接字模式 172 8.1.1 锁定模式 173 8.1.2 非锁定模式 175 8.2 套接字I/O模型 176 8.2.1 select模型 176 8.2.2 WSAAsyncSelect 179 8.2.3 WSAEventSelect 183 8.2.4 重叠模型 188 8.2.5 完成端口模型 198 8.3 I/O模型的问题 206 8.4 小结 206 第9章 套接字选项和I/O控制命令 207 9.1 套接字选项 207 9.1.1 SOL_SOCKET选项级别 208 9.1.2 SOL_APPLETALK选项级别 215 9.1.3 SOL_IRLMP选项级别 218 9.1.4 IPPROTO_IP选项级 222 9.1.5 IPPROTO_TCP选项级别 227 9.1.6 NSPROTO_IPX选项级别 227 9.2 IOCTLSOCKET和WSAIOCTL 231 9.2.1 标准I/O控制命令 232 9.2.2 其他I/O控制命令 233 9.2.3 安全套接字层的I/O控制命令 239 9.2.4 ATM I/O控制命令 241 9.3 小结 242 第10章 名字注册和解析 243 10.1 背景知识 243 10.2 名字空间模型 243 10.3 服务的注册 245 10.3.1 安装服务类 245 10.3.2 服务的注册 248 10.3.3 服务注册示例 251 10.4 服务的查询 254 10.4.1 怎样对服务进行查询 255 10.4.2 查询DNS 257 10.5 小结 260 第11章 多播 261 11.1 多播的含义 261 11.2 IP多播 264 11.2.1 Internet网关管理协议 264 11.2.2 IP叶节点 265 11.2.3 IP多播的实施 266 11.3 ATM多播 266 11.3.1 ATM叶节点 267 11.3.2 ATM根节点 267 11.4 多播与Winsock 268 11.4.1 Winsock 1多播 268 11.4.2 Winsock 2多播 274 11.4.3 常用的Winsock选项 288 11.4.4 拨号网络多播的一处限制 290 11.5 小结 291 第12章 常规服务质量 292 12.1 背景知识 292 12.1.1 资源预约协议 292 12.1.2 网络组件 293 12.1.3 应用组件 294 12.1.4 策略组件 296 12.2 QoS和Winsock 296 12.2.1 QoS结构 297 12.2.2 QoS调用函数 299 12.3 QoS中止 303 12.4 QoS编程 311 12.4.1 RSVP和套接字类型 312 12.4.2 QoS通知 314 12.4.3 QoS模板 316 12.5 示例 318 12.5.1 单播TCP 318 12.5.2 单播UDP 336 12.5.3 多播UDP 337 12.6 ATM和QoS 338 12.7 小结 339 第13章 原始套接字 340 13.1 原始套接字的创建 340 13.2 Internet控制消息协议 341 13.2.1 Ping示例 342 13.2.2 Traceroute示例 351 13.3 Internet组管理协议 352 13.4 IP_HDRINCL的使用 354 13.5 小结 362 第14章 Winsock 2服务提供者接口 363 14.1 SPI基础 363 14.1.1 SPI命名规则 364 14.1.2 Winsock 2 API和SPI函数之间的映 射 364 14.2 传输服务提供者 364 14.2.1 WSPStartup 365 14.2.2 参数 366 14.2.3 实例计数 369 14.2.4 套接字句柄 369 14.2.5 Winsock I/O模型支持 371 14.2.6 扩展函数 380 14.2.7 传输服务提供者的安装 381 14.3 命名空间服务提供者 386 14.3.1 名字空间的安装 386 14.3.2 名字空间的实施 387 14.3.3 名字空间提供者示范 392 14.4 Winsock SPI函数的调试追踪 396 14.5 小结 396 第15章 微软Visual Basic Winsock控件 397 15.1 属性 397 15.2 方法 398 15.3 事件 399 15.4 UDP示例 400 15.4.1 UDP消息的发送 403 15.4.2 UDP消息的接收 404 15.4.3 获取Winsock信息 404 15.4.4 运行UDP示例 405 15.4.5 UDP状态 405 15.5 TCP示例 406 15.5.1 TCP服务器 412 15.5.2 TCP客户机 413 15.5.3 获取Winsock信息 414 15.5.4 运行TCP示例 414 15.5.5 TCP状态 415 15.6 存在的局限 415 15.7 常见错误 416 15.8 Windows CE的Winsock控件 417 15.8.1 Windows CE Winsock示例 417 15.8.2 已知的问题 421 15.9 小结 422 第三部分 远程访问服务 第16章 RAS客户机 423 16.1 编译和链接 424 16.2 数据结构和平台兼容问题 424 16.3 DUN 1.3升级和Windows 95 425 16.4 RASDIAL 425 16.4.1 同步模式 427 16.4.2 异步模式 428 16.4.3 状态通知 432 16.4.4 关闭连接 432 16.5 电话簿 433 16.5.1 电话簿条目的增添 440 16.5.2 电话簿条目的重命名 442 16.5.3 电话簿条目的删除 442 16.5.4 电话簿条目的列举 443 16.5.5 用户凭据的管理 443 16.5.6 多链接电话簿的子条目 445 16.6 连接管理 446 16.7 小结 450 第四部分 附录录录 附录A NetBIOS命令索引 451 附录B IP助手函数 464 附录C Winsock错误代码 481

2013-12-20

深度探索c++对象

目录 本立道生(侯捷 译序) III 目录 VII 前言(Stanley B. Lippman) XIII 第0章 导读(译者的话) XXV 第1章 关于对象(Object Lessons) 1 加上封装后的布局成本(Layout Costs for Adding Encapsulation) 5 1.1 C++对象模式(The C++ Object Model) 6 简单对象模型(A Simple Object Model) 7 表格驱动对象模型(A Table-driven Object Model) 8 C++对象模型(The C++ Object Model) 9 对象模型如何影响程序(How the Object Model Effects Programs) 13 1.2 关键词所带来的差异(A Keyword Distinction) 15 关键词的困扰 16 策略性正确的struct(The Politically Correct Struct) 19 1.3 对象的差异(An Object Distinction) 22 指针的类型(The Type of a Pointer) 28 加上多态之后(Adding Polymorphism) 29 第2章 构造函数语意学(The Semantics of Constructors) 37 2.1 Default Constructor的构造操作 39 "带有Default Constructor"的Member Class Object 41 "带有Default Constructor"的Base Class 44 "带有一个Virtual Function"的Class 44 "带有一个Virtual Base Class"的Class 46 总结 47 2.2 Copy Constructor的构造操作 48

2013-12-20

c++编程实例

里面介绍了很多的关于c++开发的知识,值得新手的学习与借鉴。里面的程序简单易懂

2013-12-20

汇编语王爽言习题答案

这个文档是汇编语言(王爽)的课后习题答案,里面讲解的非常的详细,很适合查阅

2013-12-20

vc++游戏程序设计

这本书介绍了基本的vc++游戏开发,适合新手学习用,角色扮演类游戏

2013-12-20

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除