能力值:
( LV2,RANK:10 )
|
-
-
2 楼
DWORD PTR
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
好像还是报那个错误
|
能力值:
( LV5,RANK:60 )
|
-
-
4 楼
使用寄存器传值
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
这个可以有,不过 可以直接修改用上面那段操作执行吗,那个报错 我看不懂
|
能力值:
( LV5,RANK:71 )
|
-
-
6 楼
Dels2:
pop ebx;为什么pop,没看懂
lea edx, [ebx +szText -Dels] ; edx = szText
ret
改为
Dels2:
pop ebx
lea eax,szText
mov ebx,Dels
lea edx, [ebx +eax -ebx] ; edx = szText
ret
试试,其他的自己想办法。
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
[QUOTE=joker陈;1236492]Dels2:
pop ebx;为什么pop,没看懂
lea edx, [ebx +szText -Dels] ; edx = szText
ret
改为
Dels2:
pop ebx
lea eax,szText
mov ebx,Dels
...[/QUOTE]
pop ebx是用寄存器ebx存储之前call Dels2的下一条指令地址,整个代码是进行代码重定位,是为了在代码任何一个地址可以取到自己自定义的变量,如szText db '....',0
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
无意中改成了这样 OD里调试了一下就对了
只修改这一句:lea edx, [ebx]+[szText-Dels]
真奇怪 不知道咋搞的
|
能力值:
( LV3,RANK:25 )
|
-
-
9 楼
call @f
@@:
pop ebp
sub ebp,@b
lea edx,[ebp + szText] ; edx = szText
ret
一般是这么用
|
能力值:
( LV5,RANK:71 )
|
-
-
10 楼
呵呵,没怎么用汇编写代码。e8 00 00 00 00,哈哈,这个看的多。
|
|
|