能力值:
( LV6,RANK:90 )
|
-
-
2 楼
call的转移地址的机器码是用目的地址-下一句的地址来表示的
同一句话在不同的地方都不同
|
能力值:
(RANK:860 )
|
-
-
3 楼
看了三遍,没有看懂你要表达的意思
call 0x00459924的机器码就是为E9 9C 00 00 00
并且这个指令也不叫做位移指令
是一个CALL 子程序,进入函数地址0x00459924的子程序中执行程序
“另外 转移目的地址在指令中的 CALL在OD中怎么写? ”这句话怎么读都不懂,
在OD中如果需要call另外的地址,只要反汇编当前的call之后的地址就可以了,它是自动转换成机器码,快捷键是"space"即空格
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
就是在OD中直接写 call 0x00459924 CALL代码地址是00459883 得到的机器码是E9 9C 00 00 00
E9代表call 9C 00 00 00 是位移
转移目的地址在指令中的CALL 就是机器码中包含目的的地址 就是不管当前EIP是多少直接执行这
个CALL 就跑到指定的地址了
例如
call dword ptr [459924] 机器码是 FF 15 24 99 45 00
FF15代表call 24994500目的地址
我要的就好比call far ptr
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
淡淡的 淡淡的
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
楼上正解
|
能力值:
( LV9,RANK:610 )
|
-
-
7 楼
在OD里直接写 call ds:[459924]
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
[QUOTE=blueapplez;757135]在OD里直接写 call ds:[459924][/QUOTE]
这个是目的地址在内存中
|
能力值:
( LV6,RANK:90 )
|
-
-
9 楼
push 459924
call [esp]
add esp,4
不然就只有在进程中申请内存,然后写入call地址后,诸如
call [12345678]
这种形式的call
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
E9 (目标地址-下一条指令地址)
下一条指令地址=(当前地址EIP+5)
|
能力值:
( LV6,RANK:90 )
|
-
-
11 楼
说白了就是你的这个要求目前无法满足,没有这样的指令
|
|
|