美文网首页
OD 菜单类CALL分析

OD 菜单类CALL分析

作者: blank_white | 来源:发表于2020-06-21 15:38 被阅读0次
    原理:

    WM_COMMAND 在以下条件下会产生:点击菜单, 点击加速键,点击子窗口按钮,点击工具栏按钮。这些时候都有command消息产生。

    1. 查看>窗口(如果没有出现任何窗口右键刷新即可)>跟随ClassProcess
    image.png
    1. 分析代码>假定参数(有时可能分析不出来是什么,需要自行假定)
    image.png
    image.png
    1. 我们希望当 窗口消息是 WM_COMMAND 的时候停下来,所以要设置条件断点(shift+F2)
    image.png
    image.png
    1. 点击扫雷游戏中的菜单项目,如 游戏>初级 ,触发断点,然后就会停下来。
      观察右下角,一共四个参数,参数入栈从右到左
    push hControl 句柄可以为空  ->  push 0
    push Notify  菜单号,可以尝试修改此值 来call 其他菜单  ->   push 209
    push WM_COMMAND   此消息的值为 111 -> push 111
    push hWnd 句柄可以空  -> push 0
    call  WinPro  -> call  01001BC9
    注入 ,可以发现调用了菜单里面的选项
    
    image.png
    image.png
    1. C++ 实现
    HWND h = ::FindWindow(NULL, TEXT("扫雷"));
        if (h==0)
        {
            ::MessageBox(NULL, TEXT("未找到扫雷"), NULL, MB_OK);
        }
        ::SendMessage(h, WM_COMMAND, 0x20A, 0);
    

    相关文章

      网友评论

          本文标题:OD 菜单类CALL分析

          本文链接:https://www.haomeiwen.com/subject/cbusrctx.html