能力值:
( LV9,RANK:780 )
|
-
-
2 楼
看看这个
...
wsprintf(Temp, _T("%04x %04x"), *szBuffer, 16,16) ;
显示对话框:
0010 0010;
|
能力值:
( LV7,RANK:100 )
|
-
-
3 楼
哈, 谢啦, 朋友建议我用OD看下, 发现原因了.下面是wsprintf函数的调用,
wsprintf(Temp, _T("%0x %0x"), *szBuffer, MsgStruct.MsgHead.dwCmdId )
mov eax, [local.78]
push eax ; 此处为00000081为MsgStruct.MsgHead.dwCmdId 的值
movsx ecx, byte ptr ss : [ebp- 338]; [ebp - 338]为szBuffer的值81, 但是由于movsx指令是有符号数扩展, 所以高位以1填充, ecx = ffffff81
push ecx
push charrrom.00427161
lea edx, [local.334]
push edx
call dword ptr ds:[<&user32.wsprintf>]
所以显示的是ffffff81, 81
|
能力值:
( LV9,RANK:780 )
|
-
-
4 楼
哈哈,发现我的是错误的,多了个参数,没看清
|
|
|