首页
社区
课程
招聘
[求助]wsprintf函数?
2012-11-22 19:03 9052

[求助]wsprintf函数?

2012-11-22 19:03
9052
如下:
szFormat        db        '%X,%X,%X,%X,%X,%X',0
LOCAL        @szB[18]:byte
invoke        wsprintf,addr @szBuffer,addr szFormat,@szB[0],@szB[1],@szB[2],@szB[3],@szB[4],@szB[5]
如上代码,本来打算将数组@szB的18个元素以16进制输出的(每个数据均是一个字节),但是在调用了wsprintf函数之后,一直出错,如果把LOCAL        @szB[18]:byte改为LOCAL        @szB[18]:dword,那么输出将一直出现比较乱的码值,比如输出是CB9B7B5,480CB9B7,23480CB9,2C23480C,492C2348,79492C23,请问是为什么?
在win32汇编下怎样把一字节数组元素以16进制输出,请问?

[CTF入门培训]顶尖高校博士及硕士团队亲授《30小时教你玩转CTF》,视频+靶场+题目!助力进入CTF世界

收藏
点赞0
打赏
分享
最新回复 (5)
雪    币: 5
活跃值: (144)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
inkwing 2012-11-22 20:23
2
0
XOR EBX,EBX            
invoke wsprintf,addr szBuffer,addr @szFormat,addr @szB[ebx],addr @szB[ebx+1],addr @szB[ebx+2],…
这样试试呢?手机打的,你自己补全
雪    币: 5
活跃值: (144)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
inkwing 2012-11-22 20:35
3
0
说错了。参数需要是dword型,局部变量没有初始化
雪    币: 249
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
风雨声 2012-11-22 20:39
4
0
个人表示试了下不行:
XOR EBX,EBX            
invoke wsprintf,addr szBuffer,addr @szFormat,addr @szB[ebx],addr @szB[ebx+1],addr @szB[ebx+2],…
而且感觉addr @szB[ebx]必然输出的是@szB的某个元素的地址,以十六进制方式输出。
雪    币: 134
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wrgg 2012-11-22 21:13
5
0
wsprintf不是双字节吗
雪    币: 5
活跃值: (144)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
inkwing 2012-11-23 10:56
6
0
参数应该是@szB[],不是addr @szB[]
游客
登录 | 注册 方可回帖
返回