4
A
回答
2
您不能像ollydbg/Immunity调试器那样查看它。但是你可以手动从栈中检索参数。您必须在MSDN中检查API参考并从堆栈检索扩充。
作为示例,要获取MessageBoxW()的参数,可以在MessageBoxW()中设置断点。
0:002> g
(9e0.91c): Break instruction exception - code 80000003 (first chance)
eax=7efa9000 ebx=00000000 ecx=00000000 edx=76f6f8ea esi=00000000 edi=00000000
eip=76ee000c esp=00f3ff5c ebp=00f3ff88 iopl=0 nv up ei pl zr na pe nc
cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00000246
ntdll!DbgBreakPoint:
76ee000c cc int 3
0:005> bp user32!MessageBoxW
0:005> g
Breakpoint 0 hit
eax=00000001 ebx=00000000 ecx=002a2fc6 edx=00000000 esi=002b7f00 edi=00000003
eip=749ffd3f esp=000cf608 ebp=000cf624 iopl=0 nv up ei pl nz na po nc
cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00000202
USER32!MessageBoxW:
749ffd3f 8bff mov edi,edi
现在当断点被击中时,您可以从堆栈中获取它们。 MessageBoxW()接受4个参数。所以我们从堆栈中转储5个堆栈元素。
0:000> dd esp L5
000cf608 01001fc4 000806aa 002b7f00 002a3074
000cf618 00000040
凡0x01001fc4是返回地址,其中MessageBoxW返回。接下来的4个指针是传递给MessageBoxW()的参数。现在您可以相应地转储它们。
0:000> du 002b7f00
002b7f00 "Cannot find "foo""
0:000> du 002a3074
002a3074 "Notepad"
希望这将有助于:)
相关问题
- 1. 使用windbg传递给函数的参数检查
- 2. WINDBG,如何查看数组的内容?
- 3. 查看参数
- 4. 查看POST参数
- 5. Windbg和查看AppDomain内容
- 6. 查看地址中的实际数据REGionUsageIsVAD WinDBG
- 7. 未在Django中调用查看函数
- 8. 如何查看查询中的参数?
- 9. windbg中disassamble函数的起始地址
- 10. Log4net ADONetAppender - 查看参数值?
- 11. 意见,Pathauto,查看参数
- 12. 创建Mysql查看参数
- 13. 部分查看参数
- 14. Drupal:更改查看参数
- 15. 通参数,以查看
- 16. 传递参数来查看
- 17. 查看OpenSSL的参数
- 18. IQueryable参数 - 如何查看?
- 19. bash看到参数作为函数
- 20. gdb corefile看不到函数参数
- 21. php函数看不到参数值
- 22. 函数只能看到三个参数
- 23. Javascript检查函数参数
- 24. 函数参数检查
- 25. 查找DLL函数参数
- 26. 查找函数的参数
- 27. Geoserver sql查看参数搞错了postgis函数调用
- 28. 无法将参数从html传递到查看函数
- 29. 如何使用kcachegrind查看php函数参数
- 30. Windows进程:查看函数和更改参数的工具