今天又又又有人问我怎么看窗口注册并且 怎么下条件断点 emmmm 这个问题其实涉及到了Windows编程 如果你这个会 还请先补充一些windows编程的知识再来看这些内容
本次演示的程序是我上外挂的那个扫雷程序
首先 先下断点在CreateWindows 下断点 然后返回到上一层 发现了
然后找找附近有没有RegisterClassW 函数
然后发现了
看到pWndClass 我就很开心
这个
typedef struct tagWNDCLASSEXA {
UINT cbSize;
UINT style;
WNDPROC lpfnWndProc;
int cbClsExtra;
int cbWndExtra;
HINSTANCE hInstance;
HICON hIcon;
HCURSOR hCursor;
HBRUSH hbrBackground;
LPCSTR lpszMenuName;
LPCSTR lpszClassName;
HICON hIconSm;
} WNDCLASSEXA, *PWNDCLASSEXA, *NPWNDCLASSEXA, *LPWNDCLASSEXA;
可以在微软官方查到 这个就是存储我们窗口处理函数的信息了 然后我们找到这个地址
低字节在下面 所以我们的地址就是01001bc9
我们找到这个地方并下断点
并分析出来了 我们的参数
为什么要找第二个参数
窗口处理函数
LRESULT CALLBACK WindowProc(
__in HWND hwnd,
__in UINT uMsg,
__in WPARAM wParam,
__in LPARAM lParam
);
第二个就是各种消息处理了 比如鼠标点击啦 或者菜单被点击的WM_COMMAND消息啦 等等
下断点的话 肯定要是消息断点 要不然的话 窗口会直接卡死
断这个有什么用呢
比如可以断下按钮事件 也可以 断下点击菜单 比如我们可以把扫雷的初级中级高级 断下来 获得他们的id
嗯 就是这样