push dword ptr fs:[eax]什么意思?

suncheng_hong 2009-05-30 12:08:57
push dword ptr fs:[eax]什么意思?
...全文
1433 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
AbnormalSubmarine 2009-06-01
  • 打赏
  • 举报
回复
都说完了!!
我就直接接分了!

Struct exception handle[好像是这么写的]
bysdy 2009-05-31
  • 打赏
  • 举报
回复
接下分哈~~
楼主看下SEH异常的资料吧,一般都是用在那些地方的.......
OLLYDBG的用法去www.pediy.com上找有很多的
BAYNPU 2009-05-31
  • 打赏
  • 举报
回复
gzgzlxg这位是真正的老大.
suncheng_hong 2009-05-31
  • 打赏
  • 举报
回复
哪位是吕老大?可否指点一下。
killbug2004 2009-05-31
  • 打赏
  • 举报
回复
回ls
byte====>db
word====>dw
dword===>dd

居然能在这看到吕老大,有幸
goodider 2009-05-30
  • 打赏
  • 举报
回复
fs寄存器可以找到TEB PEB甚至默认堆的起始地址。
简单的计算方法 FS:[EAX]->TEB; TEB+30->PEB; TEB+18->默认堆地址
killbug2004 2009-05-30
  • 打赏
  • 举报
回复
FS寄存器指向当前活动线程的TEB结构(线程结构)
偏移 说明
000 指向SEH链指针
004 线程堆栈顶部
008 线程堆栈底部
00C SubSystemTib
010 FiberData
014 ArbitraryUserPointer
018 FS段寄存器在内存中的镜像地址
020 进程PID
024 线程ID
02C 指向线程局部存储指针
030 PEB结构地址(进程结构)
034 上个错误号

看看这个贴
http://bbs.pediy.com/showthread.php?t=86249
killbug2004 2009-05-30
  • 打赏
  • 举报
回复
push dword ptr fs:[eax] 将fs:[eax]所指向内存中的双字入栈
progneo 2009-05-30
  • 打赏
  • 举报
回复
如果我没记错的话 ,好象DW 是字, DD 是双字
gzgzlxg 2009-05-30
  • 打赏
  • 举报
回复
请LZ参见我以前在看雪发的【笑解 API 函数 -- API 绝密档案系列之一】中对fs的解释。
http://bbs.pediy.com/showthread.php?t=21959
光宇广贞 2009-05-30
  • 打赏
  • 举报
回复
顶二四楼
jyicai 2009-05-30
  • 打赏
  • 举报
回复
同意4楼
zdqcoffee 2009-05-30
  • 打赏
  • 举报
回复
同意4楼
leijianning 2009-05-30
  • 打赏
  • 举报
回复
同意4楼的
schlafenhamster 2009-05-30
  • 打赏
  • 举报
回复
FS常用于异常处理,这里是异常处理程序的指针入栈,以便STACK rewind。
killbug2004 2009-05-30
  • 打赏
  • 举报
回复
od当然可以查看,在寄存器显示的窗口中
EAX 00261EA4
ECX 00000001
EDX 00000002
EBX 7FFD8000
ESP 0013FB20
EBP 0013FC94
ESI 00261F18
EDI 00261EA4
EIP 7C92120F ntdll.7C92120F
C 0 ES 0023 32bit 0(FFFFFFFF)
P 0 CS 001B 32bit 0(FFFFFFFF)
A 0 SS 0023 32bit 0(FFFFFFFF)
Z 0 DS 0023 32bit 0(FFFFFFFF)
S 0 FS 003B 32bit 7FFDF000(FFF)
T 0 GS 0000 NULL
D 0
BAYNPU 2009-05-30
  • 打赏
  • 举报
回复
ollydbg 能查看fs 段寄存器吗?;可以查看。
suncheng_hong 2009-05-30
  • 打赏
  • 举报
回复
ollydbg 能查看fs 段寄存器吗?
cnzdgs 2009-05-30
  • 打赏
  • 举报
回复
fs是段寄存器(80386以上兼容CPU有此寄存器),[eax]表示用eax寄存器间接寻址(x86保护模式下可以用32位寄存器间接寻址),这条指令的含义就是把fs段中、以eax值作为偏移量的内存地址中的DWORD入栈。

21,458

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧