能力值:
( LV3,RANK:20 )
|
-
-
2 楼
用rep loads啊。。。
或者先移动一下esp...然后用rep movs都行。。
|
能力值:
( LV9,RANK:210 )
|
-
-
3 楼
不就是wsprintfA(pBuffer, "%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x",
(DWORD)pBYTE[0], (DWORD)pBYTE[1], (DWORD)pBYTE[2], (DWORD)pBYTE[3], (DWORD)pBYTE[4], (DWORD)pBYTE[5], (DWORD)pBYTE[6], (DWORD)pBYTE[7], (DWORD)pBYTE[8], (DWORD)pBYTE[9], (DWORD)pBYTE[10], (DWORD)pBYTE[11], (DWORD)pBYTE[12], (DWORD)pBYTE[13], (DWORD)pBYTE[14], (DWORD)pBYTE[15], (DWORD)pBYTE[16]);
pBuffer = edi = 0x9F0B208
pBYTE = [esp+0xF8]
功能貌似是对单字节字符转化为双字节字符,高位字节补0
用字符串操作指令来写的话貌似很麻烦,用循环感觉比较简单
mov esi, [esp+0xF8]
mov edi, 0x9F0B208
mov ecx, 16
Loop1:
movzx ax, BYTE ptr [esi]
mov [edi], ax
inc esi
inc edi
inc edi
loop Loop1
|
能力值:
( LV3,RANK:20 )
|
-
-
4 楼
[QUOTE=organic;1241585]不就是wsprintfA(pBuffer, "%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x",
(DWORD)pBYTE[0], (DWORD)pBYTE[1], (DWORD)pBYTE[2], (DWORD)p...[/QUOTE]
对的就是这玩意 不过这样写不觉得很麻烦么
|
能力值:
( LV3,RANK:20 )
|
-
-
5 楼
初学 我想过用dec ecx cmp ecx来实现
搞了半天容易出错
|
能力值:
( LV9,RANK:210 )
|
-
-
6 楼
代码给你补上面了
|
能力值:
( LV11,RANK:180 )
|
-
-
7 楼
lea esi, [esp+0xF8]
mov edi, 0x9F0B208
mov ecx, 17
xor eax, eax
:loop1
lodsb
stosd
loop loop1
|
|
|