首页
社区
课程
招聘
[已解决] [悬赏]已知 IDA中 TST R1, #1可以在代码中还原成 &0xff 如果换成LSLS呢 100.00雪花
发表于: 2017-12-19 02:48 2992

[已解决] [悬赏]已知 IDA中 TST R1, #1可以在代码中还原成 &0xff 如果换成LSLS呢 100.00雪花

2017-12-19 02:48
2992
某自定义校验算法中。 TST  R1, #1           F5之后 看到 的是 a&1 
 还原成高级代码是 a=a&0xff   
是为了取低8位
那如果 LSLS   R1, R1, #0x1F    F5之后看到的是  a<<31  
应当如何还原到高级代码中 。因为可能会导致溢出?或者影响符号位?

F5截图如下


[培训]科锐逆向工程师培训第53期2025年7月8日开班!

上传的附件:
  • 1.png (173.02kb,0次下载)
收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 172
活跃值: (1659)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
2
就是a<<31啊,看你的反编译代码a是BYTE类型,a=a<<31结果都是0
2017-12-19 08:43
0
雪    币: 14
活跃值: (54)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
3
位运算和溢出没关系的把?至于符号位,是看该指令是否会更新符号位把...不是根据值来的,是根据指令...
  另外,TST    R1,  #1是不影响R1的本身值的,只改变符号位,(arm汇编应该是一样的把??x86test是这样的),  不知道为什么你的取低8位会翻译成TST    R1,  #1....
2017-12-19 09:11
0
雪    币: 3756
活跃值: (2749)
能力值: ( LV7,RANK:105 )
在线值:
发帖
回帖
粉丝
4
估计F5不太准,最好把文件发上来
2017-12-19 10:41
0
游客
登录 | 注册 方可回帖
返回