- 大学三年级
- 2453267
- 681
- 15
- 1235 朵
- 2419 个
- 633 个
- 17540
- 2014-04-06
|
1#
t
T
发表于 2022-04-07 12:27
|
|只看楼主
大家好,我是类人猿!之前帖子是关于图文,可能很多同学看起来费劲。下面我用乐玩插件memory汇编命令给大家做一期视频关于memory逆向讲解教学。主要是针对我们主流游戏的memory读写和汇编call、hook等演示试看。memory需要系统学习的,包括汇编等知识。逆向不像图色模拟懂几个命令教可以开干的。如果想系统学习可以报名我的班级来学习按键精灵pc逆向,系统课程大概80集左右。 下面是乐玩篇(部分)试看演示教程: 2022按键精灵memory教程:乐玩篇1.乐玩memory功能插件注册2022按键精灵memory教程:乐玩篇2.memory读取游戏人物数据2022按键精灵memory教程:乐玩篇3.防止更新之特征码定位基地址2022按键精灵memory教程:乐玩篇4.某3D游戏坐标数据查找来源和读取2022按键精灵memory教程:乐玩篇5.某3D游戏memory寻路call分析读取2022按键精灵memory教程:乐玩篇6.按键精灵写某游戏寻路call2022按键精灵memory教程:乐玩篇7. 加密数据和乐玩提取call的返回值2022按键精灵memory教程:乐玩篇8. 游戏memory属性和汇编代码修改2022按键精灵memory教程:乐玩篇9. 特征码定位汇编修改的地址(高级应用准备)2022按键精灵memory教程:乐玩篇10. 构造游戏钩子hook(高级应用)第七课视频观看:![](/images/attachicons/attachimg.gif) 提取call返回值代码:- Import "F:\编程工具\乐玩插件8.02\lw.dll"
- hwnd = lw.findwindow("XXXXXX", 0)
- TracePrint hwnd
- ret = lw.SetMemoryProcess(hwnd, 1)
- //根据call 返回值, 提取游戏加密数据
- ret = lw.AsmClear() //清空命令
- ret = lw.AsmAdd("mov ecx,dword ptr ds:[0x1FB2678]") //目的地坐标的地址
- ret = lw.AsmAdd("mov ecx,dword ptr ds:[ecx]") // 人物当前坐标地址 注入失败很可能是这个当前人物坐标问题,刷新数据过慢
- ret = lw.AsmAdd("call dword ptr ds:[0x1FB3534]")
- 游戏金币 = lw.AsmCall(hwnd, 1)
- TracePrint 游戏金币
复制代码 函数使用说明:- 执行用AsmAdd加到缓冲中的指令.
- 函数原型:
- int AsmCall(hwnd,mode)
-
- 参数定义:
- hwnd
- 整形数:
- 窗口句柄
- mode 整形数: 执行模式,取值如下
- 0 : 在本进程中的当前线程中进行执行,这时hwnd无效.
- 1 : 对hwnd指定的进程内执行,注入模式为创建远程线程
- 2:在hwnd所属线程中,以免崩溃模式执行(此模式下出现绝大多数错误都不会造成进程崩溃),).此模式下的call的执行是排队的,如果同时有多个call在此窗口执行,那么必须排队.所以执行效率不如模式1.
- 3:在hwnd所属线程中执行,如果模式2执行失败,可以尝试用此模式.
-
-
- 返回值:
- 整形数:
- 成功返回执行汇编代码以后的EAX的值.一般是函数的返回值,失败返回-100.
复制代码
|