首页
社区
课程
招聘
[求助]如何按照每4bit一位去取数据?
发表于: 2009-11-13 20:14 4545

[求助]如何按照每4bit一位去取数据?

2009-11-13 20:14
4545
例如:

有一数组:

内容是:
0x9A, 0xA9, 0xCA, 0xFF, 0xFF, 0xBF, 0x9C, 0xAB, 0x9A, 0xA9, 0xFF, 0xFF, 0x9B

把他看成:
9AA9CAFFFFBF9CAB9AA9FFFF9B

每4bit一位去取

9AA9CAFFFFBF9CAB9AA9FFFF9B
0123456789..............................

例如我要读第5位
9AA9CAFFFFBF9CAB9AA9FFFF9B

第5位就是A

或者

9AA9CAFFFFBF9CAB9AA9FFFF9B
第8位就是

不知怎么计算它,会的可以帮忙一下吗?谢谢!


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (8)
雪    币: 419
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
读第5位

假设 ESI为数组的指针
mov al,byte ptr [esi+2]
and eax,0fh
2009-11-13 20:24
0
雪    币: 221
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
这我当然知道

我想做的是一个通用的函数
2009-11-13 23:47
0
雪    币: 419
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
xor     eax, eax
  xor     ecx, ecx
@@:
  mov     al, byte ptr [edx]
  mov     cl, byte ptr [edx]
  and     eax, 0F
  shr     ecx, 4
   inc     edx
  cmp     byte ptr [edx], 0
  jne @B
2009-11-14 13:51
0
雪    币: 221
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
这个数组指针,你如何去确定呢?
2009-11-14 15:30
0
雪    币: 146
活跃值: (182)
能力值: ( LV13,RANK:220 )
在线值:
发帖
回帖
粉丝
6
mov edx,offset @shu
2009-11-14 15:38
0
雪    币: 419
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
我有点晕了
。。。。。。。
2009-11-14 16:34
0
雪    币: 221
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
我问的就是数组指针,其他的没问题,,,
2009-11-14 18:27
0
雪    币: 221
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
问题已解决

谢谢大家!
2009-11-14 19:32
0
游客
登录 | 注册 方可回帖
返回
//