首页
社区
课程
招聘
[求助]如何获取当前指令在内存中的地址?
发表于: 2013-12-29 22:09 5167

[求助]如何获取当前指令在内存中的地址?

2013-12-29 22:09
5167
本人刚学习PE文件修改,有问题请教下各位大虾:
要如何才能获取当前指令在内存中的地址,比如说olly打开得到的当前代码如下:
0026368E   .  6A 58         push    58
00263690   .  68 A0372600   push    002637A0
00263695   .  E8 72040000   call    00263B0C
我想在程序执行push  58(也就是0026368E地址)这条指令时获取该指令在内存中的地址,并存放到eax中,请教一下,要怎么才能实现呢?

[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 95
活跃值: (119)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
Call __TEST
push 58
push    002637A0
call    00263B0C
......
__TEST:
pop eax

这个时候eax里面就是push 58的地址了
2013-12-29 22:23
0
雪    币: 257
活跃值: (67)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
3
挂起,GetThreadContext
2013-12-29 22:32
0
雪    币: 29
活跃值: (40)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
4
同意这种方法,直白,易懂,shellcode技巧里也使用了这种方法,比较有技巧性。
2013-12-30 00:14
0
雪    币: 7077
活跃值: (3603)
能力值: ( LV12,RANK:340 )
在线值:
发帖
回帖
粉丝
5
LZ是说取当前EIP么?
可以考虑这么写:
call next
next:
pop eax

eax就是pop eax这条指令的地址
2013-12-30 00:45
0
雪    币: 1632
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
E8 00000000
2013-12-30 08:24
0
雪    币: 144
活跃值: (30)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
7
感谢楼上几位的帮助,受益非浅,再次感谢!!
2013-12-30 09:15
0
游客
登录 | 注册 方可回帖
返回