反沙箱初探-函数实现4

就算沙箱能正确模拟了函数的行为,还不能保证不能根据此函数进行反沙箱。一些病毒会根据函数实现的opcode进行解密代码或者计算跳转执行的地址。如果沙箱和windows的api实现的opcode有差异的话,就可以以此来反沙箱。

样本在获取了SetTapePosition的地址后,取偏移为4的opcode进行运算,计算跳转地址,随后跳转至此执行代码。

图1 SetTapePosition

解决方案:将api模拟的opcode和原生api一致;打patch,让样本取到正确的opcode的值。第二种方式不够理想,如果取的偏移过大,那么将会影响沙箱的效率,况且很多api也会存在这样的问题,都打patch不现实。

hash:95e68ab53e00835565b8566c775dd6197273e4a1

相似的样本:91311b302db89469368dd815c414c1296c357df0,原理一致,只是取的偏移不同。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值