首页
社区
课程
招聘
[求助]windows内存表示
发表于: 2009-6-27 12:31 3790

[求助]windows内存表示

2009-6-27 12:31
3790
8b ff 55 8b ec e9 49 b2 94 77   这段在windows内存中表示是唯一的吗? 每个都对应一个汇编指令? 这段翻译成汇编是什么?

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 75
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
8BFF  mov edi,edi
55  push ebp
8BEC  mov ebp,esp
E9  jmp xxxxxxxx   这里需要计算
2009-6-27 12:56
0
雪    币: 267
活跃值: (438)
能力值: ( LV9,RANK:190 )
在线值:
发帖
回帖
粉丝
3
需要E9  jmp xxxxxxxx的地址!
比如:
虚拟地址        机器码           汇编指令
0x00000000    8BFF                  mov edi,edi
0x00000002    55                      push ebp
0x00000003    8BEC                  mov ebp,esp
0x00000005    E949b29477      jmp xxxxxxxx   这里需要计算

那么xxxxxxxx的值是:0x00000005(虚拟地址)+5(机器码:E949b29477用了5字节,所以加5。计算到这里就是获取jmp指令的下一个指令的虚拟地址)+0x7794b249(虚拟地址0x00000006的一个4字节数据,c语言可以这样获取:*(int*)0x00000006)

其实xxxxxxxx的值是:jmp xxxxxxxx   指令完成地址结束地址到将要跳转的地址的偏移量!只要理解:jmp xxxxxxxx   里的xxxxxxxx是一个偏移量,然后理解这个偏移量是什么跟什么的偏移量,就可以了!
2009-6-28 20:18
0
雪    币: 267
活跃值: (438)
能力值: ( LV9,RANK:190 )
在线值:
发帖
回帖
粉丝
4
也可以这样理解:
执行:mov edi,edi指令后:eip的值是:eip+2
执行:push ebp指令后:eip的值是:eip+1
执行:mov ebp,esp指令后:eip的值是:eip+2
执行:jmp xxxxxxxx   指令后:eip的值是:eip+xxxxxxxx+5
呵呵!我还是菜鸟,我是这样理解的,如果我的理解有错误的地方就请指教。
2009-6-28 20:28
0
游客
登录 | 注册 方可回帖
返回
//