首页
社区
课程
招聘
关于汇编::这是从哪里跳来的?
发表于: 2005-1-17 18:00 3853

关于汇编::这是从哪里跳来的?

2005-1-17 18:00
3853
刚刚反汇编了CPU-Z,有点搞不懂

* Possible StringData Ref from Data Obj ->"Intel Pentium III EB"
                                  |
:0042D650 BF9C8D4500              mov edi, 00458D9C
:0042D655 83C9FF                  or ecx, FFFFFFFF
:0042D658 33C0                    xor eax, eax
:0042D65A F2                      repnz
:0042D65B AE                      scasb
:0042D65C F7D1                    not ecx
:0042D65E 2BF9                    sub edi, ecx
:0042D660 8BD1                    mov edx, ecx
:0042D662 8BF7                    mov esi, edi
:0042D664 8BFD                    mov edi, ebp
:0042D666 C1E902                  shr ecx, 02
:0042D669 F3                      repz
:0042D66A A5                      movsd
:0042D66B 8BCA                    mov ecx, edx
:0042D66D 83E103                  and ecx, 00000003
:0042D670 F3                      repz
:0042D671 A4                      movsb
:0042D672 E9B4000000              jmp 0042D72B

* Possible StringData Ref from Data Obj ->"Intel Celeron"
                                  |
:0042D677 BF988C4500              mov edi, 00458C98
:0042D67C 83C9FF                  or ecx, FFFFFFFF
:0042D67F 33C0                    xor eax, eax
:0042D681 F2                      repnz
:0042D682 AE                      scasb
========================================================
:0042D671 A4                      movsb
:0042D672 E9B4000000              jmp 0042D72B
42D672已经是跳到了42D72B去了,而且也没有语句跳到42D677处
但是如果满足条件的话还是会执行的,但就是不知是从哪跳来的,
高手可否解释一下? (语文不好,意思说不清 :( )

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 313
活跃值: (440)
能力值: ( LV12,RANK:530 )
在线值:
发帖
回帖
粉丝
2
有些跳转是通过寄存器实现的,所以没有显示,要在运行的时候才可以跳过来。。。
2005-1-17 18:08
0
雪    币: 288
活跃值: (415)
能力值: ( LV9,RANK:290 )
在线值:
发帖
回帖
粉丝
3
最初由 4nil 发布
有些跳转是通过寄存器实现的,所以没有显示,要在运行的时候才可以跳过来。。。

EIP(Instruction pointer, 指令指针)则指向该段中一个具体的指令. CS:EIP指向哪个指令, CPU 就执行它. 一般只能用jmp, ret,jnz, call 等指令来改变程序流程,而不能直接对它们赋值.
以上是"汇编语言的准备知识(转) By yaolj(于2004-2-17发表)"这编文章里面的
EIP好像是不可直接改的吧?
可否举个例子?谢谢你的解释
2005-1-17 18:13
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
想学习学习再学习
2005-1-17 18:24
0
雪    币: 313
活跃值: (440)
能力值: ( LV12,RANK:530 )
在线值:
发帖
回帖
粉丝
5
他有可能是把地址载到EAX,然后call eax.
我也不是很懂汇编的。。只是看到过这么用的。
我想这样的话,静态看应该是看不到是从哪里跳来的。
2005-1-17 18:37
0
雪    币: 390
活跃值: (707)
能力值: ( LV12,RANK:650 )
在线值:
发帖
回帖
粉丝
6
jmp eax
jmp [eax]
...
...
2005-1-17 18:41
0
雪    币: 313
活跃值: (440)
能力值: ( LV12,RANK:530 )
在线值:
发帖
回帖
粉丝
7
最初由 firstrose 发布
jmp eax
jmp [eax]
...
...

恩,就是这样的。。。
2005-1-17 19:28
0
游客
登录 | 注册 方可回帖
返回
//