widgetbin.dll

WINDOWS 专栏收录该内容
11 篇文章 0 订阅


点击(此处)折叠或打开

  1. ; Exported entry 2253. ?DoDialog@WSaveFileDialogBase@@UAEFPBVIDFile@@PAV2@PAJFFPBVPMString@@@Z


  2. ; Attributes: bp-based frame

  3. ; public: virtual short __thiscall WSaveFileDialogBase::DoDialog(class IDFile const *, class IDFile *, long *, short, short, class PMString const *)
  4. public ?DoDialog@WSaveFileDialogBase@@UAEFPBVIDFile@@PAV2@PAJFFPBVPMString@@@Z
  5. ?DoDialog@WSaveFileDialogBase@@UAEFPBVIDFile@@PAV2@PAJFFPBVPMString@@@Z proc near

  6. var_460= word ptr -460h
  7. var_258= byte ptr -258h
  8. var_220= byte ptr -220h
  9. var_1E8= byte ptr -1E8h
  10. var_1B0= byte ptr -1B0h
  11. var_16C= byte ptr -16Ch
  12. var_160= byte ptr -160h
  13. var_128= byte ptr -128h
  14. var_F0= byte ptr -0F0h
  15. var_B8= byte ptr -0B8h
  16. var_80= byte ptr -80h
  17. var_70= tagOFNW ptr -70h
  18. var_24= dword ptr -24h
  19. var_20= dword ptr -20h
  20. var_1C= dword ptr -1Ch
  21. var_18= dword ptr -18h
  22. var_14= dword ptr -14h
  23. var_10= dword ptr -10h
  24. var_C= dword ptr -0Ch
  25. var_4= dword ptr -4
  26. arg_0= dword ptr 8
  27. arg_4= dword ptr 0Ch
  28. arg_8= dword ptr 10h
  29. arg_C= dword ptr 14h
  30. arg_10= dword ptr 18h
  31. arg_14= dword ptr 1Ch

  32. push ebp             ;把ebp压入栈
  33. mov ebp, esp         ;栈地址赋给ebp
  34. push 0FFFFFFFFh        ;压入0FFFFFFFFh
  35. push offset ?DoDialog@WSaveFileDialogBase@@UAEFPBVIDFile@@PAV2@PAJFFPBVPMString@@@Z_SEH    ;压入函数吧
  36. mov eax, large fs:0         ;FS:0指向线程环境块TEB
  37. push eax                     ;压入栈
  38. mov large fs:0, esp            ;这3句可能是异常处理,large是ida自己加的
  39. sub esp, 454h                ;在堆栈中留出局部变量的空间
  40. push ebx     
  41. push esi
  42. mov esi, ecx
  43. xor ebx, ebx                ;清零
  44. push edi
  45. lea ecx, [ebp+var_1B0]        ;ecx=ebp+var_1B0
  46. mov [ebp+var_14], ebx            ;ebx不是0了么
  47. call ds:??0IDFile@@QAE@XZ ; IDFile::IDFile(void)  ;感觉是个声明,找不到具体的定义
  48. mov edi, [ebp+arg_0]                ;参数0赋值
  49. mov [ebp+var_4], ebx                ;这里又清零了?
  50. cmp edi, ebx                        ;比较edi和ebx,edi是参数0,ebx是0。
  51. jz short loc_100786FB              ;如果edi比较后ZF置1,则跳转到loc_100786FB

var_460= word ptr -460h开始是相对于指针EBP偏移距离为负,代表着是一些局部变量。
偏移距离为正的代表着用到的形参。
call  ds:IDFile
这条指令不是很清楚


<script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script>
阅读(243) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

©️2022 CSDN 皮肤主题:技术黑板 设计师:CSDN官方博客 返回首页

打赏作者

习惯就好zz

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值