能力值:
( LV12,RANK:240 )
|
-
-
2 楼
mov byte ptr [0x12345678], 11
mov byte ptr [0x12345679], 22
mov byte ptr [0x1234567A], 33 等等
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
[QUOTE=bzhkl;549617]mov byte ptr [0x12345678], 11
mov byte ptr [0x12345679], 22
mov byte ptr [0x1234567A], 33 等等[/QUOTE]
只能这样一个字节一个字节的写啊。。。。。。。。要是数组很长怎么办呀
|
能力值:
( LV6,RANK:90 )
|
-
-
4 楼
__asm
{
mov eax, addr
lea ebx, b
mov edx, 6
l1:
mov cl, byte ptr [ebx]
mov byte ptr [eax], cl
inc eax
inc ebx
dec edx
test edx, edx
jne l1
}
注意保护寄存器。
|
能力值:
( LV7,RANK:100 )
|
-
-
5 楼
用串操作:
mov esi,offset b
mov edi, addr
mov ecx,sizeof b
rep movsb
这个是不是很简单!!!!!
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
只怪当年没好好学。。。原来这就是串操作。。。。
当时以为没用
 (不过当时感觉好像不是重点) 感谢几位的热心回复
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
暗夜盗魔 兄,,你这样写的是伪代码,,,
具体怎么写。。还真不会写啊
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
RtlMoveMemory(addr, b, 6);
|
能力值:
( LV7,RANK:100 )
|
-
-
9 楼
那个不能用么??
我貌似写的不是伪代码,呵呵!!!
只是那个addr是汇编的关键字,当做变量可能会有问题!!
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
mov esi,offset b
这句应该不能这样写吧。。。
(VC内联汇编!!)
|
能力值:
( LV7,RANK:100 )
|
-
-
11 楼
下面是个例子,可以正常运行,楼主试试!!
#include "stdafx.h"
#include "windows.h"
#include "WinDef.h"
#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{ BYTE yan[5];
BYTE b[]={0x31,0x32,0x33,0x34,0x00};
_asm
{
lea esi,b
lea edi,yan
mov ecx,5
rep movsb
}
cout << b<<endl;
cout << yan<<endl;
return 0;
}
|
能力值:
( LV3,RANK:20 )
在线值:
|
-
-
12 楼
顶,学习了。。。。。。。。。。。。。。。。
|
|
|