模拟作者转内存作者教程教案
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2C NPC分类1 48 X坐标 50 Y坐标 1E8 属性内存地址 偏移04
34名字 8血 64等级 0名字
38NPC分类2 118 采集内存地址
0分类 偏移04
2015/8/22
QQ81711364 www.lrsys.com
[9B1AC4]+64
4 数据开始地址
下一个 上一个 数据地址 下一个 上一个 数据地址
下一个 上一个 数据地址
下一个 上一个 数据地址
下源自文库个 上一个 数据地址
下一个 上一个 数据地址
下一个 上一个 数据地址
下一个 上一个 数据地址
偏移18
0分类
10数据内存地址 C NPC ID 15 是否要遍历
1.点击NPC 2.点击对话菜单
买东西
3.选择物品 4.输入数量
5.确定购买 7.3课
2015/8/22
QQ81711364 www.lrsys.com
ESP
栈顶 000000C 0000008 0000004 变量3 变量2 变量1 返回地址 参数1 参数2 参数3
EBP
栈底 0000004 0000008 000000C 0000010
2015/8/22 QQ81711364 www.lrsys.com
1.寄存器 eax 4个 数据 寄存器 ecx edx ebx 相当于变量存放器 eax一般用来保存函数的返回值
esp 4个 功能 寄存器 ebp esi edi
esp是存放栈顶指针 ebp是存放栈底指针 变址和指针寄存器(入门可忽略) 变址和指针寄存器(入门可忽略)
eip
2015/8/22
存放下一条指令的地址
QQ81711364 www.lrsys.com
2.堆栈规则是什么
1
2 4 3 4 3 2 1 2 3 4
1
先放进去的后拿出 来 这就是堆栈
2015/8/22
QQ81711364 www.lrsys.com
3常用的汇编指令
push 压栈 pop 出栈 --------------------把数据放到堆栈里面
6.返回到0000004 7.用了几个堆栈 就把ESP指针移动几次 每次4字节 (16位存放) 这样一来顶部就是 地3部放进去的 0000004 8.将0000004取出给eip
2015/8/22
5.OD入门基础 很多人都被OD的那么多按钮搞得头晕,被教程的CTRL+F9(执行到返回)讲的莫名奇 妙。其实有个最无脑的办法。直接看堆栈挨个测试,等入门了再这么找也不迟。 入门只用知道3个按钮4个快捷键以后再慢慢熟悉 F2.--------下断 F7.--执行一行(步入) F8.--执行一行(步进) F9.--------运行 F7和F8的区别在于 F7遇到call是进入 停在call的第一行 F8是直接执行完call 停到到下一行
0000001
4.Call的实现
1.运行到0000003 2.调用子程序0000123
0000002
3.将下一条指令0000004 放到堆栈中 4.调用子程序0000123 call 0000123 5.0000123的操作代码 push eip
0000003
0000004 jmp 0000123 0000123 ............ 处理代码段 retn 000000X add esp 4 pop eip
2015/8/22
QQ81711364 www.lrsys.com
0000001 0000002
0000003
0000004 0000005 0000006 0000007 0000008
0000009
000000A 000000B 000000C 000000D 000000E 000000F
2015/8/22
--------------------把数据取出堆栈里面
mov a,b
赋值
====可以理解为等于号的作用后面的给前面
mov a,[b]
call
带括号是取出来赋值。就是拿出b这个地址里面是量 上面讲过了
retn
上面讲过了
其他的计算符。add之类的大家自己应该都是知道的。
2015/8/22 QQ81711364 www.lrsys.com
模拟作者转内存作者教程教案
IDE(开发环境)为VS2010 需要一定的类C类语言编程基础 最好是有出过成品模拟辅助(大漠等) 的作者。
教程大纲 1.内存辅助基础 2.小demo练习OD入门 3.游戏实战call(40集左右) 4.游戏实战数据来源(二叉等) 5.单进程单IP(从零开始讲sock5协议和Lsp) 6.到时候再说 到底能录多少集还不一定,看着录吧
2015/8/22 QQ81711364 www.lrsys.com
7.游戏实战---常用功能(买物)拆解--问道(call比较容易构造)
天龙八部。梦幻西游。零纪元。寻仙。九刃。众神之战等。(各有特色) win7 bp ws2_32.send xp bp send
__cdecl:C调用方式,参数从右向左传递,栈的初始和清理由调用者完成 __stdcall:标准调用方式,参数从右向左传递,栈的初始和清理由被调用者完成
2015/8/22
QQ81711364 www.lrsys.com
6.构造call的最佳步骤------前辈模拟器练习找喊话call
本节课讲vs2010编写辅助框架和易语言编写辅助框架看大家到底能学哪一种,这一节课 的只是基础的基础,大家如实反馈给我,不要好高骛远。 1.c++MFCdll的创建 2.需要了解的API:什么是API----可以理解为和大漠插件给的接口,只不过是微软给 的接口 大漠插件很多功能也只是二次封装了微软的API接口。大家熟悉了可以自己写 出类似的插件。 1.FindWindow 2.AfxMessageBox 3.CallNextHookEx 4.GetWindowThreadProcessId 5.SetWindowsHookEx 6.KeyboardProc 7.GetModuleHandle 8.AFX_MANAGE_STATE(AfxGetStaticModuleState()) 9.ExitInstance 2.易语言编写dll注入框架纯API
2015/8/22
QQ81711364 www.lrsys.com
整型int
无符号整型int 有符号整型 unsigned int
整型 数值类型 基本类型
浮点型 字符类型 char 数组 构造类型
短整型short 长整型long
单精度浮点float 双精度浮点double
结构体struct(自定义数据类型) c++ 数据类型 分类 指针类型 * 共用体union 枚举类型enum 无类型void 自定义类型typedef
2015/8/22
QQ81711364 www.lrsys.com
关于IDE问题
• 鉴于很多朋友不能一下子接受c++的编程习 惯,易语言和c++我会交替使用,争取让大 家学完这套教程能将易语言学习到的知识 连接到c++编程当中, • 例如拦住大部分易语言、按键精灵、等作 者的->指针,数据类型 int long char char* 等,。。就我了解,目前市面上还没有这 么一套细致的教程。!
QQ81711364 www.lrsys.com
7.3买一个东西
2015/8/22
QQ81711364 www.lrsys.com
数组中对比找到8要9步 0 1 2 3 4 5 6 7 8
8.二叉树的优势 二叉树中只要最大2步 0
2
4 树根 6 7
8
10 11
9
2015/8/22
QQ81711364 www.lrsys.com
断点 堆栈 主界面
2015/8/22
QQ81711364 www.lrsys.com
5.新手找call6部曲-----前辈模拟器练习找加法call 1. 2. 3.
4.测试call 调用堆栈 地址 堆栈 函数过程 / 参数 调用来自 结构 0012F55C 004599F6 <jmp.&wsock32.send> call01_B.004599F1 0012F594 0012F560 00000001 Socket = 0x1 0012F564 00461CFC Data = call01_B.00461CFC 0012F568 00000009 DataSize = 0x9 0012F56C 0000000A Flags = MSG_PEEK|8 0012F598 0045988B ? call01_B.0045992C call01_B.00459886 0012F594 5.构造call 6.注入器测试