ZC_RXJH_喊话

1、

CE:内存访问时:

009705E4 - 8B 06 - mov eax,[esi] <<
009705ED - 8B 16 - mov edx,[esi] <<
00970583 - 8A 06 - mov al,[esi] <<

0044F890 - 8A 10 - mov dl,[eax] <<

 

OD:  非基址 内存写入断点,发送信息时,断下:

519154 立断==>pass
9705e4 立断==>pass
9705ed 立断==>pass
986924 立断==>pass
44f890
519154 立断==>pass

 

1.1、

0044F890 键入Enter断1次 其上层CALL为:
00785894 键入Enter断1次 其上层CALL为: yjx_02.png
0044FE0F 键入Enter断1次 其上层CALL为: yjx_03.png 此处ECX为“dd [[[0F8163C]+330]+48]”
0045179C 键入Enter断1次 其上层CALL为: yjx_04.png 此处ECX为“dd [0F8163C]+330]”

ZC: 这里通过堆栈窗口回溯到上级CALL貌似 不是太准确...
0044FD6D 键入Enter断2次 其上层CALL(有2个)为: yjx_0501.png yjx_0502.png 此处ECX为“dd [[[0F8163C]+330]+48]”
00451B34(case WM_KEYDOWN) 00451B0D(case WM_CHAR) 它们的上层CALL相同,为:此处ECX为“dd [[0F8163C]+330]”
0053CD53(立断)
找到ECX基址(0053CD38 |> \8B0D 3C16F800 MOV ECX,DWORD PTR DS:[0xF8163C])

ZC: 通过 CTRL+F9(执行到返回) 来到上层CALL为:
00451B16 键入Enter断1次 (case WM_CHAR) 其上层CALL为:
0053CD53(立断)

 

00451B16 中出现的参数:0x20001/0x30001/0x1C0001 是WM_CHAR的lParam参数,其中0x2/0x3/0x1C是键盘扫描码。
0053CD53 所在的函数应该就是窗口消息处理函数。
00451B16 所在的函数是窗口消息处理函数的 子函数。

2、

3、

 

posted @ 2016-05-15 14:38  DebugSkill  阅读(118)  评论(0编辑  收藏  举报