郁金香 魔兽世界技能栏逆向

c++遍历链表

 
读取链表数据

 

 

 

XDBG条件断点-分析一些固定的值是否会变动

分析快捷栏的数组
 

 

 

 

节省数据
 四字节对齐就是可以整除的

 

 

 快捷栏数组 和技能id

调用call 执行快捷栏技能

 

 


 

 


这个call的上下层
上--快捷栏调用
下-技能ID读取 调用


进入上一层

 

 


快捷栏调用
复制代码
sub esp,0x100
lea eax,[esp+0]
mov dword ptr[eax+0x00],0
mov dword ptr[eax+0x04],0
push 19FCA234 ///字符串
push eax
push 4///快捷栏下标
call 0x005ABBC0
add esp,0x100

void
使用快捷栏(int 下标) { int pcall = 0x5ABBC0; int 参数2[3] = { 0,0 }; char 参数3[] = "LeftButton"; __asm { lea eax, 参数3 push eax lea eax, 参数2 push eax push 下标 call pcall add esp,0x0C } } VOID CALLBACK 主线_使用快捷栏(HWND h, UINT arg2, UINT_PTR arg3_id, DWORD time) { KillTimer(h, arg3_id); 使用快捷栏(3);//调用第4格快捷栏 } void CPAGE00::OnBnClickedButton4() { // TODO: 在此添加控件通知处理程序代码 printf("wowyjx OnBnClickedButton1\n");//debugview HWND 游戏窗口句柄 = FindWindowA("GxWindowClassD3d", "魔兽世界"); //printf("游戏窗口句柄=%p 行号=%d \r\n", 游戏窗口句柄, __LINE__); //::SetTimer(游戏窗口句柄, 10086, 1, 主线_遍历对象数组); //#inclue<windows.h> ::SetTimer(游戏窗口句柄, 10086, 1, 主线_使用快捷栏); } void CPAGE00::OnBnClickedButton5() { // TODO: 在此添加控件通知处理程序代码 使用快捷栏(3);//调用第4格快捷栏 printf("使用快捷栏 \n"); }
复制代码

 



数组逆分析复习

 结构体逆向分析
posted @   逆向狗  阅读(214)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示