开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 1736|回复: 17
收起左侧

[已解决] 有没有OD的大牛看下问题啊,

 关闭 [复制链接]
结帖率:63% (27/43)
发表于 2017-6-5 13:40:28 | 显示全部楼层 |阅读模式   浙江省丽水市
10精币
004170CE  |.  8b45f0        mov eax, dword ptr [ebp - 0x10]
004170D1  |.  8b4808        mov ecx, dword ptr [eax + 8]
004170D4  |.  8b55f0        mov edx, dword ptr [ebp - 0x10]          ;  edx=[基址]
004170D7  |.  8b4208        mov eax, dword ptr [edx + 8]             ;  eax=[[基质]+8]
004170DA  |.  8b09          mov ecx, dword ptr [ecx]
004170DC  |.  50            push eax
004170DD  |.  ff9130010000  call dword ptr [ecx + 0x130]
004170E3  |.  0fb6d0        movzx edx, al
004170E6  |.  85d2          test edx, edx
004170E8  |.  745b          je 0x417145
004170EA      668b45e8      mov ax, word ptr [ebp - 0x18]
004170EE      50            push eax
004170EF      8b4df0        mov ecx, dword ptr [ebp - 0x10]
004170F2      8b494c        mov ecx, dword ptr [ecx + 0x4c]
004170F5      e8d60f0000    call 0x4180d0
004170FA      50            push eax
004170FB      668b55e8      mov dx, word ptr [ebp - 0x18]
004170FF      52            push edx
00417100      8b45f0        mov eax, dword ptr [ebp - 0x10]
00417103      8b484c        mov ecx, dword ptr [eax + 0x4c]
00417106      e8556fffff    call 0x40e060
0041710B      50            push eax
0041710C      8d4de4        lea ecx, dword ptr [ebp - 0x1c]
0041710F      51            push ecx
00417110      8b55f0        mov edx, dword ptr [ebp - 0x10]
00417113      8b4a14        mov ecx, dword ptr [edx + 0x14]
00417116      e8157effff    call 0x40ef30
0041711B  |.  50            push eax
0041711C  |.  668b45e8      mov ax, word ptr [ebp - 0x18]
00417120  |.  50            push eax
00417121  |.  8b4df0        mov ecx, dword ptr [ebp - 0x10]
00417124  |.  8b494c        mov ecx, dword ptr [ecx + 0x4c]
00417127      e8046fffff    call 0x40e030                          ;下面的是这个CALL的代码


0040E030  /$  55            push ebp
0040E031  |.  8bec          mov ebp, esp
0040E033  |.  83ec44        sub esp, 0x44
0040E036  |.  53            push ebx
0040E037  |.  56            push esi
0040E038  |.  57            push edi
0040E039  |.  894dfc        mov dword ptr [ebp - 4], ecx
0040E03C  |.  0fb74508      movzx eax, word ptr [ebp + 8]
0040E040  |.  8b4dfc        mov ecx, dword ptr [ebp - 4]
0040E043  |.  8b550c        mov edx, dword ptr [ebp + 0xc]
0040E046  |.  8954812c      mov dword ptr [ecx + eax*4 + 0x2c], edx,;需要找到这个EDX是怎么来的
0040E04A  |.  5f            pop edi
0040E04B  |.  5e            pop esi
0040E04C  |.  5b            pop ebx
0040E04D  |.  8be5          mov esp, ebp
0040E04F  |.  5d            pop ebp
0040E050  \.  c20800        ret 8


会的大牛快说下啊,困扰好久了,,谢谢大家

最佳答案

查看完整内容

edx 来源 ebp+0xc,ebp+0xc也就是这个函数的第二个参数

回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。
友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。
快捷通道:申请荣誉值无答案申请取消悬赏投诉有答案未采纳为最佳
结帖率:100% (5/5)
发表于 2017-6-5 13:40:29 | 显示全部楼层   广东省广州市
edx 来源 ebp+0xc,ebp+0xc也就是这个函数的第二个参数
回复

使用道具 举报

结帖率:62% (49/79)
发表于 2017-6-5 14:15:12 | 显示全部楼层   广东省深圳市
mov edx, dword ptr [ebp + 0xc]

只知道是外部来的,我也想知道,以前问过,
回复

使用道具 举报

结帖率:69% (11/16)
发表于 2017-6-5 14:29:44 | 显示全部楼层   陕西省汉中市
内存               
回复

使用道具 举报

发表于 2017-6-5 14:57:53 | 显示全部楼层   安徽省淮南市
edx是[ebp+c]赋值而来,[ebp+c]是参数2,然后看调用call前面的代码不是有两个push么,懂了没?
回复

使用道具 举报

结帖率:100% (5/5)
发表于 2017-6-5 15:18:31 | 显示全部楼层   广东省广州市
举个简单例子
push 5    没push之前 esp=c,push 5后esp-4,esp=8
push 3    esp-4,esp=4
call xxx   esp-4 esp=0 保存call下一条指令的地址

在call里面
push ebp esp-4 esp=-4 保存ebp的值
mov ebp,esp
...后面 esp+4就是call xxx的下一条指令的地址,因为执行完call xxx需要到这个地址
esp+8就是call xxx第一个参数,esp+c就是call xxx第二个参数,以此类推,如果有第三个参数,就是ebp+10
回复

使用道具 举报

结帖率:100% (5/5)
发表于 2017-6-5 15:21:05 | 显示全部楼层   广东省广州市
tscrd0 发表于 2017-6-5 15:18
举个简单例子
push 5    没push之前 esp=c,push 5后esp-4,esp=8
push 3    esp-4,esp=4

最后一行写错了,应该是ebp+8就是call xxx第一个参数,ebp+c就是call xxx第二个参数
回复

使用道具 举报

结帖率:62% (49/79)
发表于 2017-6-5 15:21:30 | 显示全部楼层   广东省深圳市
ANJIANTEST 发表于 2017-6-5 14:57
edx是[ebp+c]赋值而来,[ebp+c]是参数2,然后看调用call前面的代码不是有两个push么,懂了没?

你是说 ebp+c 是这一个吗     0040E037  |.  56            push esi
回复

使用道具 举报

头像被屏蔽
结帖率:90% (19/21)
发表于 2017-6-5 15:23:18 | 显示全部楼层   海南省海口市
OD方面到吾爱大神多
回复

使用道具 举报

结帖率:62% (49/79)
发表于 2017-6-5 15:25:31 | 显示全部楼层   广东省深圳市
E丶JavaScript 发表于 2017-6-5 15:23
OD方面到吾爱大神多

?有没有这种实例讲解的视频教程?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 诚聘英才| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 800073686,邮箱:800073686@b.qq.com
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表