首页
社区
课程
招聘
处理缓冲区中的数据[求助]
发表于: 2005-3-27 15:31 4593

处理缓冲区中的数据[求助]

2005-3-27 15:31
4593
我使用win32汇编写了一个程序,我现在想对自己设置的缓冲区的数据进行操作。比如:我的缓冲区定义为buffer db 256 dup(?)现在缓冲区内存有字符串‘i love china’我想对这个字符串进行操作,我不知道缓冲区在内存中是以什么样的形式存放,高高低低原则/?如何对缓冲区中的每一个自己进行操作呢?
比如我想让缓冲区的字符与一个数值进行异或该如何做呢??谢谢大家,才鸟的问题,希望大家给予解答

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 1238
活跃值: (808)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
2
for(int i=0;i<strlen(buffer);i++){
         buffer[i] //在这里数值进行异
}
2005-3-28 10:49
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
我想写一段程序对一个缓冲区里的数据进行处理~程序是放在win32汇编里面的,下面是我的程序段

xor esi,esi
  xor eax,eax
     xor ebx,ebx
  mov bl,0f0h
  mov di,size keylogbuffer
  lea ecx,keylogbuffer
  @@:
     mov al,BYTE ptr [keylogbuffer+esi]
      xor al,bl
      rcr al,3
      mov bl,al
   
  
  mov BYTE ptr [ecx],bl
  inc ecx
  

      test di,di
      jz @F
      inc esi
      sub edi,1
      jmp @B
  @@:
  ret   
程序想要完成的功能:把缓冲区的数据以字节的方式进行处理,先与0f0h异或,结果循环右移3位,得到处理后的第一个字节,将处理后的字节重新写回缓冲区,然后用这个字节与下一字节进行异或在右移3位~~
一直循环下去
  

可以调试通过,但是好像问题是出在我没有正确的将处理的数据写回缓冲区~所以一直没有成功。请高手指点一下,谢谢了~困扰几天的问题
2005-3-29 23:09
0
雪    币: 270
活跃值: (176)
能力值: ( LV12,RANK:370 )
在线值:
发帖
回帖
粉丝
4
mov di,size keylogbuffer
修改成
mov di,sizeof keylogbuffer
试试,或者自己debug一下不就知道什么问题了吗
2005-3-30 00:44
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
感谢上面的兄弟,上面的问题我已经解决,但是我现在又有一个新问题,在汇编中写文件中哪个api函数可以实现以十六进制进行写呢??
2005-4-2 11:19
0
游客
登录 | 注册 方可回帖
返回
//