首页
课程
问答
CTF
社区
招聘
峰会
发现
排行榜
知识库
工具下载
看雪20年
看雪商城
证书查询
登录
注册
首页
社区
课程
招聘
发现
问答
CTF
排行榜
知识库
工具下载
峰会
看雪商城
证书查询
社区
软件逆向
发新帖
1
0
[求助]CPU乱序执行问题???
发表于: 2015-10-17 10:20
5916
[求助]CPU乱序执行问题???
wmhnq
2015-10-17 10:20
5916
看到一篇关于函数可重入的文章,提到了CPU可能乱序执行。
文章如下:
但偶一直调试的时候发现指令都是一条一条往下执行的。
有什么方法可以调试,单步调试指令的时候看的出这种乱序执行吗???
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)
上传的附件:
0.PNG
(53.60kb,9次下载)
1.PNG
(62.81kb,5次下载)
收藏
・
1
免费
・
0
支持
分享
分享到微信
分享到QQ
分享到微博
赞赏记录
参与人
雪币
留言
时间
查看更多
赞赏
×
1 雪花
5 雪花
10 雪花
20 雪花
50 雪花
80 雪花
100 雪花
150 雪花
200 雪花
支付方式:
微信支付
赞赏留言:
快捷留言
感谢分享~
精品文章~
原创内容~
精彩转帖~
助人为乐~
感谢分享~
最新回复
(
8
)
NutCracker
雪 币:
39
活跃值:
(2896)
能力值:
( LV2,RANK:10 )
在线值:
发帖
5
回帖
193
粉丝
8
关注
私信
NutCracker
2
楼
函数重入是多线程。
你先实现多线程,再在函数首地址设断点,就可以观察到了。
2015-10-17 11:01
0
Rprop
雪 币:
878
活跃值:
(496)
能力值:
( LV3,RANK:20 )
在线值:
发帖
35
回帖
743
粉丝
12
关注
私信
Rprop
3
楼
函数重入, 应该不是LZ所想的指令级别乱序, 而是指多线程.后者开多个线程就可以调试出, 前者估计要借助cpu厂商的特殊工具
2015-10-17 11:03
0
乙酸乙酯
雪 币:
11
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
13
回帖
51
粉丝
0
关注
私信
乙酸乙酯
4
楼
汇编RDTSC指令
2015-10-17 11:23
0
xiaohouhui
雪 币:
96
活跃值:
(36)
能力值:
( LV4,RANK:50 )
在线值:
发帖
9
回帖
155
粉丝
2
关注
私信
xiaohouhui
1
5
楼
你的这本书不怎么样,会把人带的走火入魔的,就算加上barrier这个东西也是有bug,虽然我不懂barrier是什么东西
2015-10-17 13:14
0
乙酸乙酯
雪 币:
11
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
13
回帖
51
粉丝
0
关注
私信
乙酸乙酯
6
楼
CPU的乱序执行是指CPU执行未完一条指令就立即执行下一条指令的功能。如:
1-NOP
2-MOV EAX,[12345678]
3-MOV EBX,87654321
4-XOR EAX,EAX
当执行第二条指令的时候,需要访问内存,而内存的速度远低于CPU,这个时候CPU就要等待,这是不划算的。CPU探测到第二条指令和第三条并不存在依赖关系,先执行第二条还是第三条并不重要,反正结果一样,所以趁着第二条指令访问内存的时候执行第三条指令。这就叫做乱序执行。
2015-10-17 13:49
0
xiaohouhui
雪 币:
96
活跃值:
(36)
能力值:
( LV4,RANK:50 )
在线值:
发帖
9
回帖
155
粉丝
2
关注
私信
xiaohouhui
1
7
楼
[QUOTE=乙酸乙酯;1397236]CPU的乱序执行是指CPU执行未完一条指令就立即执行下一条指令的功能。如:
1-NOP
2-MOV EAX,[12345678]
3-MOV EBX,87654321
4-XOR EAX,EAX
当执行第二条指令的时候,需要访问内存,而内存的速度远低于CPU,这个时候CPU就要等待,这是不...[/QUOTE]
这个是cpu流水线优化,和LZ遇到的问题有些距离的
2015-10-17 14:22
0
jpacg
雪 币:
86
活跃值:
(2465)
能力值:
( LV2,RANK:10 )
在线值:
发帖
3
回帖
58
粉丝
3
关注
私信
jpacg
8
楼
你想多了,只有一种情况,就是先执行构造函数才会赋值。
2015-10-17 15:38
0
爱鸟
雪 币:
245
活跃值:
(93)
能力值:
( LV6,RANK:80 )
在线值:
发帖
21
回帖
318
粉丝
1
关注
私信
爱鸟
1
9
楼
单步调试设置TF位,它的工作原理其实是发生一次single step exception,而乱序执行保证,在发生异常的时候现场要和顺序执行一致(至于怎么一致,那就是处理器实现了),所以此时你是看不到一条指令以外的乱序的。
2015-10-18 09:38
0
游客
登录
|
注册
方可回帖
回帖
表情
雪币赚取及消费
高级回复
返回
wmhnq
30
发帖
71
回帖
10
RANK
关注
私信
他的文章
[求助]虚拟内存也占用空间吗???
3707
[求助]CPU乱序执行问题???
5917
[求助]脱壳DLL文件加的ASPack?
5281
[求助]hboehm gc怎么编译成windows VC上可用的dll或者lib
3515
[求助].data区段问题???
3949
关于我们
联系我们
企业服务
看雪公众号
专注于PC、移动、智能设备安全研究及逆向工程的开发者社区
谁下载
×
netprodiag
buaalgh
wgejydy
xiaohouhui
掌心的呵护
mratlatsn
bigshoe
钱串子
谁下载
×
wmhnq
爱鸟
btmanbtman
Congee
看原图
赞赏
×
雪币:
+
留言:
快捷留言
为你点赞!
返回
顶部