• 按键公众号 :
按键精灵电脑版
立即下载

软件版本:2014.06
软件大小:22.9M
更新时间:2021-12-03

按键精灵安卓版
立即下载

软件版本:3.7.2
软件大小:46.2M
更新时间:2023-05-10

按键精灵iOS版
立即下载

软件版本:1.8.0
软件大小:29.2M
更新时间:2023-03-21

按键手机助手
立即下载

软件版本:3.8.0
软件大小:262M
更新时间:2023-05-30

快捷导航

登录 后使用快捷导航
没有帐号? 注册

发新话题 回复该主题

[类人猿] 【视频】按键精灵memory教程:乐玩篇6.按键精灵写寻路call [复制链接]

1#
大家好,我是类人猿!之前帖子是关于图文,可能很多同学看起来费劲。下面我用乐玩插件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.按键精灵写某游戏寻路call
2022按键精灵memory教程:乐玩篇7. 加密数据和乐玩提取call的返回值
2022按键精灵memory教程:乐玩篇8. 游戏memory属性和汇编代码修改
2022按键精灵memory教程:乐玩篇9. 特征码定位汇编修改的地址(高级应用准备)
2022按键精灵memory教程:乐玩篇10. 构造游戏钩子hook(高级应用)

第六课视频观看:




函数说明:AsmCall


函数简介:

执行用AsmAdd加到缓冲中的指令.
函数原型:

int AsmCall(hwnd,mode)


参数定义:

hwnd
整形数: 窗口句柄

mode 整形数: 执行模式,取值如下
0 : 在本进程中的当前线程中进行执行,这时hwnd无效.
1 : 对hwnd指定的进程内执行,注入模式为创建远程线程
2:在hwnd所属线程中,以免崩溃模式执行(此模式下出现绝大多数错误都不会造成进程崩溃),).此模式下的call的执行是排队的,如果同时有多个call在此窗口执行,那么必须排队.所以执行效率不如模式1.

3:在hwnd所属线程中执行,如果模式2执行失败,可以尝试用此模式.

返回值:
整形数:
成功返回执行汇编代码以后的EAX的值.一般是函数的返回值,失败返回-100.


示例:
ret=lw.AsmClear()
ret=lw.AsmAdd ("mov eax,1")
ret=lw.AsmAdd ("push 0123456")
ret=lw.AsmAdd ("call 0343434")
ret=lw.AsmCall(hwnd,1)

可以在工具的汇编调试里进行测试。




按键精灵课程源码:
  1. Import "D:\软件\乐玩插件8.02\lw.dll"

  2. Dim ret
  3. TracePrint (lw.ver())
  4. If ret="8.02" then
  5. TracePrint "注册成功,版本没问题"
  6. End If

  7. Dim hwnd, intX,intY,addr
  8. hwnd = lw.FindWindow("赤壁", "ChiBiElementClient Window")
  9. TracePrint (hwnd)
  10. lw.SetMemoryProcess hwnd, 1


  11. addr = lw.VirtualAllocEx(100) //申请memory空间
  12. ret =lw.WriteFloat(addr,396.0) //写入坐标
  13. ret =lw.WriteFloat(addr+8,352.0)
  14. ret=lw.AsmClear()
  15. ret=lw.AsmAdd ("push 0x0")
  16. ret = lw.AsmAdd("push 0x1")
  17. ret=lw.AsmAdd ("push " & Hex(addr))
  18. ret=lw.AsmAdd ("push 0DF1974")
  19. ret = lw.AsmAdd("mov ecx,0xDF1970")
  20. ret=lw.AsmAdd ("call 00868920")
  21. ret=lw.AsmCall(hwnd,1)//注入call
  22. ret = lw.VirtualFreeEx(addr)//释放memory



  23. Function 十六到十(十六进制字符串)
  24. //例子:Msgbox lib.算法.十六进制转十进制("FFFFFF")
  25. Dim D,H,i,Ia
  26. D = 0
  27. H = UCase(十六进制字符串)
  28. For i = 1 To Len(H)
  29. Ia = Asc(Mid(H, i, 1)) - 48
  30. If Ia > 9 Then Ia = Ia - 7
  31. D = D * 16 + Ia
  32. Next
  33. 十六到十 = D
  34. End Function
复制代码

最后编辑类人猿 最后编辑于 2022-04-07 14:48:09
类人猿逆向学院 QQ:578052137 技术Q群583990978
2#

小白表示看不懂

3#

努力学习吧

发新话题 回复该主题