首页
社区
课程
招聘
[原创]现学现用之windbg的高级玩法外篇一:获取某软件的聊天记录
发表于: 2013-9-20 21:22 71166

[原创]现学现用之windbg的高级玩法外篇一:获取某软件的聊天记录

2013-9-20 21:22
71166
收藏
免费 6
支持
分享
最新回复 (109)
雪    币: 5
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
101
mark
2014-9-25 18:30
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
102
看一下调用栈(下面的分析都是基于此调用栈的分析)
代码:
0:000> kb n 10
# ChildEBP RetAddr  Args to Child              
00 0012d8f0 30030e71 05acfc26 0779c308 00000014 MSVCR80!LeadUpVec+0x3c [F:\dd\vctools\crt_bld\SELF_X86\crt\src\intel\memcpy.asm @ 259]
WARNING: Stack unwind information not available. Following frames may be wrong.
01 0012d910 318e1b49 059bc360 0779c308 00000014 Common!Util::Extension::CreateExtensionSort+0x572b
02 0012d958 318dda9c 019bc360 b2d95feb 05aa688c KernelUtil!CDRStrCodecBaseHttp2Cs::AddRef+0x7e69
03 0012d988 318dfedb 05847a70 059bc360 0012da4c KernelUtil!CDRStrCodecBaseHttp2Cs::AddRef+0x3dbc
04 0012d9b8 318dff6b 0012d9ec b2d95f83 05aa6868 KernelUtil!CDRStrCodecBaseHttp2Cs::AddRef+0x61fb
05 0012d9e0 0328d5e0 05aa6868 059bc360 996b7b57 KernelUtil!CDRStrCodecBaseHttp2Cs::AddRef+0x628b
06 0012da38 0326ca46 01ab9aa4 062e2cb0 0770c4b8 IM!DllUnregisterServer+0x2a994
07 0012da98 3189b727 057a2310 05aa6868 01ab9aa4 IM!DllUnregisterServer+0x9dfa
08 0012daf4 3189beab 035c918c 07779a18 05aa6868 KernelUtil!Util::MsgImport::FindAutoQQMsgFileFullPath+0x4a6
09 0012db50 03409695 035c918c 5556ae** 4c12fd** KernelUtil!Util::Msg::SaveMsg194+0x371
0a 0012dfdc 033d52c0 035c918c 05aa6868 00000000 IM!DllUnregisterServer+0x1a6a49
0b 0012e07c 033d6f08 05aa6868 00000000 00000001 IM!DllUnregisterServer+0x172674
0c 0012e0a0 033d7125 05aa6868 00000000 05a56438 IM!DllUnregisterServer+0x1742bc
0d 0012e0d4 6629a5eb 056c0864 05aa6868 00000000 IM!DllUnregisterServer+0x1744d9
0e 0012e12c 64c20f8d 059d19a0 05aa6868 05599278 AppFramework!DllUnregisterServer+0x9851c
0f 0012e140 662903e9 05a560c8 05aa6868 05ae3f88 ChatFrameApp!DllUnregisterServer+0x1fb6a
通过看堆栈我们可以发现,当前调用栈还在KernelUtil!Util::Msg::SaveMsg194函数内部(栈帧编号09)。


================================
请教楼主这里的符号都是不准确的,如何判断出断点在KernelUtil!Util::Msg::SaveMsg内部?

还有
此处汇编指出第二个参数是push eax(地址:318e1b41),eax是从[KernelUtil!ValidateBugReport+0xef2e]函数返回的返回值,并且上一条指令是add ecx,14h
由此可知,[KernelUtil!ValidateBugReport+0xef2e]函数是一个类成员函数,ecx+14h就是一个类对象了。并且这个对象是ecx类对象的内部成员变量。

======================================
是如何得出ecx+14h就是一个类对象这个结论的呢?

请赐教,多谢!
2015-1-26 19:21
0
雪    币: 38
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
103
mark
2015-1-26 19:36
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
104
正在学习windbg呢。非常好,感谢!
2015-3-27 11:41
0
雪    币: 27
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
105
现在这个还可以实现么
2015-3-27 16:14
0
雪    币: 100
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
106
学习,,,感谢分享
2015-7-27 20:48
0
雪    币: 9695
活跃值: (2501)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
107
Mark
2016-1-16 22:58
0
雪    币: 397
活跃值: (59)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
108
太好了,必须赞
2016-1-17 10:29
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
109
Mark
2016-4-5 09:02
0
雪    币: 103
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
110
厉害,谢谢楼主分享
2016-4-5 15:59
0
游客
登录 | 注册 方可回帖
返回
//