首页
社区
课程
招聘
1
[求助]我才学破解,请问lea eax,[ebp+ffff000]是
发表于: 2004-12-22 18:02 6324

[求助]我才学破解,请问lea eax,[ebp+ffff000]是

2004-12-22 18:02
6324
我才学破解,请问lea eax,[ebp+ffff000]是什么作用阿?
lea eax,[ebp+ffff000]
push eax

这ebp,前边没有使用过,什么意思?
能给点提示吗?

我才学破解,前辈高手能给个提示吗?

程序如下:
0044A064  |> 8B46 1C         MOV EAX,DWORD PTR DS:[ESI+1C]
0044A067  |. 8B4E 10         MOV ECX,DWORD PTR DS:[ESI+10]
0044A06A  |. 2BC8            SUB ECX,EAX
0044A06C  |. 57              PUSH EDI
0044A06D  |. 51              PUSH ECX
0044A06E  |. 8B4E 0C         MOV ECX,DWORD PTR DS:[ESI+C]
0044A071  |. 03C8            ADD ECX,EAX
0044A073  |. 51              PUSH ECX
0044A074  |. 8D85 0000FFFF   LEA EAX,DWORD PTR SS:[EBP+FFFF0000]
0044A07A  |. 50              PUSH EAX
0044A07B  |. FF56 24         CALL DWORD PTR DS:[ESI+24]

0044A07E  |. 8BF8            MOV EDI,EAX
0044A080  |. 57              PUSH EDI            //加密的长度
0044A081  |. 8D85 0000FFFF   LEA EAX,DWORD PTR SS:[EBP+FFFF0000]
0044A087  |. 50              PUSH EAX         //这可能什么参数??
0044A088  |. 8B46 0C         MOV EAX,DWORD PTR DS:[ESI+C]
0044A08B  |. 0346 1C         ADD EAX,DWORD PTR DS:[ESI+1C]
0044A08E  |. 50              PUSH EAX           //加密的位置
0044A08F  |. E8 DC2FFFFF     CALL _m.0043D070  //这是一个加密函数


[注意]看雪招聘,专注安全领域的专业人才平台!

收藏
免费 1
支持
分享
赞赏记录
参与人
雪币
留言
时间
PLEBFE
为你点赞~
2024-4-3 01:02
最新回复 (8)
雪    币: 225
活跃值: (146)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
2
lea eax,[ebp+ffff000]是
eax=ebp+ffff000 基址+偏移
2004-12-22 20:11
0
雪    币: 390
活跃值: (707)
能力值: ( LV12,RANK:650 )
在线值:
发帖
回帖
粉丝
3
eax=ebp-1000h
2004-12-23 08:43
0
雪    币: 332
活跃值: (499)
能力值: ( LV9,RANK:330 )
在线值:
发帖
回帖
粉丝
4
最初由 firstrose 发布
eax=ebp-1000h


是0044A074: lea eax,[ebp+ffff0000],注意它是ffff0000!!!
相当于eax=ebp+ffff0000
eax=ebp-10000h
2004-12-23 09:44
0
雪    币: 390
活跃值: (707)
能力值: ( LV12,RANK:650 )
在线值:
发帖
回帖
粉丝
5
最初由 laoqian 发布


是0044A074: lea eax,[ebp+ffff0000],注意它是ffff0000!!!
相当于eax=ebp+ffff0000
eax=ebp-10000h


faint,我没看他的反汇编,直接看“lea eax,[ebp+ffff000]”了。

那么就是eax=ebp-10000h
2004-12-23 09:50
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
0044A07E  |. 8BF8            MOV EDI,EAX
0044A080  |. 57              PUSH EDI            //加密的长度
0044A081  |. 8D85 0000FFFF   LEA EAX,DWORD PTR SS:[EBP+FFFF0000]
0044A087  |. 50              PUSH EAX         //这可能什么参数??
0044A088  |. 8B46 0C         MOV EAX,DWORD PTR DS:[ESI+C]
0044A08B  |. 0346 1C         ADD EAX,DWORD PTR DS:[ESI+1C]
0044A08E  |. 50              PUSH EAX           //加密的位置
0044A08F  |. E8 DC2FFFFF     CALL _m.0043D070  //这是一个加密函数

我在程序中尝试调用这个加密函数,测试一下,却
第二个参数搞不清楚它是什么意义。

我再跟跟看。
2004-12-23 10:16
0
雪    币: 390
活跃值: (707)
能力值: ( LV12,RANK:650 )
在线值:
发帖
回帖
粉丝
7
最初由 天下最菜 发布
0044A07E |. 8BF8 MOV EDI,EAX
0044A080 |. 57 PUSH EDI //加密的长度
0044A081 |. 8D85 0000FFFF LEA EAX,DWORD PTR SS:[EBP+FFFF0000]
0044A087 |. 50 PUSH EAX //这可能什么参数??
0044A088 |. 8B46 0C MOV EAX,DWORD PTR DS:[ESI+C]
........


应该是内存缓冲区,就是加密的内容。最大10000h字节,64k
2004-12-23 11:58
0
雪    币: 235
活跃值: (160)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
JiP
8
我赞同firstrose的见解。
我估计第二个参数应该是加密数组(或队列)的地址。
可以认为是一个指向加密数组的指针。
LEA EAX,DWORD PTR SS:[EBP+FFFF0000]
PUSH EAX
==> ADDR 加密数组名(或内存缓冲区变量名)
==> 得到加密数组的地址后,通过堆栈将它传加密函数
==> invoke  加密函数 , 加密的位置,  加密数组的地址, 加密的长度
2004-12-23 13:49
0
雪    币: 390
活跃值: (707)
能力值: ( LV12,RANK:650 )
在线值:
发帖
回帖
粉丝
9
不一定是地址。

因为10000h恰好是64k,即使算上其他的局部变量也不会要这么大的空间。
2004-12-23 16:18
0
游客
登录 | 注册 方可回帖
返回

账号登录
验证码登录

忘记密码?
没有账号?立即免费注册