关于 汇编时的跳转问题
来源:百度知道 编辑:UC知道 时间:2024/05/17 05:23:16
我用OD载入程序
有这么一段
0040456A 74 36 je short 004045A2
0040456C A1 90664000 mov eax, dword ptr [406690]
00404571 50 push eax
00404572 A1 8C664000 mov eax, dword ptr [40668C]
00404577 E8 20EEFFFF call 0040339C
我想把这段跳转到0区域 然后在 00404577 处跳回来
0区域是 0040470A 0000 add byte ptr [eax], al
我在0区域输入 je short 004045A2时
提示: 相对跳转超出范围,使用 JE LONG 格式
这是什么问题 有谁能回答我下吗
我想在0区域 输入 je short 004045A2
有办法吗 怎么解决??
谢谢!
当我输入JE LONG 004045A2时
汇编就变成了 JE 004045A2
我见程序里有许多 je short类型 不知道怎么回事
迷糊
有这么一段
0040456A 74 36 je short 004045A2
0040456C A1 90664000 mov eax, dword ptr [406690]
00404571 50 push eax
00404572 A1 8C664000 mov eax, dword ptr [40668C]
00404577 E8 20EEFFFF call 0040339C
我想把这段跳转到0区域 然后在 00404577 处跳回来
0区域是 0040470A 0000 add byte ptr [eax], al
我在0区域输入 je short 004045A2时
提示: 相对跳转超出范围,使用 JE LONG 格式
这是什么问题 有谁能回答我下吗
我想在0区域 输入 je short 004045A2
有办法吗 怎么解决??
谢谢!
当我输入JE LONG 004045A2时
汇编就变成了 JE 004045A2
我见程序里有许多 je short类型 不知道怎么回事
迷糊
把JESHOR改为je就是了。
0区域?
不行你找其他空的地址好了,最好也是代码段的,不然要被DEP
那是16位程序留下来的问题
在16程序中存在远跳转的问题
如:call ES:1245H
那样的话,CS也要入栈
而:CALL S只要IP进栈则可
显然,后面那种方法不怎么远...
你那软件可能是这样类似区分的
看不出来那里有问题