jmp 远跳转绝对地址是怎么计算的?

VirtualRookit 2011-03-23 06:27:35
010BCDF3 6A 00 push 0
010BCDF5 6A 00 push 0
010BCDF7 6A 00 push 0
010BCDF9 6A 00 push 0
010BCDFB 68 03 CE 0B 01 push offset label_1 (10BCE03h)
010BCE00 FF 65 EC jmp dword ptr [hProc]
label_1:


//如上代码 hProc为MessageBoxA的地址..请问
010BCE00 FF 65 EC jmp dword ptr [hProc]
单步执行后如下:
76C4EA71 8B FF mov edi,edi
76C4EA73 55 push ebp

问: 绝对跳转地址新EIP(76C4EA71)是怎么由旧EIP(010BCE00 FF 65 EC)计算出来的?
就是绝对地址的计算方法(别讲些相对地址的计算方法,这个我懂)。哪位大牛给指点下,谢谢。
...全文
325 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
VirtualRookit 2011-03-29
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 zara 的回复:]
FF 65 EC jmp dword ptr [hProc] 指令,hProc 是个局部变量,此前就已经计算好了目标地址存放到这个变量里了;这个 jmp 指令只是直接拿这个目标地址来进行转移而已。具体怎么计算的,要看更前面的对 hProc 变量的赋值来源。
[/Quote]

sorry 你说得对,是我理解错了。感谢咯。
VirtualRookit 2011-03-24
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 zara 的回复:]
FF 65 EC jmp dword ptr [hProc] 指令,hProc 是个局部变量,此前就已经计算好了目标地址存放到这个变量里了;这个 jmp 指令只是直接拿这个目标地址来进行转移而已。具体怎么计算的,要看更前面的对 hProc 变量的赋值来源。
[/Quote]

并非如此hProc哪是MessageBoxA在Kernel32.dll里的地址,值即为7xxxxxxx..,所以并非你说的那样,请教牛人intel x86系列 jmp远跳转,绝对地址,机器码为EC XX(jmp)..XX究竟是怎么算的
zara 2011-03-24
  • 打赏
  • 举报
回复
FF 65 EC jmp dword ptr [hProc] 指令,hProc 是个局部变量,此前就已经计算好了目标地址存放到这个变量里了;这个 jmp 指令只是直接拿这个目标地址来进行转移而已。具体怎么计算的,要看更前面的对 hProc 变量的赋值来源。
内容概要:本文档详细配置了一个基于AI的CAD/CAE技术支持智能体,通过线性节点工作流实现从用户提问到专业答复的闭环处理。系统由用户输入、知识检索、大语言模型(LLM)推理和直接回复四个节点构成,强调严格依据知识库内容响应,禁止模型“幻觉”。核心要求包括:在回答前识别工程逻辑矛盾、仅使用【SolidWorks装配体操作规范】.txt中的信息作答、操作步骤需条理清晰并包含安全警示。特别强调变量绑定与上下文占位符{{#context#}}的正确配置,以确保模型可读取知识库。提供了完整的System Prompt模板、变量设置指引及常见问题排查表,并通过典型测试用例验证智能体是否能正确识别矛盾并拒绝不合理请求。; 适合人群:AI平台运维人员、工业软件技术支持工程师、智能制造领域AI应用开发者;具备基本AI工作流编排经验的技术人员。; 使用场景及目标:①构建高可靠性的工程软件问答智能体,防止生成误导性操作指导;②实现对CAD/CAE操作问题的合规化、标准化自动响应;③训练模型识别用户请求中的工程逻辑矛盾,提升服务安全性与专业性。; 阅读建议:部署时须严格按照文档步骤完成知识库上传、变量绑定与提示词占位符插入,重点检查{{#context#}}是否存在以及result变量是否正确关联,避免因配置疏漏导致智能体失效或产生幻觉。

9,513

社区成员

发帖
与我相关
我的任务
社区描述
Windows专区 安全技术/病毒
社区管理员
  • 安全技术/病毒社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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