请问这样分析下面这段反汇编代码?

捕鲸叉 2009-02-03 07:49:03
kd> uf KeQueryPerformanceCounter
hal!KeQueryPerformanceCounter:
806f474a 8bff mov edi,edi
806f474c 55 push ebp
806f474d 8bec mov ebp,esp
806f474f 5d pop ebp
806f4750 ff2538a36f80 jmp dword ptr [hal!HalpHeapStart+0xc (806fa338)]

hal!HalpPmTimerQueryPerfCount:
806f5dd0 56 push esi
806f5dd1 a1d0a06f80 mov eax,dword ptr [hal!QueryTimer (806fa0d0)]
806f5dd6 ffd0 call eax
806f5dd8 8b0dbca06f80 mov ecx,dword ptr [hal!TimerInfo+0x14 (806fa0bc)]
806f5dde 8b35c0a06f80 mov esi,dword ptr [hal!TimerInfo+0x18 (806fa0c0)]
806f5de4 03c1 add eax,ecx
806f5de6 13d6 adc edx,esi
806f5de8 8b4c2408 mov ecx,dword ptr [esp+8]
806f5dec 0bc9 or ecx,ecx
806f5dee 7504 jne hal!HalpPmTimerQueryPerfCount+0x24 (806f5df4)

hal!HalpPmTimerQueryPerfCount+0x20:
806f5df0 5e pop esi
806f5df1 c20400 ret 4

hal!HalpPmTimerQueryPerfCount+0x24:
806f5df4 8b35d4a56f80 mov esi,dword ptr [hal!PMTimerFreq (806fa5d4)]
806f5dfa 8931 mov dword ptr [ecx],esi
806f5dfc c7410400000000 mov dword ptr [ecx+4],0
806f5e03 5e pop esi
806f5e04 c20400 ret 4


上面的jmp dword ptr [hal!HalpHeapStart+0xc (806fa338)]是什么意思?跳到另一个函数不是起点的地方?
...全文
112 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
fjwyshan 2009-02-03
  • 打赏
  • 举报
回复
up
noenoughmemory 2009-02-03
  • 打赏
  • 举报
回复
up
attributemismatch 2009-02-03
  • 打赏
  • 举报
回复
up
noenoughmemory 2009-02-03
  • 打赏
  • 举报
回复
up
cnzdgs 2009-02-03
  • 打赏
  • 举报
回复
jmp dword ptr [hal!HalpHeapStart+0xc (806fa338)]
这是一条跳转指令,目标地址在一个DWORD型变量中,该变量的地址是806fa338,变量是在hal模块中HalpHeapStart标号再加12字节的位置。
RainbowMink 2009-02-03
  • 打赏
  • 举报
回复

看是大概看的懂.. 不过就不给翻译了.. 怕丢人! 顶贴关注一下! 看看高手们分析的和偶分析是不是一样!
=========================================
上面的jmp dword ptr [hal!HalpHeapStart+0xc (806fa338)]是什么意思?跳到另一个函数不是起点的地方?
==========
跳到该函数的首地址去执行.
捕鲸叉 2009-02-03
  • 打赏
  • 举报
回复
是不是我的调试器有问题?
捕鲸叉 2009-02-03
  • 打赏
  • 举报
回复
kd> u 806fa338
hal!HalpHeapStart+0xc:
806fa338 d05d6f rcr byte ptr [ebp+6Fh],1
806fa33b 806e476f sub byte ptr [esi+47h],6Fh
806fa33f 802600 and byte ptr [esi],0
806fa342 0000 add byte ptr [eax],al
806fa344 26 ???
806fa345 260000 add byte ptr es:[eax],al
806fa348 260000 add byte ptr es:[eax],al
806fa34b 006000 add byte ptr [eax],ah

也看不明白

请大侠指导我这个汇编的初学者

21,500

社区成员

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

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